Working Hard
漫步的风暴
敏于思而慎于言
展开
-
调试九法读书笔记
1.如果一个bug花了非常长的时间,那么原因可能是忽略了某个最基本的、最重要的规则,一旦应用了那条规则,很快就会找到问题。2.善于调试的人已经深刻理解了这些规则,那些很难理解和使用这些规则的人则很难找到bug。3.规则1,理解系统;规则2:制造失败;规则3:不要想,而要看;规则4:分而治之;规则5:一次只改一个地方;规则6:保持审计跟踪;规则7:检查插头;规则8:获得全新观点;规则9:如果原创 2016-08-01 08:59:24 · 1249 阅读 · 0 评论 -
2017年8月问题记录与总结
1.编译报错关于缺少头文件还是缺少连接库的问题在编译的时候查看输出信息,一般:如果在编译源文件的过程中缺少符号,那可能缺少头文件;如果在连接过程中报错,那可以考虑是缺少库文件。因为在连接的时候,会把静态库一起连接进来,如果这时候缺少相应的库,编译会报错。2.技术协议的两个要点第一要边界明确,第二要可验收3.fpga中的软核和硬核概念软核和硬核:软核是可以用代码实现的CPU核,配置灵活成本低,但是占...原创 2018-02-09 15:26:09 · 448 阅读 · 0 评论 -
2017年10月问题记录与总结
1.在C语言中调用C++函数在一个工程中既有.c问价又有.cpp文件,在C中要调用C++接口:在要调用的函数前加 extern "C",如下:extern "C" void tcp_server(void){ struct sockaddr_in serverAddr, clientAddr; .... printf ("TCP Server end.\n"); }这样在另一个.c...原创 2018-02-11 16:11:08 · 2485 阅读 · 0 评论 -
TCP和UDP的区别及优缺点
转载自:https://blog.csdn.net/li_ning_/article/details/52117463TCP UDPTCP与UDP基本区别 1.基于连接与无连接 2.TCP要求系统资源较多,UDP较少; 3.UDP程序结构较简单 4.流模式(TCP)与数据报模式(UDP); 5.TCP保证数据正确性,UDP可能丢包 6.TCP保证数据顺序,UDP不保证 UD...转载 2018-04-24 16:26:12 · 677 阅读 · 0 评论 -
IMX6(CortexA9)重启(reboot)实现及代码
分析过程:/**********************************************/ 1.u-boot中reset的流程 reset-->do_reset(打印 resetting-->延时50ms-->disable_interrupts)-->reset_cpu-->操作看门狗-->系统复位 2.imx6板子的rest_cpu在/b...原创 2018-06-07 16:05:47 · 1684 阅读 · 0 评论 -
ZYNQ启动过程(转载)
转载自:http://design.eccn.com/design_2016120213185392.htm本文主要介绍zynq启动过程,主要包括BootROM和FSBL等的执行过程。硬件启动过程1、重新上电或POR复位后进行硬件启动过程2、扫描“启动引脚”设置,并存入只读寄存器slcr.BOOT_MODE中3、若使能pll,则等到pll输出时钟;若旁路pll,则直接使用ps_clk...转载 2018-08-09 14:01:55 · 2446 阅读 · 0 评论 -
XILINX SDK XSCT/XMD 命令大全以及使用说明
XILINX MICROPROCESSOR DEBUGER (XMD) REFERENCE GUIDEThis guide was designed to be used with ISE and EDK 9.1. The debugger provided by XILINX (XMD) is a tool that interacts with PowerPC and MicroBlaze...原创 2018-08-07 16:37:54 · 12038 阅读 · 0 评论 -
Linux下常用压缩解压命令
tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!).gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩:tar z...原创 2018-09-05 09:23:20 · 271 阅读 · 0 评论 -
CAN总线介绍及要点说明
转载出处:https://www.cnblogs.com/spoorer/p/6649303.html 前言 CAN总线的应用在现在看来越来越广泛,我厂设备从最初的ARM9与ARM7平台、期间升级过度到CortexA8与Cortex M3平台,再到现在的Cortex M4平台,围绕CAN进行了一系列产品的开发,CAN总线的稳定性是毋庸置疑的。 CAN总线物理结构与特性 C...转载 2018-10-19 14:33:35 · 2725 阅读 · 0 评论 -
linux中__weak关键字的作用
在linux的驱动代码中经常可以看到__weak去修饰一个函数或者变量,大多是用来修饰函数。它的作用有两个:1.weak 顾名思义是“弱”的意思,所以如果函数名称前面加上__weak 修饰符,我们一般称这个函数为“弱函数”。加上了__weak 修饰符的函数,用户可以在用户文件中重新定义一个同名函数,最终编译器编译的时候,会选择用户定义的函数,如果用户没有重新定义这个函数,那么编译器就会执...原创 2018-10-30 09:15:57 · 2697 阅读 · 0 评论 -
CAN总线报文解析
转载:https://blog.csdn.net/liuligui5200/article/details/79030676 CAN的报文格式 在总线中传送的报文,每帧由7部分组成。CAN协议支持两种报文格式,其唯一的不同是标识符(ID)长度不同,标准格式为11位,扩展格式为29位。 在标准格式中,报文的起始位称为帧起始(SOF),然后是由11位标识符和远程发送请求位(RTR...转载 2018-11-07 10:23:14 · 16408 阅读 · 1 评论 -
2017年4月问题记录与总结
介绍了MMU的分段和分页机制,C语言有符号数和无符号数运算以及双口RAM原创 2017-05-26 13:25:09 · 525 阅读 · 0 评论 -
2017-02问题记录总结:linux下网络收发包性能测试代码、.bin和.elf文件格式区别
linux下测试tcp收发包性能代码原创 2017-04-05 17:35:45 · 1540 阅读 · 0 评论 -
2016年6月问题记录与总结
1.什么是勘误手册。2.多核开发需要注意的问题。3.栈回溯4.什么是数据校验5.static修饰变量,函数的具体作用6.多任务同步机制原创 2016-06-12 17:26:45 · 772 阅读 · 0 评论 -
2016年7月问题记录与总结
1.norflash的读写Norflash中的程序可以直接运行在norflash,而不需要拷贝到内存里面再去运行,这一点区别于nand flash。Nor的读和ram相似,提供数据的地址和给出正确的数据。但是写操作之前需要先进行擦的操作。2.文件系统是干嘛的文件系统是操作系统用于明确存储设备或者分区上的文件的方法和数据结构,就是组织文件的方法,各个文件系统我的理解是对存储空间的管理和抽原创 2016-08-05 11:10:32 · 1762 阅读 · 1 评论 -
2016年8月问题记录与总结
1.定义类型使用#typedef,使用#define u16 unsigned long这样的语句会带来错误与bug 2.对某一个内存(寄存器)读取它的值,使用如下操作:#define READ_REG(x) *((volatile unsigned int *)(x + BASE_ADDR))X表示偏移地址,BASE_ADDR表示基础地址同理,对一个内存(寄存器)进行写操作原创 2016-09-06 14:03:17 · 820 阅读 · 0 评论 -
网卡驱动tips
1.MAC即Media Access Control,即媒体访问控制子层协议.该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质.在发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息原创 2016-09-22 09:28:22 · 615 阅读 · 0 评论 -
2016年9月问题记录与总结
1.什么是中断挂接的回调函数,意义是什么呢?在中断中注册回调函数,是为了在层次架构之间实现一种消息或者事件通知的机制,意思是在另外一个层次中,有一个函数在该中断发生的时候,需要被调用。从这个意义上说,回调有点类似中断,某个条件满足,消息到达,事件触发了,就去调用这个函数。在中断中保存的是需要调用的函数的指针,该指针指向那个函数的起始地址。将调用者和被调用者分开,这样就可以在不同的层次之间实原创 2016-09-30 17:31:41 · 649 阅读 · 0 评论 -
2016年10月问题记录与总结
Strtoul函数和strtok_r函数解析及使用方法。MDIO是如何访问到phy的ICMP 和 IGMP什么是VLAN,有什么作用?串口线也分直连和交叉吗?原创 2016-11-11 15:52:26 · 515 阅读 · 0 评论 -
程序员的自我修养读书笔记
1.进程直接使用物理内存的坏处:第一、地址空间不隔离,一个进程可能改写另一个进程的数据,从而导致系统崩溃。第二、内存使用效率低,频繁的数据换入换出,效率低。第三、程序运行地址不稳定,每次重新装载的空闲区域位置不确定。2.虚拟地址和物理地址是为了隔离进程。3.分段使用一段虚拟空间和物理空间的映射解决了地址空间隔离和程序运行地址稳定的问题。但是内存使用效率因为内存不足时换入换出到磁盘的还是整个原创 2016-06-26 19:45:57 · 3259 阅读 · 2 评论 -
2016年11月问题记录与总结
C语言实现循环队列的一个简单例子原创 2016-12-28 10:44:08 · 520 阅读 · 0 评论 -
2016年12月问题记录与总结--PCIE调试心得
TMS320C6678的PCIE调试心得原创 2017-01-19 15:51:40 · 11595 阅读 · 4 评论 -
2017年1月问题记录与总结
1.中断没有触发的可能原因 1.从cpu这一端看,本身的中断开关没有打开 2.Cpu这一级中断被其他原因关闭,例如arm中cpsr的i和f位都被屏蔽了 3.从外设的角度,检查外设的中断有没有发出来,发出来了会不会还没有到达cpu之前就被屏蔽了,这个往往可以查看mask是否设置正确 4.软件来说,中断处理程序是否注册成功,中断号是否申请成功原创 2017-02-28 17:08:51 · 525 阅读 · 0 评论 -
ARMv7 CP15协处理器详解
1协处理器指令MCR和MRC 1.1MCR指令 1.2MRC指令 2CP15的主要功能 3 CP15寄存器功能介绍如下所示: 3.1寄存器c0 3.2寄存器c1 3.3寄存器c2 3.4寄存器C3 3.5 寄存器C5 3.6寄存器C6 3.7寄存器C7 3.8寄存器C8 3.9寄存器C9 3.10 寄存器C10 3.11...原创 2018-12-06 13:46:20 · 5472 阅读 · 1 评论