- 博客(2)
- 收藏
- 关注
原创 GD32 bootloader跳转app遇到的坑
因为之前出现了同样是-O1选项的两台电脑编译,生成的固件是不一样的,所以后面就在自己的电脑上不断切换-O1和-O0来编译做测试,一开始-O1生成的bin大小是8K左右,-O0生成的bin是14K左右,试了几次后,就发现-O1生成的bin变成了11k大小。其实分析到这里就挺明显的了,在-O0时,由于最后一步跳转时读取了sp+4里面的数据,但是在这之前sp的地址因设置了MSP而被手动改成了app的栈指针地址,所以它读出来的东西就已经不是之前保存起来的需要跳转的地址了,跳过去之后就会导致程序跑飞。
2023-06-09 16:34:44 1196 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人