- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 作为一个verilog coder你需要一些技能(vim,verilog-mode)>> 附送自动载入装逼.v模板(下)
vim新建文件的时候如何自动载入模板文件的相关配置。包括作者,时间,上次修改时间等等可自定义。以及verilog-mode的模板长什么样子。
2024-10-11 11:12:05 427
原创 作为一个verilog coder你需要一些技能(vim,verilog-mode)>> 附送自动载入装逼.v模板(上)
数字前端设计工程师技能包,如何自动生成verilog,自动连线,解放时间,解放双手。verilog-mode工具使用和安装全教程,亲测亲用很多年。
2024-10-11 10:22:10 682
原创 arm cortex-m3/4的指令STRD/LDRD遇到的unaligned Hard Fault!
STRD、LDRD、unaligned、hard fault
2023-10-16 10:49:29 497 1
原创 二、arm程序在debug工具介入时可以跑完但是烧录到flash中会停留在BKPT 0xAB的解决方法
所谓的半主机模式:semihosting机制参考arm development referrence.它使得在ARM目标上跑的代码,如果主机电脑运行了调试器,那么该代码可以使用该主机电脑的输入输出设备。这点非常重要,因为开发初期,可能开发者根本不知道该ARM器件上有什么输入输出设备,而半主基机制使得你不用知道ARM器件的外设,利用主机电脑的外设就可以实现输入输出调试。 反之,要利用目标ARM器件的输入输出设备,首先要关掉半主机机制。然后再将输...
2021-12-27 15:03:19 1678 1
原创 一、arm程序在debug工具介入时可以跑完但是烧录到flash中会停留在BKPT 0xAB的解决方法
最近在调试arm程序,一般都会用到uart来log message,一是可以保证CPU正常run,二是可以debug程序bug在哪个位置。 而用uart log message,一般都会采用printf的库函数,然后retarget库函数的porting即可。当然也可以自己实现printf函数,即各种字符处理,format处理等等。我觉得自行实现printf应该比较占用code size,所以还是会采用重定向printf的方式。 目前有三种方式来实现:...
2021-12-23 17:43:19 1180
转载 二、barrier指令DSB,DMB,ISB,fence——内存屏障,指令屏障
我们编写的源代码需要经过编译器转换成机器指令,最后由CPU执行这些指令。编译器作为一个“翻译官”,并不会老老实实地逐条翻译,而是会对我们的代码按照自己的“想法”进行调整和重组。CPU作为一个执行部件,对交给它的指令也不会规规矩矩的逐条执行,而是会重新排序之后执行。这么“不尊重”我们的代码顺序,它们有权利这么做吗?它们有,因为它们高举的是“为效率优化”的大旗,一切都是为了你编写的代码能更快地执行,就像小时候某些家长常说的“都是为了你好”。为了我好我就一定能好么,那可不一定,因为他们虽然经验丰富,但毕竟
2021-12-23 16:03:48 3417
原创 一、barrier指令DSB,DMB,ISB,fence——内存屏障,指令屏障
最近工作中遇到一个问题,大致描述一下: 我们SOC用的arm cortex m7内核,在设计时设计人员图方便,将SPI controller的寄存器(即原本应该是APB空间)放在了0x60000000的某一块空间(此空间arm的memory定义区间为external memory),然后同时把SPI flash的存储空间也映射在了0x60000000的这一块区间内。后者将spi flash memory映射在此区间内其实时合理的。但是将spi controller的寄存器也放在这块空间,验...
2021-12-23 15:48:11 9030 2
转载 如何保存linux系统终端terminal下的所有log信息到文件
需求:在调试程序的工程中有时候会遇到实时输出大量的log,但是量大需要慢慢分析,所以需要将log信息保存到本地; 实现: 在执行命令前输入以下命令打开日志保存功能 sudoscriptfilename.log 2. 执行完后执行以下命令关闭日志保存功能:exit 3. 此时当前目录下就会出现日志文件...
2021-08-12 11:18:27 3429
原创 u-boot下saveenv命令出现如下错误解决方法Error: end address not on sector boundary
在使用u-boot下的命令saveenv保存环境变量时,出现如下错误无法保存:Saving Environment to Flash...Error: end address not on sector boundary可能原因:实际的flash sector的size与对应开发环境的配置文件内的flash size不匹配解决方法:在uboot下输入命令flinfo查看flash的情况,如下:而我的u-boot的编译配置文件里面,我使用的是vexpress_common.h里面
2021-08-11 17:17:26 1733
ARM Development Studio 5 + DSTREAM-ST调试器对第三方Device的开发和调试指南
2021-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人