打印
[STM32F1]

STM32 MCU IAP 例程跳转到 APP 代码简要分析

[复制链接]
629|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
forgot|  楼主 | 2023-6-13 17:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有客户在初次使用 STM32 MCU IAP 的例程的,可能会对跳转到 APP 部分的函数的实现产生疑问 :
问题 1:JumpAddress 地址为什么指向 APPLICATION_ADDRESS + 4 ;
MSP 主堆栈指针为什么指向 APPLICATION_ADDRESS ;

使用特权

评论回复
沙发
forgot|  楼主 | 2023-6-13 17:36 | 只看该作者
EXTERN __iar_program_start
EXTERN SystemInit
PUBLIC __vector_table
DATA
__vector_table
DCD sfe(CSTACK) ; APPLICATION_ADDRESS
DCD Reset_Handler ; Reset Handler ; APPLICATION_ADDRESS + 4
DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler
DCD UsageFault_Handler ; Usage Fault Handler
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD SVC_Handler ; SVCall Handler
DCD DebugMon_Handler ; Debug Monitor Handler
DCD 0 ; Reserved
DCD PendSV_Handler ; PendSV Handler
DCD SysTick_Handler ; SysTick Handler

使用特权

评论回复
板凳
forgot|  楼主 | 2023-6-13 17:37 | 只看该作者
当程序启动时首先要执行复位程序,因此 JumpAddress 地址指向复位指令地址(即
APPLICATION_ADDRESS + 4) ;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1742

主题

13101

帖子

54

粉丝