自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (7)
  • 收藏
  • 关注

原创 FPGA-Verilog多功能数字时钟

一.数字时钟设计1.硬件资源:共阴极数码管一块,FPGA开发板一块(EP4CE40F23C8);2. 开发板资源:3颗独立按键,数码管接口;3. 功能设计:三种功能:a.时钟功能;b.校时功能;4. 按键功能设计:按键调整数字时钟分钟显示;1.数字时钟顶层模块RTL视图1) 说明:这个为数字时钟的顶层模块,按键消抖模块xd,计数模块分秒CNT59,时CNT24,数码管显示sz,时间模块div;2)...

2018-05-13 12:02:33 45622 31

原创 C语言系列--数组&字符串&结构体&共用体&枚举

数组&字符串&结构体&共用体&枚举特此声明:本文档皆总结于朱友鹏老师《C语言专题精讲篇》一、程序中内存1、程序执行需要内存支持对程序来说,内存就是程序的立足之地(程序是被放在内存中运行的);程序运行时需要内存来存储一些临时变量。 2、内存管理最终是由操作系统完成的(1)内存本身在物理上是一个硬件器件,由硬件系统提供。(2)内存是由操作系统统一管理。为了内存管

2017-03-02 14:50:30 1390

原创 三极管做开关管的总结(理解三极管)

       大学时,老师就告诉模电重要,确实重要,可是如何学好模电那,我觉得三极管很重要,三极管学会了,再不深究的情况下,mos管我们也能运用自如。我们不要想着去学,要想着去用,为什么要学三极管,是因为我们设计电路时要去用三极管我一直在想一个软件工程师和一个硬件工程师对电路的理解差别是什么。那就是软件工程师只在意电压,我们会经常发现嵌入式软件工程师会总说多少伏多少伏的。而一个硬件工程师我

2016-11-21 23:05:15 21460 8

转载 嵌入式Linux ARM汇编(四)——ARM汇编程序设计

汇编程序有顺序、循环、分支、子程序四种结构形式。一、顺序结构程序实例:AREA Buf,DATA,READWRITE;定义数据段BufArrayDCB 0x11,0x22,0x33,0x44;定义12个字的数组Array  DCB 0x55,0x66,0x77,0x88DCB 0x00,0x00,0x00,0x00AREA hello,CODE32,READON

2016-11-08 22:59:00 5079

原创 嵌入式linux面试题解析——Linux应用编程部分

1、TCP与UDP的区别    TCP:是面向连接的流传输控制协议,具有高可靠性,确保传输数据的正确性,有验证重发机制,不会出现丢失或乱序。    UDP:是无连接的数据报服务,不对数据报进行检查与修改,无须等待对方的应答,会出现分组丢失、重复、乱序,但具有较好的实时性,UDP段结构比TCP的段结构简单,因此网络开销也小。 2、流量控制和拥塞控制    拥塞控制

2016-11-07 20:10:32 1100

原创 嵌入式linux开发面试题解析——C语言部分

1、编写统计一个数二进制表示中有多少个1的函数        int count_bit1(int m)        {     int count = 0;     while(m)     {     m = m & (m-1);     count++;      }    return count;        } 2、编写一个函

2016-11-07 19:55:42 3132

转载 嵌入式linux面试题解析——ARM部分

1、FIQ比IRQ快的原因:A、FIQ模式的R8--R14寄存器是独有的,FIQ处理程序可以不必执行保存和恢复中断现场的指令。B、FIQ可以将ISR直接放在FIQ后面的地址空间,不需要跳转。2、中断与异常有何区别    异常在处理的时候必须考虑与处理器的时钟同步,实际上异常也称为同步中断,在处理器执行到因编译错误而导致的错误指令时,或者在执行期间出现特殊错误,必

2016-11-07 19:51:45 12666

转载 QT开发环境搭建

