6574| 8
|
IAP实现,程序跳转疑问 |
5金钱
最佳答案这不是栈和堆初始化的问题,而是跳到应用代码后,栈和堆指向的就不是同一个地址。
我这正好有升级代码和应用代码,可以详细的举例
bootloder:
生成的二进制文件
小端模式,所以偏移0x00位的数据为0x020010B0,对比map表
就知道这儿放的是主堆栈顶地址(0x200010b0)。
在参考跳转后的application:
.map文件
可以知道跳转后的主堆栈顶地址是(0x20013000)
跳转代码里__set_MSP(*(__IO uint32_t*)USER_APPLICATION_F ...
| ||
持续而安静地投入
|
||
| ||
| ||
| ||
持续而安静地投入
|
||
| ||
I See Fire.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·.·. 只给方向,不妨碍思考
|
||
| ||
持续而安静地投入
|
||
| ||
持续而安静地投入
|
||
| ||
持续而安静地投入
|
||
| ||
|手机版|OpenEdv-开源电子网
( 粤ICP备12000418号-1 )
GMT+8, 2025-5-11 13:02
Powered by OpenEdv-开源电子网
© 2001-2030 OpenEdv-开源电子网