自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 C语言函数名alias

C语言函数名alias

2022-12-18 21:41:09 725 1

原创 linux文件权限命令umask

umask:设置所创建文件或目录的默认权限umask值是个掩码,它会屏蔽掉不想授予该安全级别的权限,创建文件或目录时,需要将umask值从对象的全权限中减掉,对文件来说,全权限的值是666(所有用户都有读和写的权限);对目录来说,全权限值则是777(所有用户都有读、写和可执行权限)。如何通过umask值计算创建文件的默认权限?计算方法:(文件或目录的全权限) & ~(umask值)举例:创建一个文件test.c,umask值为0033文件的全权限为666,因此最终文件的权限为(1

2021-04-24 15:59:27 1325

原创 C语言中未显示声明函数返回值的类型

C语言中如果未显示声明函数返回值的类型或函数的形式参数类型,它就默认返回整型。这种声明在C语言中叫做隐式声明。例如:///////////////////////////////////////main.c/////////////////////////////////////#include<stdio.h>divide(float a, float b) //默认返回整型值,不能放在main函数后面,编译器会报错{ return a/b;}main(

2021-04-18 17:40:08 6669

原创 CPU不支持非地址对齐访问的原因

解答:https://stackoverflow.com/questions/3903164/why-misaligned-address-access-incur-2-or-more-accesseshttps://yangwang.hk/?p=773https://blog.csdn.net/u010536615/article/details/98748100https://blog.csdn.net/zhuzeji/article/details/40651097

2021-04-16 23:59:14 372

原创 C语言标准的历史

C语言标准:http://c.biancheng.net/view/143.htmlC99标准资料:http://bbs.eetop.cn/thread-298773-1-1.html

2021-04-11 22:14:43 100

原创 GCC学习

gcc官方手册:https://gcc.gnu.org/onlinedocs/gcc编译过程:https://blog.csdn.net/qq_29350001/article/details/53339861

2021-04-05 15:21:05 116

原创 SystemVerilog中根据系统时间产生随机数的函数

基本原理:1、通过在SystemVerilog中调用$system系统函数2、执行shell终端命令date +%N > tmp,将date +%N命令的结果写入文件tmp中3、打开并读取tmp文件中存储的值,赋值给random_num变量4、删除tmp文件,打印random_num的值并返回在SystemVerilog中根据系统时间产生的随机数函数:function int unsigned random_num_gen(); int unsigned ran...

2021-03-28 15:33:49 1975 1

原创 工作法则

确认工作目标 明确目标时间节点 将大目标分为多个小目标实现 上班前将本日需实现的目标记录下来,下班后确认工作目标的整体进度 多向别人学习 遇到问题,多向别人请教,不能自己单干,独立解决时间成本太高 学会分享 时刻保持思考如何提高工作效率的问题...

2021-03-21 20:55:01 149

原创 TCL脚本

tcl官网:https://www.tcl.tk/

2021-03-21 10:34:53 292

原创 存储器学习

https://www.cnblogs.com/guanghe/p/12517637.html

2021-03-15 00:17:08 130

原创 AMBA总线学习

AHB总线中有一个回环突发,回环的地址边界的计算与传输大小HSIZE[2:0]和突发控制HBURST[2:0]有关,例如当HBURST[2:0]=010时表示4拍回环突发,同时HSIZE[2:0]=010表示传输大小为字传输,那么此时的回环突发的地址边界应是16字节边界回环(16字节=4拍*4),也就是说地址A[3:0]=0000,比如说当前的突发传输起始地址是从0X38开始,注意回环的边界地址必须比突发传输的起始地址小,0X38的二进制为111000,如果地址位A[3:0]=0000,比0X38小的A[3

2021-03-14 18:50:07 586

原创 verilog的“==”与“===”

以下内容对于System Verilog也是适用的。verilog中有两种类型的等式运算符:logical equality/inequality和case equality/inequality首先上述表格中四种等式运算符具有相同的优先级,四种运算符会将两个操作数做逐位比较,如果两个操作数的位宽不一致,那么位宽较小的操作数高位补0,然后再进行比较对于logical equality和logical inequality运算符(“==”和“!=”),如果操作数中出现x态位或z态位(高阻.

2021-03-14 10:40:35 15323 1

原创 verilog中assign和always@(*)的区别和易忽略的点

今天在做IC的模块验证时,发现某个模块的输出信号为x态,一般遇到x态首先思考以下几种情况:变量未进行初始化 多个相同驱动强度的信号同时驱动1和0 代码中直接赋值的x态 如果是PAD电路上的X态,则另外考虑两个同类型的输入方向的PAD连接在一起,并且其中一个PAD为上拉,一个PAD为下拉但这个模块中既没有发现同时驱动1和0,也没有在代码中直接赋值x态,产生x态值的信号是在always(*)中赋值,赋值语句类似如下:module test;reg tmp0;reg tmp1;wire

2021-03-13 22:56:34 7520 2

原创 DDR学习

DDR名词解释:http://blog.chinaaet.com/justlxy/p/5100051913

2021-03-04 00:02:24 195 1

原创 VIM常用操作命令

进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename:打开文件,并将光标置于第n行首vi + filename:打开文件,并将光标置于最后一行首vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename:在上次正用vi编辑时发生系统崩溃,恢复filenamevi filename….filename:打开多个文件,依次编辑移动光标类命令h:光标左移一个字符l:光标右移一个字...

2021-03-02 00:29:16 301

原创 Win10系统 Office2010程序打开PPT文档报错“此应用无法在你的电脑上运行

Win10系统 Office2010程序打开PPT文档报错“此应用无法在你的电脑上运行”文章目录Win10系统 Office2010程序打开PPT文档报错“此应用无法在你的电脑上运行”1 问题描述2 解决方法1 问题描述在windows10上安装的office2010 使用启动菜单中的microsoft PowerPoint2010程序直接打开PPT文档报错“此应用无法在你的电脑上运行”,但是先打开microsoft PowerPoint2010空白程序,再从程序中打开文件又不会报错。程序中打开

2021-02-20 22:57:19 6152

原创 遇到的问题及解决方案(慢慢更新)

1、cajviewer阅读器阅读caj文档时,翻页很卡,很慢,体验感很差(2019-12-8)。答:使用caj云阅读,下载网址:http://cajviewer.cnki.net/cajcloud/2、论文等文档下载网站(2019-12-10)答:知网、百度学术、万方、豆丁、道客巴巴、百度文库、原创力文档、IEEE3、word中的缩进量是什么意思?(2019-12-13)答:我...

2019-12-08 17:05:32 1064

原创 sv语法

1、Distribution(分配随机变量的权重)The := operator assigns the specified weight to the item or, if the item is a range, to every value in the range.The :/ operator assigns the specified weight to the item or...

2019-09-04 20:45:03 2043

原创 玩转linux

玩转linux,总结一些linux使用经验1、linux默认镜像源为国外的,下载各种安装包的速度比较慢,这时就可以将默认的linux镜像源修改为国内的镜像源,一般安装清华的镜像源,安装方法比较简单,只需要将配置文件修改一下就可以了。具体安装方法如下:清华源镜像文件:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/安装方法:htt...

2019-09-04 15:49:03 260

转载 apt-get指令

下面总结一下有关apt-get的常用但容易混淆的指令:##一、卸载sudo apt-get autoclean1如果你的硬盘空间不大的话,可以定期运行这个程序,将已经删除了的软件包的.deb安装文件从硬盘中删除掉。如果你仍然需要硬盘空间的话,可以试试apt-get clean,这会把你已安装的软件包的安装包也删除掉,当然多数情况下这些包没什么用了,因此这是个为硬盘腾地方的好办法。2....

2019-09-03 17:16:05 206

转载 时序分析相关

时序分析是FPGA设计中永恒的话题,也是FPGA开发人员设计进阶的必由之路。慢慢来,先介绍时序分析中的一些基本概念。1. 时钟相关时钟的时序特性主要分为抖动(Jitter)、偏移(Skew)、占空比失真(Duty Cycle Distortion)3点。对于低速设计,基本不用考虑这些特征;对于高速设计,由于时钟本身的原因造成的时序问题很普遍,因此必须关注。1. 时钟抖动 (clock j...

2019-08-05 17:03:33 1000

转载 Setup 和Hold (建立时间和保持时间)解析

本文是第一篇,有空会继续更新。(转载请注明出处!!!)STA分析是基于同步电路设计模型的,在数据输入端,假设外部也是同时钟的寄存器的输出并且经过若干组合逻辑进入本级,而输出也被认为是驱动后一级的同时钟的寄存器。在不设置约束的情况下,纯组合逻辑的输入->输出不得超过一个T,否则也会被认为是Timing violation.1. Timing pathTiming path就是时间线...

2019-07-31 15:44:30 2688

原创 keil uvisoin软件出现闪退和打开工程以前添加的c文件上面出现黄色感叹号

        在做32开发时,keil软件用得比较多,然后我发现在使用这个软件时,偶尔会发生闪退的现象,或者就是打开工程后,以前添加进来的C文件上面出现黄色感叹号,弄得很烦,前面创建的时候这个C文件是没有问题的,也没有语法错误什么的,点击一下带有黄色感叹号的文件,然后就出现一个带有多级路径的警告,应该是说无法打开这个路径,一看,这么多的中文路径,为了方便管理,用中文命名就很经常的,于是想着会不会...

2019-01-05 16:17:00 8717 2

转载 crc16几种标准校验算法及c语言代码

一、CRC16校验码的使用  现选择最常用的CRC-16校验,说明它的使用方法。  根据Modbus协议,常规485通讯的信息发送形式如下:  地址 功能码 数据信息 校验码  1byte 1byte nbyte 2byte  CRC校验是前面几段数据内容的校验值,为一个16位数据,发送时,低8位在前,高8为最后。  例如:信息字段代码为: 1011001,校验字段为:10...

2018-10-26 14:12:52 2572

转载 vc++6.0中创建工程时选Win32 Application和Win32 console Application的区别

我想好多朋友在刚使用vc++6.0创建工程时不知道是选Win32 Application或是选Win32 console Application,有的就选择了 Win32 Application,然而在编译时会出现下面的错误提示:怎么回事呢?程序没有错误,但怎么会提示错误了呢?后来才知道了是因为Win32 Application和Win32 Console Application选项的问题...

2018-10-26 14:08:57 2525

转载 【FPGA】Spartan-6的时钟管理器(CMT)之数字时钟管理器(DCM)

目录时钟管理器(CMT)DCM(digital clock manager)组成结构DCM原语时钟管理器(CMT)Spartan-6 CMT是一个灵活、高性能的时钟管理模块。它位于芯片中央、垂直的全局时钟网络旁。如图2-17所示,它包含一个PLL和两个DCM。   图2-17 Spartan-6 FPGA CMT片内布局图 DCM(digital...

2018-10-22 16:48:51 1039

原创 FPGA实现按键消抖及短时间按键和长时间按键不同动作

module key_test2( clk, //时钟信号:50Mhz rst, //按键复位 key, //用户按键 led //LED0~LED2 );//端口定义 input clk; input rst; input key; output[2:0] led;//寄存器类型声明 reg[2:0] led; reg[19:0] tim...

2018-10-19 20:23:47 3222 3

原创 AD笔记

AD设置安全距离:线宽:在线规则检查 常用快捷键:space:改变走线方向shift+space:改变走线类型ctrl+shift+l:左对齐ctrl+shift+r:右对齐ctrl+shift+t:顶端对齐ctrl+shift+b:底部对齐ctrl+shift+h:水平等距排列ctrl+shift+v:垂直等距排列ctrl+鼠标左键:P...

2018-10-17 19:39:32 272

转载 ISE中UCF约束文件的编写

ISE 约束文件的基本操作1.约束文件的概念FPGA设计中的约束文件有3类:用户设计文件(.UCF文件)、网表约束文件(.NCF文件)以及物理约束文件(.PCF文件),可以完成时序约束、管脚约束以及区域约束。3类约束文件的关系为:用户在设计输入阶段编写UCF文件,然后UCF文件和设计综合后生成NCF文件,最后再经过实现后生成PCF 文件。本节主要介绍UCF文件的使用方法。UCF文件是A...

2018-10-16 14:08:48 4777

转载 stm32,arm9和arm11三者的区别

 STM32外设丰富,没有mmu,可以上ucos等小型系统。arm9外设不够丰富,有mmu,可以上linux。如果想上安卓,至少arm11以上才比较合适。  arm7是arm公司推出的以V4指令集设计出来的arm核,基于arm7可以生产出很多CPU芯片,其代表的芯片有s3c44b0等;  arm9是arm公司推出的以V5指令集设计出来的arm核,基于arm9其它公司推出了自己的CPU芯片,...

2018-10-13 16:00:45 14991 1

转载 STM32的printf函数重定向

版权声明:原创文章,请持怀疑态度阅读,欢迎转载,但请注明文章出处。 https://blog.csdn.net/qq_29344757/article/details/75363639在前面学习了STM32的串口编程,通过USART1向计算机的串口调试助手打印数据,或者接收计算机串口调试助手的数据,接下来我们可以实现STM32工程上的printf()函数了,方便用于程序开发中调试信息的打印。...

2018-10-11 19:30:28 499

转载 Xmodem、Ymodem、Zmodem

文件传输协议:文件传输是数据交换的主要形式。在进行文件传输时,为使文件能被正确识别和传送,我们需要在两台计算机之间建立统一的传输协议。这个协议包括了文件的识别、传送的起止时间、错误的判断与纠正等内容。 在SecureCRT下的传输协议有ASCII、Xmodem、Ymodem、Zmodem4种。 (1)ASCII:这是最快的传输协议,但只能传送文本文件。(2)Xmodem:这...

2018-10-11 16:44:45 1269

转载 ARM半主机机制

单片机可以通过串口打印信息,printf函数重定向后使用十分方便。 所谓重定向是指修改printf的底层函数,使printf打印到单片机的外设中。还有一个概念是半主机:  半主机是用于 ARM 目标的一种机制,可将来自应用程序代码的输入/输出请求传送至运行调试器的主机。 例如,使用此机制可以启用 C 库中的函数,如 printf() 和 scanf(),来使用主机的屏幕和键盘,而...

2018-09-26 15:22:49 802

转载 extern 详解(内有extern "C" 讲解)

基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的...

2018-09-25 17:19:58 503

转载 printf 函数实现的深入剖析

研究printf的实现,首先来看看printf函数的函数体int printf(const char *fmt, ...){int i;char buf[256];        va_list arg = (va_list)((char*)(&amp;fmt) + 4);     i = vsprintf(buf, fmt, arg);     write(buf, i);  ...

2018-09-25 15:45:50 204

转载 无符号整型赋值陷阱

有没有人尝试过将负数赋给一个无符号整型变量?知不知道这样做会发生什么?还没有尝试的就让我们来探索下无符号整型隐藏的秘密。先来看看下面代码:int main(){      unsigned int val = -1;      cout&lt;&lt;val&lt;&lt;endl;      return 0;}执行的结果:4294967295请按任意键继续. . ...

2018-09-21 10:05:18 908

原创 串口接收到的浮点数(解码后出现的错误)

接收函数部分代码如下:u8 buf[12];float value;value = *((float *)(&amp;(buf[1])));printf("value = %f\n",value);value += 1;....这样编写的程序可以进行输出,但是会卡死value += 1;这条语句上,后面的代码就不会执行了u8 buf[12];float value;...

2018-09-14 19:38:43 995

转载 串口发送接收浮点型数据

转自:https://blog.csdn.net/liangwei88624/article/details/6885803转自:https://blog.csdn.net/newstoy/article/details/25726127在做下位机通信时往往会用到串口,包括下位机将数据传输给上位机,或者是下位机与下位机之间进行数据传输,这时候就会遇到发送数据的问题,单片机通过串口发送数据时...

2018-09-13 15:25:49 20571 3

原创 TTL串口传输时,当收发线的长度和地线的长度不一样时,发生数据传输错误

       今天做实验的时候,要用到两块32的板子进行通讯,在这里将其命名为A板和B板,使用的是32引脚直接引出的TTL串口,由于忘记带导线了,所以在做实验的时候找了两根长短不一的线,长线大概一米用在A板和B板的地线的连接,然后短线大概半米用在B板子的接收端(RXD),相对应用在A板子的发送端(TXD),由于通讯的时候值只涉及A板向B板发送数据,所以B板的发送端和A板的接收端就没有再连接起来了,...

2018-09-09 11:52:07 3104 1

原创 WORD文本框和文本框之间,文本框和文字相互不覆盖

在用WORD或者WPS画电路的结构框图时,需要在矩形框中放置文本框,并且常常需要将文本框和文本框混叠在一起,但是在两个文本框挨得很近的时候,不想一个文本框覆盖住另一个文本框中的文字,弄了好久才会,其实也挺简单的,只要找到其中的原因。问题解决后,文本框和文本框也不会覆盖,文本框放置在文字上也不会覆盖文字,不覆盖文字也可以通过在“文字环绕”中设置为“浮于文字下方”就可解决1、放置两个文本框如下...

2018-08-28 20:28:03 12580

空空如也

空空如也

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

TA关注的人

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