一、Windows系统QT开发环境搭建操作系统:Windows 7QT Creator:qt-creator-win-opensource-2.4.1QT SDK:qt-win-opensource-4.7.4-mingw1、安装QT Creator点击qt-creator-win-opensource-2.4.1源程序安装。2、安装QT SDK点击

2016-11-07 19:41:29 1032

原创 AD9516-1时钟芯片配置

特性:VCO频率范围:1750Mhz~2250Mhz,6对LVPECL(最大输出频率1.6Ghz)输出和4对LVDS输出(800Mhz)。内部结构:         如下图所示,常用引脚说明:REF1:参考输入1,REF2:参考输入2,REF_SEL:选择是参考输入1或者参考输入2LF:环路滤波器输出,使用内部VCO时使用CLK:外部VCO输入SYNC:同步输入...

2018-08-30 09:50:27 9939 6

原创 FPGA---DDS 正弦波发生器

DDS简介:DDS 同 DSP(数字信号处理)一样,是一项关键的数字化技术。 DDS 是直接数字式频率合成器(Direct Digital Synthesizer)的英文缩写。与传统的频率合成器相比,DDS 具有低成本、低功耗、高分辨率和快速转换时间等优点,广泛使用在电信与电子仪器领域,是实现设备全数字化的一个关键技术。DDS 芯片的功能主要包括频率控制寄存器、高速相位累加器和正弦计算器三个部...

2018-07-19 14:46:02 8949 6

原创 FPGA——UART Verilog程序设计 (二)

