在用keil调试时,发现开着代码优化时,就会死机,调到HardFault_Handler,不开优化时,没问题。开始还觉得keil很奇怪,为何优化就死掉了。查找可能是数组越界了,检查发现数组越界,为了可靠省心,用到10个字节的数组,就要定义多定义几个字节。
开优化和不开的差异猜测是:不开时,定义的数组不紧凑,越界没破坏到其他的寄存器;开了优化后,越界正好破坏了其他的寄存器。
摸索着学习,请大家多多指导。
打赏帖 | |
---|---|
分享一种检测按键状态的方法被打赏20分 | |
周末总结一下,STM32C0系列的开发经验被打赏50分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下定时器配置被打赏20分 | |
【换取手持数字示波器】MicrochipMPLABHarmony框架下PWM配置被打赏20分 | |
【Cortex-M】Systick Timer使用被打赏10分 | |
分享汽车防盗系统的组成与分类(一)被打赏5分 | |
VOFA+波形显示+JYD-31蓝牙发送和解析不定长数据被打赏10分 | |
【换取手持数字示波器】-STM32F4PWM控制LED灯管亮度被打赏22分 | |
【换取手持数字示波器】STM32F4驱动RPR-0521RS照度、接近一体型传感器被打赏23分 | |
宏定义和const关键字定义被打赏5分 |