STM32用户基于IAP的程序更新技术*
2012-06-25李兴鹤蔡亮宋吉波王鹏金辛海时迎亮
单片机与嵌入式系统应用 2012年1期
李兴鹤,蔡亮,宋吉波,王鹏,金辛海,时迎亮
(1.上海辛格林纳新时达电机有限公司 研发中心,上海 201802;2.上海新时达电气股份有限公司)
李兴鹤(工程师),从事嵌入式系统、变频技术、新能源技术、电梯控制系统等方面的研究。
引 言
嵌入式系统的开发最终需要将编译好的代码下载到具体的微控制器芯片上,而不同厂家的微控制器芯片有不同的下载方式。随着技术的发展和应用需求的更新,用户程序加载趋向于在线编程的方式,越来越多的芯片公司提供和开放了用户更新程序的接口与方式,以提高整个系统的可靠性和可维护性。ST公司基于Cortex-M3内核的STM32系列产品得到了广泛应用,在许多基于STM32系列产品的开发过程中不可避免要进行用户程序的加载。本文在介绍IAP技术原理基础上,详细论述使用该技术在STM32F103ZE芯片上实现用户在线更新功能的方法,并具体分析其中可能发生异常的原因。
1 背景综述
1.1 主要程序更新方式
目前,除了直接通过仿真器或烧录器进行程序更新方式外,主要有Bootloader技术、ISP技术以及IAP技术3种更新程序的方法。
(1)Bootloader技术
引导加载程序,是指系统加电时,控制器将一段存储在外部非易失性存储器中的代码载入到内部高速存储器单元(如片内RAM)中执行的过程。
(2)ISP(In System Programming)技术
MCU内部自带Bootloader,通过指定的方式激活,通过通信接口下载或擦除用户代码。需要有外部介入,静态的,在用户代码没有运行时进行下载。
(3)IAP(In Application Programing)技术
单片机内部具有一些可擦写的非易失存储器,如Flash。……
登录APP查看全文
