MCU
lyq308152569
这个作者很懒,什么都没留下…
展开
-
arm 汇编指令记录
ldr r1, [r2]将地址为r2的内存中的数据加载到寄存器r1中ldr.w r1, [r2]将地址为r2的内存中的数据加载到寄存器r1中,并零扩展为32位LDR字数据加载指令LDRB字节数据加载指令LDRH半字数据加载指令STR字数据存储指令STRB字节数据存储指令STRH半字数据存储指令原创 2024-06-19 10:13:51 · 121 阅读 · 0 评论 -
编译器使用优化后出现的busfault
问题就在 LDRH指令;由于通用寄存器读取外设寄存器需要按照32位读取,并且需要使用的数据刚好就是半字,编译器优化后就使用LDRH指令进行半字读取,从功能上是等效的,但是由于内核寄存器对外设寄寄存器需要使用32位读取即LDR.W指令,编译器优化使用16位读取即LDRH,故此出现 busfault。解决办法,即在读取时添加volatile,不使用用编译器优化。未开优化是正常执行,打开优化,无法运行,定位到异常语句。volatile优化汇编代码。原创 2023-11-08 14:25:46 · 192 阅读 · 0 评论 -
cm7 ITCM DTCM 使能触发 异常
cm7 ITCM DTCM 使能,出现无法写入配置数据,然后造成异常。整片擦出芯片,然后就好了。原创 2023-07-27 18:03:38 · 111 阅读 · 0 评论 -
异常地址计算
通过栈内容计算导致异常的程序地址原创 2023-06-26 15:13:27 · 280 阅读 · 0 评论 -
ghs 变量 函数指定地址
ghs 变量 函数 指定地址原创 2023-02-28 10:58:35 · 1771 阅读 · 1 评论 -
iar 变量 函数 指定 存放区域的方法
iar 变量 函数 指定存放区域原创 2023-02-28 09:42:07 · 1241 阅读 · 0 评论 -
英飞凌 memmap 解读
英飞凌 MEMMAP 解读原创 2023-02-27 15:50:23 · 796 阅读 · 0 评论