- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
基于IAP的STM32程序更新技术
引言
嵌入式系统的开发最终需要将编译好的代码下载到具体的微控制器芯片上,而
不同厂家的微控制器芯片有不同的下载方式。随着技术的发展和应用需求的更
新,用户程序加载趋向于在线编程的方式,越来越多的芯片公司提供和开放了
用户更新程序的接口与方式,以提高整个系统的可靠性和可维护性。ST公司基
于CortexM3内核的STM32系列产品得到了广泛应用,在许多基于STM32系列产
品的开发过程中不可避免要进行用户程序的加载。本文在介绍IAP技术原理基
础上,详细论述使用该技术在STM32F103ZE芯片上实现用户在线更新功能的方
法,并具体分析其中可能发生异常的原因。
1背景综述
1.1主要程序更新方式
目前,除了直接通过仿真器或烧录器进行程序更新方式外,主要有Bootloader
技术、ISP技术以及IAP技术3种更新程序的方法。
(1)Bootloader技术
引导加载程序,是指系统加电时,控制器将一段存储在外部非易失性存储器中的
代码载入到内部高速存储器单元(如片内RAM)中执行的过程。
(2)ISP(InSystemProgramming)技术
MCU内部自带Bootloader,通过指定的方式激活,通过通信接口下载或擦除用
户代码。需要有外部介入,静态的,在用户代码没有运行时进行下载。
(3)IAP(InApplicationPrograming)技术
单片机内部具有一些可擦写的非易失存储器,如Flash。在微控制器独立运行
时,用户利用自己编写的烧写程序通过通信下载或擦除自己的代码。注意不具
备IAP功能的单片机并不能对Flash的数据进行修改。无需外部介入,动态
的,在用户代码运行时进行下载。
1.2STM32系列简介
STM32系列微控制器基于CortexM3内核,并在其架构上进行了多项改进,包括
在提升性能的同时提高了代码密度的Thumb2指令集,以及大幅度提高中断响应
的紧耦合嵌套向量中断控制器,从而大大提高了处理速度,降低了系统功耗。
使用新内核的Thumb2指令集,设计人员可以把代码容量降低45%,几乎把应用软
件所需内存容量降低了一半。此外,STM32提供丰富的外围接口,目前广泛应
用到工业用及家用安全设备、消防和暖气通风空调系统等,以及家电、消费电
子、低功耗的可便携式设备等。本文以STM32F103ZE为例来研究及使用IAP技
术。
2IAP技术
2.1IAP技术原理
首先人为设定单片机内部存储区分为两块:其中一块称为Boot区,用于存储
IAP功能程序代码;另外一块称为常态存储区,用于存储除IAP功能外的所有
程序代码。IAP技术指的是,MCU在运行的状态下,通过程序(PC)指针不断读
取需要执行的程序指令。正常情况下,PC指针只在常态存储区内移动,并读取
指令,如图1所示。当用户需要更新或升级程序时,程序指令会将PC指针跳转
至Boot区。这段存储区的指令代码的功能是,通过通信等方式接收用户需要更
新的程序数据,并通过校验确认接收到的程序数据正确后,根据约定的方式写
入常态存储区,如图2所示。当完成用户程序更新后,PC指针再跳回到常态存
储区,开始执行存储在其上的用户程序,这样便实现了IAP功能。
图1通过PC指针读取程序指令图2更新存储区代码
2.2IAP技术关键点
通过研究IAP技术实现用户程序更新的过程,不难发现,在更新过程中必须保
证PC指针在Boot区移动,而不能随意跳转至常态存储区。基于这个要求,结
合微控制器原理可以得出需要特别注意的几个关键点。
(1)禁止中断
毫无疑问,中断会使得PC指针跳转至中断服务程序入口地址,因此,在进入
Boot区前需要禁止所有中断。
(2)禁用底层外围接口
对于有些外围接口,比如当采用ADC+DMA的方式进行多通道A/D采样时,采样
过程会按照预先设置的通道顺序进行A/D采样。若在PC指针跳转至Boot区前
没有禁用,则更新完程序跳回常态存储区时,其存储A/D通道值就可能发生错
位的情况。
(3)使用实时操作系统
如果使用具有抢占式RTOS(即硬实时操作系统),则需要禁止所有任务,并且
屏蔽所有的信号量及邮箱,以防止激活某个任务,导致PC指针跳转至常态存储
区。
(4)使用看门狗
在考虑导致PC指针跳转的原因
您可能关注的文档
- 任课老师对学生评语.pdf
- 城市轨道交通运营服务与管理求职自荐信.pdf
- 大学英语2022年9月四级真题试卷(第1套).pdf
- 中职旅游专业《旅游概论》模拟测试题库(第一章 旅游概述).pdf
- EMC电磁兼容测试产品的标准.pdf
- 2023年现代物流行业市场规模发展现状分析及未来市场发展战略规划可行性研究预测.pdf
- Unit 4 综合训练 2022-2023学年人教版八年级英语上册(含答案).pdf
- 《前厅客房服务与管理(第四版)》模拟试题1及答案.pdf
- 人教版四年级英语上册Unit 1 测试卷附答案 .pdf
- 2023新教科版五年级下册科学第三单元《环境与我们》知识点整理41757.pdf
- 2025年安徽工商职业学院单招职业技能测试题库带答案(典型题).docx
- 2025年洛阳科技职业学院单招职业技能测试题库带答案(新).docx
- 2025年荆门职业学院单招职业技能测试题库及答案(易错题).docx
- 2025年宣化科技职业学院单招职业技能测试题库(精练).docx
- 2025年包头职业技术学院单招职业技能测试题库带答案(新).docx
- 2025年江西工商职业技术学院单招职业技能测试题库带答案(精练).docx
- 2025年黑龙江农业经济职业学院单招职业技能测试题库精编.docx
- 2025年山东艺术设计职业学院单招职业技能测试题库带答案(基础题).docx
- 2025年陕西工商职业学院单招职业技能测试题库带答案(突破训练).docx
- 2025年承德护理职业学院单招职业技能测试题库【word】.docx
最近下载
- 年产5000吨饼干工厂设计定稿.pdf
- 2025初中七年级数学下册《相交线与平行线》大单元整体教学设计.docx
- 《作物生产技术》课程教学课件-2.1.2水稻种子萌发和出苗 课件.pptx VIP
- 2020-2024年五年高考数学真题分类汇编专题07立体几何(解析版).docx
- 高考英语总复习Unit1Festivalsaroundtheworld课件新人教版必修3.ppt
- 2023年北京邮电大学计算机科学与技术专业《计算机网络》科目期末试卷B(有答案).docx VIP
- 水土保持监理规划.docx VIP
- 监理规划(水土保持).pdf VIP
- 匿名化技术应用指南.pdf VIP
- 现代汉语网络流行语“XX感”探析_0(范本).docx VIP
文档评论(0)