*背景:人为设置故障点,RGB接口屏,显存开在SDRAM中,故意不初始化SDRAM,这样显示调用SDRAM,就会跳至hardfault 错误哦。
*调试方法一
*全速运行----故障----暂停
*查MSP、PSP值:
*memory1中,输入地址查到调用地址
*disassembly中右键,选择 show disassembly at address ,定位到触发错误函数位置附近
*进入ltdc_draw_point(x,y,color)中,果然发现有使用SDRAM的语句
第二种调试方法
仿真,单步执行,遇到出不来的函数体,rest以下,下次设置断点或单步重点关注此函数体,多尝试几次,即可观测到进入hardfault前,最后执行的语句,亦可基本定位故障。
比较:方法一,相比方法二相对有些优势。