当前位置:文档之家 > STM32 MCU IAP例程跳转到APP代码简要分析

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

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

问题 问题::

有客户在初次使用 STM32 MCU IAP的例程的,可能会对跳转到 APP 部分的函数的实现产生疑问 :

问题 1:JumpAddress 地址为什么指向 APPLICATION_ADDRESS + 4 ;

MSP 主堆栈指针为什么指向 APPLICATION_ADDRESS ;

问题 2:为什么需要做以下判断 : if (((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFE0000 ) == 0x20000000)

{

}

此 Tips 对于这两个个问题做简要分析 . 进行所以说主要代码如下 :

/* Test if user code is programmed starting from address "APPLICATION_ADDRESS" */

if (((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFE0000 ) == 0x20000000)

{

/* Jump to user application */

JumpAddress = *(__IO uint32_t*) (APPLICATION_ADDRESS + 4);

Jump_To_Application = (pFunction) JumpAddress;

/* Initialize user application's Stack Pointer */

__set_MSP(*(__IO uint32_t*) APPLICATION_ADDRESS);

Jump_To_Application();

}

调研 调研::

问题 1分析 :

从 startup_stm32f4xx.s中的启动代码可以看出 :程序开始第一条指令地址为 CSTACK ,第二 条指令地址为复位指令 ,参考代码中的红色部分 (蓝色为注释 ) ;

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 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

下载Word文档免费下载:

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

(共2页)

STM32IAP使用说明

STM32 IAP 解析 例程 源码 STM32 IAP 调试经验 ...(可以单存用单片机内部 flash,对于中大型容量 MCU,...(0x8002000)//跳转至用户 app 区 } 用户应用程序...

STM32 网络远程升级固件的IAP程序实现与解析

STM32 网络远程升级固件的IAP程序实现与解析_电子/电路_工程科技_专业资料。本文主要STM32网络升级固件的IAP程序进行解析,也就是在STM32联网的情况下在浏览器上...

关于IAP与APP互相跳转的实现

关于IAPAPP 互相跳转的实现首先,在您动手做这个实验之前,先要弄清除咱俩的软硬件有什么不同: 1. 我的 CPU 是 STM32F103ZET6,里面有 512K 的 FLASH,...

STM32的bootloader IAP编程

STM32的bootloader IAP编程_机械/仪表_工程科技_专业...指 MCU 可以在系统中获取新代码并对自己重新 编程,...jump2app(); //跳转到 APP,执行复位中断程序 } ...

STM32浅谈之IAP

手头有 IAP 例程,但是要搞懂需要先知道 IAP 原理...其实 IAP 根本没什么,很简单。我使用的是 STM32F...处 理完成后需要跳转至 APP 程序。第二个程序,即...

STM32用户基于IAP的程序更新技术

STM32用户基于IAP的程序更新技术_计算机软件及应用_...C指针在 Boo t区移动,不能随意跳转至常态存储区。...参考文献[ ]意法C(1ortex3微控制器重塑MCU 市场[...

基于STM32的IAP设计文档

IAP 以后(即将新的 APP 代码写入 STM32 的 FLASH...并跳转执行新程序的复位中断服务程 序,随后跳转至新...只需要将这个bin文件传送给 单片机,即可执行IAP升级...

stm32 IAP远程升级解决方案

分析 IAP 设计的重要性,以 STM32F103RC 为例,...STM32 系列单片机是 ST 公司推出的 32 位产品 线...就跳转到 APP 程序入口,如标号 ④ 所示,从 0x...

STM32 IAP在线升级

STM32 IAP在线升级_计算机软件及应用_IT/计算机_...MCU 电后,首先运行 BOOT,BOOT 起来后,做如下...[回复] 你好,请问一下,你从 app 跳转IAP 的...

STM32 IAP笔记

FLAG_TO_APP 则直接跳转到 App 程序 运行,如果...要实现 IAP 功能一般要设计两部分代码,一是 ...因为 STM32F103 的单片机是基于 Cortex-M3 核的, ...