第五十三章串口IAP实验战舰STM32开发板.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
"串口IAP实验战舰STM32开发板" 本章节主要介绍了串口IAP实验战舰STM32开发板的相关知识点,涵盖了IAP简介、硬件设计、软件设计、下载验证等方面的内容。 IAP简介 IAP(In Application Programming)即在应用编程,IAP是用户自己的程序在运行过程中对User Flash的一部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。 IAP的实现 实现IAP功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信方式(如USB、USART)接收程序或数据,执行对第二部分代码的更新;第二个项目代码才是真正的功能代码。这两部分项目代码都同时烧录在User Flash中,当芯片上电后,首先是第一个项目代码开始运行,它作如下操作: 1)检查是否需要对第二部分代码进行更新 2)如果不需要更新则转到4) 3)执行更新操作 4)跳转到第二部分代码执行 Bootloader和APP程序 我们将第一个项目代码称之为Bootloader程序,第二个项目代码称之为APP程序,他们存放在STM32 FLASH的不同地址范围,一般从最低地址区开始存放Bootloader,紧跟其后的就是APP程序。 STM32的APP程序 STM32的APP程序不仅可以放到FLASH里面运行,也可以放到SRAM里面运行,本章我们将制作两个APP,一个用于FLASH运行,一个用于SRAM运行。 STM32正常的程序运行流程 STM32正常的程序运行流程如图53.1.1所示: 1. 闪存物理地址栈顶地址复位中断向量(中断向量表起始地址) 2. Reset_Handler非可屏蔽中断向量 3. NMIEeception硬件错误中断向量 4. HardFaultException复位中断程序入口 5. Reset_Handler(void)… 6. 硬件错误中断程序入口HardFaultException(void)… 7. 中断请求 STM32内部闪存(FLASH)地址 STM32内部闪存(FLASH)地址起始于0x08000000,一般情况下,程序文件就从此地址开始写入。 中断向量表 STM32基于Cortex-M3内核的微控制器,其内部通过一张“中断向量表”来响应中断,程序启动后,将首先从“中断向量表”取出复位中断向量执行复位中断程序完成启动,而这张“中断向量表”的起始地址是0x08000004,当中断来临,STM32的内部硬件机制亦会自动将PC指针定位到“中断向量表”处,并根据中断源取出对应的中断向量执行中断服务程序。 加入IAP程序后的程序运行流程 加入IAP程序后的程序运行流程如图53.1.2所示: 1. 闪存物理地址栈顶地址复位中断向量(中断向量表起始地址) 2. Reset_Handler非可屏蔽中断向量 3. NMIEeception硬件错误中断向量 4. HardFaultException复位中断程序入口 5. Reset_Handler(void)… 6. 硬件错误中断程序入口HardFaultException(void)… 7. 中断请求
剩余15页未读,继续阅读
- 粉丝: 97
- 资源: 2万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 没用333333333333333333333333333333
- 基于Vue和SpringBoot的企业员工管理系统2.0版本设计源码
- 【C++初级程序设计·配套源码】第2期-基本数据类型
- 基于Java和Vue的kopsoftKANBAN车间电子看板设计源码
- 影驰战将PS3111 东芝芯片TT18G23AIN开卡成功分享,图片里面画线的选项很重要
- 【C++初级程序设计·配套源码】第1期-语法基础
- 基于JavaScript、CSS、HTML的简易DOM版飞机游戏设计源码
- 基于Java开发的日程管理FlexTime应用设计源码
- SM2258XT-BGA144-4BGA180-6L-R1019 三星KLUCG4J1CB B0B1颗粒开盘工具 , EC, 3A, 94, 43, A4, CA 七彩虹SL300这个固件有用
- GJB 5236-2004 军用软件质量度量