Image
Image

yearnext

+ 关注

粉丝 1     |     主题 3     |     回帖 87

https://github.com/yearnext
关于内存对齐的疑问
2017-5-9 17:04
  • ST MCU
  • 40
  • 6228
  通过观察发现DIV_0_TRP并未置位,那么DIVBYZERO置位的原因又是什么? 通过内存的查看只有DIVBYZERO置位才触 ...  
  从下图中可以看到UsageFault状态寄存器的第九位置位了,看手册上说除法运算时除数为0且在DIV_0_TRP置位时才 ...  
  这个只是为了让test指向的内存地址为奇数,模拟当时的调试环境  
  通过查看cortex m3的内存地址可以看出触发hardfault的事件可能与BusFault、MemManage或UsageFault有关 ...  
  于是需要对ldrd指令做一些了解,入下图所示: 可以等效为 此处等效不正确 r1 = r4; r0 = r5; 由linqing17 ...  
  那么问题很有可能是在压栈的时候发生的,追踪汇编代码,发现在执行时发生了错误最终进入到HardFault ...  
  也就是说在这个程序中导致单片机进入HardFault的原因在于test->func的参数地址是否为奇数 但是后来我在验证 ...  
  如果我将 改成 最终也不会进入HardFault  
  可以从下图看到函数inc的地址是奇数,变量i的地址是偶数  
  如果把test精简一下,改成 在执行test->func(test->param); 的时候不会进入HardFault ...  
  可以判断test->func这个指针的地址时奇数,test->param的地址也为奇数  
  本人最近在调试程序的时候发现一个因为内存对齐的问题导致单片机进入HardFault工作平台:stm32f103vb 代码 ...  
STM8S的C文件内嵌汇编指令sim和rim是什么意思?
2017-5-22 17:01
  • ST MCU
  • 9
  • 4571
从零开始设计一个简单的CPU和计算机,证明是可行的!
2017-9-22 16:25
  • DIY讨论区
  • 35
  • 5754
是用MDK编译51的程序输出不了HEX文件是怎么回事?
2017-4-11 10:33
  • 侃单片机论坛
  • 20
  • 3449
从小米智能家居来看智能家居的改进空间
2017-4-14 09:02
  • 侃单片机论坛
  • 11
  • 1106
12系列自带AD问题
2017-4-10 11:18
  • 侃单片机论坛
  • 8
  • 963
2
3
近期访客