FPGA到PC的UART tx的程序设计顶层设计module top( CLK,RSTn, TX_Pin_Out);input CLK;input RSTn;output TX_Pin_Out;wire[7:0] TX_Data;wire TX_EN_Sig;control_module m1(.CLK(CLK),.RSTn(RSTn),.TX_Done_Sig(TX_...

2018-06-13 20:12:24 2082

原创 FPGA——UART Verilog程序设计

通用异步收发器(Universal Asynchronous Receiver/Transmitter,UART)可以和各种标准串行接口,如RS 232和RS 485等进行全双工异步通信,具有传输距离远、成本低、可靠性高等优点。一般UART由专用芯片如8250,16450来实现,但专用芯片引脚都较多,内含许多辅助功能,在实际使用时往往只需要用到UART的基本功能,使用专用芯片会造成资源浪费和成本提...

2018-06-12 21:10:01 27031 6

原创 经典面试题

有一个人连续打工24天,赚得190元(日工资10元,星期六做半天工发半工资,星期天不上班无工资).已知他打工是从一月下旬的某一天开始的,这个月一号恰好是星期天,问这人打工结束的那一天是二月几日?代码如下:#include<iostream>using namespace std;int add(int a)            //计算工资{    int  j, sum = 0; ...

2018-03-29 16:40:22 276

原创 I2C通信略谈

I2C通信物理接口:SCL + SDA(1)SCL(serial clock):时钟线,传输CLK信号,一般是I2C主设备向从设备提供时钟的通道。(2)SDA(serial data): 数据线,通信数据都通过SDA线传输 通信特征:串行、同步、非差分、低速率(1)I2C属于串行通信,所有的数据以位为单位在SDA线上串行传输。(2)同步通信就是通信双方工作在同一个时钟下

2017-09-01 16:42:30 539

转载 arp命令--arptables

rptables处理arp协议有关的包,这些包在iptables中并不会处理·arptables可用于灵活的arp管理,如果善于运用的话,不失为一个优秀的arp防火墙.既能防止别的机器对自己进行arp欺骗,又能防止本机病毒或错误程序向其他机器发起arp攻击。ACCEPT指接受这个包,DORP指丢掉这个包,QUEUE指把包传到用户空间(如果内核指定了的话),RETURN指返回到上一条链,接着执行

2017-05-02 10:52:07 2947

转载 Linux命令--kill

Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令。通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,我们就需要先使用ps/pidof/pstree/top等工具获取进程PID,然后使用kill命令来杀掉该进程。kill命令是通过向进程发送指定的信号来结束相应进程的。在默认情况下

2017-05-02 10:41:56 364

转载 arp命令--arping

arping:向相邻主机发送ARP请求语法arping[必要参数][选择参数][目的地址]功 能arping 命令: 在指定网卡上发送ARP请求指定地址,源地址 “-s” 参数指定,可用来直接 ping MAC 地址,以及找出那些 ip 地址被哪些电脑所使用了 必要参数 -A ARP回复模式,更新邻居-b 保持广播-D 复制地址检测模式-f 得到第一个回复就

2017-05-02 10:37:30 6689

原创 Linux命令--ps

ps:要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的

2017-05-02 10:35:36 302

原创 linux 中解析命令行参数(getopt_long用法)optarg,optind

命令行参数(getopt_long用法)optarg,optindgetopt_long支持长选项的命令行解析,使用man getopt_long,得到其声明如下: #include        int getopt_long(int argc, char * const argv[],                  const char *optstring,

2017-04-18 16:28:50 1734

原创 Linux--date命令大全

date命令大全    在linux shell编程中,经常用到日期的加减运算,以前都是自己通过expr函数计算,很麻烦,其实date命令本身提供了日期的加减运算,非常方便。例如:得到昨天的时间:      date +%Y%m%d--date="-1 day"              date 用法: date[OPTION]... [+FORMAT]         

2017-04-17 15:36:03 350

原创 Linux--grep用法

grep是linux中很常用的一个命令,主要功能就是进行字符串数据的对比,能使用正则表达式搜索文本,并将符合用户需求的字符串打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。grep在数据中查找出一个字符串时,是以整行为单位来进行数据选取的。(1)命令格式           grep [cinvs] '

2017-04-17 15:29:10 287

原创 linux--sed用法

sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed[-nefri] ‘command’ 输入文本        常用选项:        -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤...

2017-04-17 15:24:21 2055 2

原创 shell--if条件判断

[-a file] 如果file存在则为真 [-b file] 如果file存在且是一个块特殊文件则为真 [-c file] 如果file存在且是一个字特殊文件则为真 [-d file] 如果file文件存在且是一个目录则为真 -d前的!是逻辑非 例如: if [ ! -d $lcd_path/$par_date ] 表示后面的那个目录不存在,则执行后面的then操作

2017-04-17 15:17:40 255

原创 shell命令(1)

文件类型d 目录。l 符号链接(指向另一个文件)。s 套接字文件。b 块设备文件。c 字符设备文件。p 命名管道文件。- 普通文件,或者更准确地说,不属于以上几种类型的文件。 find命令选项f i n d命令有很多选项或表达式,每一个选项前面跟随一个横杠 -。让我们先来看一下该命令的主要选项,然后再给出一些例子。-name 按照文件名查找文件。-p

2017-04-13 11:45:41 278

原创 TCP的三次握手和四次挥手

TCP协议的三次握手和四次挥手:  注:seq:"sequance"序列号;ack:"acknowledge"确认号;SYN:"synchronize"请求同步标志;;ACK:"acknowledge"确认标志";FIN:"Finally"结束标志。  TCP连接建立过程:首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Clie

2017-03-17 14:47:39 251

原创 C语言系列--复杂表达式与指针高级应用

C语言复杂表达式与指针高级应用 特此声明:本文档皆总结于朱友鹏老师《C语言专题精讲篇》 一、指针数组与数组指针1、字面意思来理解指针数组与数组指针(1)指针数组的实质是一个数组,这个数组中存储的内容全部是指针变量。(2)数组指针的实质是一个指针,这个指针指向的是一个数组。 2、分析指针数组与数组指针的表达式(1)int*p[5]; int (*p)[5];

2017-03-01 22:19:12 912

原创 C语言系列--指针1

指针1 特此声明:本文档皆总结于朱友鹏老师《C语言专题精讲篇》 一、指针1、指针变量和普通变量的区别指针的实质就是个变量,它跟普通变量没有任何本质区别。指针完整的名字应该叫指针变量,简称为指针。 2、指针的作用(1)指针的出现是为了实现间接访问。在汇编中都有间接访问,其实就是CPU的寻址方式中的间接寻址。(2)间接访问(CPU的间接寻址)是CPU设计时决定的

2017-03-01 22:17:06 763

原创 C语言系列--位操作

位操作 特此声明:本文档皆总结于朱友鹏老师《C语言专题精讲篇》 一、位操作符1、位与&(1)注意:位与符号是一个&,两个&&是逻辑与。(2)真值表:1&0=0 1&1=1      0&0=0      0&1=0      (3)从真值表可以看出:位与操作的特点是,只有1和1位于结果为1,其余全是0.(4)位与和逻辑与的区别:位与时两个操作数是按照二进制位彼次

2017-03-01 22:15:42 997

原创 C语言系列---内存

C语言--内存 特此声明:本文档皆总结于朱友鹏老师《C语言专题精讲篇》 一、内存在程序运行的作用1、计算机程序运行的目的    计算机为什么需要编程?编程已经编了很多年,已经写了很多程序,为什么还需要另外写程序?计算机有这个新的程序到底为了什么?    程序的目的是为了去运行,程序运行是为了得到一定的结果。计算机就是用来计算的,所有的计算机程序其实都是在做计算。计算就是

2017-03-01 22:13:10 586

原创 LCD显示器基础

LCD显示器一、.LCD简介(1)LCD(Liquid Crystal Display)俗称液晶.(2)液晶是一种材料,液晶这种材料具有一种特点:可以在电信号的驱动下液晶分子进行旋转,旋转时会影响透光性,因此我们可以在整个液晶面板后面用白光照(称为背光),可以通过不同电信号让液晶分子进行选择性的透光,此时在液晶面板前面看到的就是各种各样不同的颜色,这就是LCD显示。(3)被动发光和

2017-03-01 17:36:39 2400

原创 uboot源码分析-启动第一阶段

注:基于九鼎x210 uboot 在SourceInsight软件下一、start.S引入1、u-boot.lds中找到start.S入口(1)在C语言中整个项目的入口就是main函数(这是C语言规定的),所以譬如说一个有10000个.c文件的项目,第一个要分析的文件就是包含了main函数的那个文件。(2)在uboot中因为有汇编阶段参与,因此不能直接找main.c。整个程序的入口

2017-02-28 15:18:10 708

原创 SourceInsight安装

SourceInsight的基本使用为什么要使用SourceInsight对于一个真正的一个项目,往往有几十几百甚至上万个c文件、h文件,代码量非常大,代码之间关联非常复杂,就带来一个问题,代码的分析、阅读越来越难。譬如这里引用了一个函数但是这个函数可能在另外一个目录下的一个文件夹中存放,这样情况下代码查找和阅读很困难,我们希望有一个好工具能够帮助。于是乎有了SourceInsight。

2017-02-27 12:52:40 674

原创 uboot的源码目录分析

uboot的源码目录分析九鼎官方uboot和三星原版uboot对比 uboot的源码目录分析11、  gitignoregit工具的文件,git是一个版本管理工具(类似的还有个svn),这个文件和git有关,和uboot本身无关的,不用去管。2、  arm_config.mk后缀是.mk,是一个Makefile文件,将来在某个Makefile中会去调用它。3、三个C

2017-02-27 12:48:05 441

原创 Makefile基础总结

Makefile基础注:来自于《朱老师物联网大讲堂》Makefile是用来管理工程的    在一个正式的软件项目中,由很多个.c和.h文件构成,此时如果直接在命令行编译,就会像这样:gcc a.c b.c c.c d.c e.c f.c g.c -o exe     每次编译都要输入一堆东西很麻烦,这个问题严重影响工作效率,怎么办?Makefile来解决    目标:目

2017-02-26 19:45:48 427

原创 shell学习总结

Shell基础注:来自于《朱老师物联网大讲堂》一.shell介绍1.1、shell是操作系统的终端命令行(1)shell可以理解为软件系统提供给用户操作的命令行界面,可以说它是人机交互的一种方式。(2)我们可以使用shell和操作系统、uboot等软件系统进行交互。具体来说就是我们通过shell给软件系统输入命令然后回车执行,执行完成后又会回到shell命令行可以再次输入命

2017-02-26 16:58:53 337

转载 嵌入式Linux ARM汇编(七)——C语言与ARM汇编混合编程

转载:http://9291927.blog.51cto.com/9281927/1786072在嵌入式系统开发中,目前使用的主要编程语言是C和汇编。在大规模的嵌入式软件中,例如含有OS,大部分的代码都是用C编写的,主要是因为C语言的结构比较好,便于人的理解,而且有大量的支持库。但是很多地方还是要用到汇编语言,例如开机时硬件系统的初始化,包括CPU状态的设定,中断的使能,主频的设定

2016-11-08 23:03:58 983

转载 嵌入式Linux ARM汇编(六)——GNU ARM汇编编程

转载:http://9291927.blog.51cto.com/9281927/1786070不同的汇编器对汇编语言的语法要求不一样。目前常用的ARM汇编环境有以下两种:    A、ARM ASM:ARM公司的汇编器,适合在Windows平台下使用    B、GNU ARM ASM:GNU交叉编译工具链中的汇编器,适合于Linux开发平台。    GNU汇编器是GNU

2016-11-08 23:01:02 1802 1

转载 嵌入式Linux ARM汇编(五)——ARM体系结构过程调用标准

一、AAPCS简介    AAPCS --Procedure Call Standard for the ARM Architecture,提供了紧凑的编写例程的一种机制,定义的例程可以与其他例程交织在一起。最显著的一点是对这些例程来自哪里没有明确的限制。它们可以编译自 C、 Pascal、也可以是用汇编语言写成的。APCS定义了:A、对寄存器使用的限制。B、使用栈的惯

2016-11-08 22:59:50 922 3

转载 嵌入式Linux ARM汇编(三)——ARM汇编指令

一、ARM汇编语言基本结构AREA Init, CODE, READONLY ENTRY  Start  LDR R0, =0x3FF5000  LDR R1, 0xFF  STR R1, [R0]  LDR R0, =0x3FF5008  LDR R1, 0x01  STR R1, [R0]  ... ... ... ... ... ...

2016-11-08 22:55:18 4809

转载 嵌入式Linux ARM汇编(二)——ARM异常处理

一、ARM异常分类    异常就是正常的用户程序被暂时中止,处理器就进入异常模式。ARM CPU的异常分为:复位异常、中断异常(IRQ,FIR)、预取指令中止异常、未定义指令异常、软件中断指令异常、数据中止访问异常。1、复位异常    当CPU刚上电时或按下reset重启键之后进入该异常,该异常在管理模式下处理。2、中断(IRQ、FIQ)异常    CPU和外部设备

2016-11-08 22:47:41 1587

DDC_KU - 2 - G.rar

通过CIC和FIR的简单算法处理,得到不同的带宽和采样率,本代码通过DDS产生一组模拟信号进行DDC设计的仿真,仿真在vivado2016.3自带仿真下进行

2020-04-07

junyun_FFT_1031.m

数字均匀信道化技术,用于16子信道均匀信道化的程序,通过matlab程序实现。

2019-06-28

AD9516_17_18 Evaluation Software

AD9516寄存器配置软件,简单好用,高效的配置,让我们少了很多烦恼。

2018-08-30

FPGA——UART Rx Verilog程序设计

UART Rx通过RS232串口,通过串口调试助手将PC端的数据传输到FPGA板子上,通过数码管显示传输的数据

2018-06-12

Wireshark基础和计算机网络基础汇总

汇总了Wireshark的基础和操作方式,同时大量的计算机网络基础

2018-05-02

FPGA时钟显示

通过分模块方式,实现时、分、秒的显示,通过八位数码管显示出来。

2018-05-02

面试技巧

面试技巧汇总

2017-04-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除