您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页关于IAP技术的在STM32在线升级的探讨

关于IAP技术的在STM32在线升级的探讨

来源:五一七教育网
Technology FOrum 关于l AP技术的在STM32在线升级的探讨 赵明松 (南京科远自动化集团股份有限公司,江苏南京211100) 跳转到引导程序区(Bootloader),接收新程序数据包,完成Flash 编程并跳转到新程序区执行程序。扇区l~扇区7为程序存储低区; 扇区8~扇区13为程序存储高区;扇区14存放当前程序运行区域 标志,如果当前程序运行在高区,该标志区的最低四个字节为 0x00010000,如果当前程序运行在低区,该标志区的最低四个字节 为OxO0008000。 2.1.2 IAP的原理 【摘要】在应用编程(IAP)技术为系统在线升级和远程升级提 供了良好的解决方案,也为数据存储和现场固件的升级都带来了极 大的灵活性。通常可利用芯片的串行口接到计算机的RS232口、通 过现有的Intemet或、无线网络或者其他通信方式很方便地实现在 线以及远程升级和维护,笔者结合飞思卡尔STM32系列微处理器的 特点,对STM32在线IAP升级进行分析,同时讲述了IAP在线更 新应用程序的原理。 IAP函数是固化在微处理器内部flash上的一些函数代码,最 终的用户程序可以直接通过调用这些函数来对内部flash进行擦除 和编程操作。STM32微处理器的内部flash有一个块称为Boot 1背景 1.1程序主要更新方式 Block,位于flash的顶端,可供调用的IAP函数就位于该块中。上 目前,主流的烧录程序方法主要有Bootload技术,ISP技术以 电后Boot Block被映射到内部地址空间的顶端,同样lAP函数人口 地址也被映射到地址0x7ffffff0处。用户可通过跳转到该地址来调 及IAP技术三种。 1.1.1 Bootload技术 用相应的lAP函数。 2.1.3总体思路 引导加载程序,是指系统家电时,控制器将外部存储器中的代 分站上电后,首先运行位于Flash Ox0O0O~0x3FFF中的跳转程 码载入到内部告诉存储器单元的执行过程。 序。跳转程序会读取位于l4扇区的当前程序运行标志,如果该扇区 1.1.2 ISP技术 In System Programming在系统编程是指直接在目标电路板上 的最低四个字节为OxO0010000,表示当前程序运行在高区,跳转程 对芯片进行编程一般需要一个自举程序BootLoader来执行。ISP也 序会跳转到Flash的0x00010000处执行用户程序;如果该标志区的 有叫ICP In Circuit Programming、在电路编程、在线编程。 最低四个字节为OxO0008000,表示当前程序运行在低区,跳转程序 会跳转到Flash的OxO0002000处执行用户程序。用户程序正常执行 1.1.3 IAP技术 In Application Programming在应用中编程是指最终产品出厂 后,会按照设计进行正常的程序采集、数据处理传送。当接收到升 后由最终用户在使用中对用户程序部分进行编程实现在线升级。IAP 级命令后,用户程序会跳转到Flash的0xO0000400处的Bootloader 要求将程序分成两部分引导程序、用户程序。引导程序总是不变的。 处进行升级的一些操作 当升级成功后,Bootloader程序更新当前 lAP也有叫在程序中编程。ISP与IAP的区别在于ISP一般是对芯片 程序运行区标志,程序跳转到新程序处运行,如果升级不成功,返 整片重新编程用的是芯片厂的自举程序。而IAP只是更新程序的一 回升级前的程序。 2.2 User Application(用户应用)区 部分用的是电器厂开发的lAP引导程序。综合来看ISP受到的 更多而IAP由于是自己开发的程序 更换程序的时候更容易操作。 该区程序是应用程序存储区域,需要注意的是,在程序正确执 l_2 STM32芯片简介 行时,要将bootload需要判定的标志位置一个正确的值,用于做 STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应 bootload程序跳转的依据。另外在该应用程序执行过程中如果收到 用专门设计的ARM Cortex-M3内核。基本型时钟频率为36 ̄72MHz, 了升级命令,需要判定升级文件是否合法,地址是否是指向User 以l6位产品的价格得到比l6位产品大幅提升的性能,是16位产品 Application区。升级结束是否需要跳转到应用区可以在程序中自 用户的最佳选择。两个系列都内置32K到128K的闪存。时钟频率 行设计。 72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗 3 lAP更新固件应用程序流程 IAP更新固件应用程序均指在程序运行于Bootloader区完成。 最低的产品,相当于0.5mA/MHz。 2 IAP升级原理 若第一次只有Bootloader程序,而没有用户程序时,程序自动停留 STM32F10Ixx共有128KB片内Flash,共分为16个扇区,分别 在Bootloader区。若程序正运行于用户区情况时,要求通过串口发 为0扇区~l5扇区,每个扇区为8KB存储空间。其中第15扇区出 送某条命令给MCU(微控制器),MCU收到指令后,更新Flash存储器 厂时被固化为Boot Block区,控制复位后的初始化操作,并提供实 中进入Bootloader的标志位,使之有效,然后通过软件复位(通常 现Flash编程的方法。所以用户可用的Flash空间只有120KB。IAP 称之为“热启动”)使程序从OxO0000000位置启动,则此时启动后, 程序固化于Boot Block中,IAP操作是以扇区为单位,并占用片内 程序必定留在Bootloader区。 RAM的高32字节。下表列出STM32FIOIxx器件所包含的扇区数和存 在Bootloader区时,可以通过发送“IAP”(“IAP”命令字符由 储器地址。 Bootloader代码决定)命令来更新程序,当MCU接收到“IAP”命 表1 STM32FlOlxx Flash器件中的扇区 令后,修改用户程序是否有效标志值为无效,返回“OK”字符,然 后程序以查询方式接收一个数据包,该数据为接下来将接收到的程 扁区号 存储暑葺地址 扇睦号 存储軎地址 序数据包长度信息,并同时包含校验信息,如果正确接收数据,返 地址范鲴 规格(曲) 地址范围 规格(珏) OxO000~ 唧_F 8 8 Oxl0000~0xl1FFF 8 回两个字节(0xED,OxFA);否则返回(0x12,0x34),并结束IAP命 l 0x200。~瓶研F 8 9 0x120O0 ̄OxI3FFF 8 令,回到Bootloader命令状态。 2 O“000一 F 8 lO Oxl4O0O~0xl5FFF 8 再根据固件程序数据包长度依次接收各个数据包(标识这些数 3 Ox6000一 TFFF 8 11 Oxl600O ̄-Oxl7FFF 8 4 80口口~瞻孵F 8 1 2 0x1 8000~Ox1BFFF 8 据包为数据包1、数据包2,…,数据包n,其中n等于上一个数据 5 0虹000~咂H F 8 l3 Ox1加O0 ̄OxlB】 F 8 包接收到的固件程序数据包长度(1ength)),这里每个数据包结构均 6 0虻∞0~OxDFFF 8 l4 OxIC呻0~0xIDFFF 8 样,数据包由两部分组成,256B的固件程序数据和两个字节的 T D吐0口口~慷FFFF 8 15 嘶lE∞0~0 1FFFF 8 CRC16校验码,一个数据包总长度为256B,在对固件程序打包时, 2.1 Boot Block区 若包数据不满256B,那么在包后面添加OxFF,直至256B。 2.1.1 Flash的扇区划分 程序中每接收数据包1~数据包n中任何一个数据包时,若接收正  本设计将Flash划分为四个区,扇区0存放跳转程序和升级引 确,则返回(OxED,0xFA),同时将数据写入对应Flash存储单元;(一F转第476页) 导程序(Bootloader)。分站上电后执行跳转程序,跳转到用户程 序处。用户程序运行过程中,如果接收到升级指令,会从用户程序 【关键词】STM32;IAP;在线升级;应用程序 一490 I华东科技 Technology FOrum 浅谈飞机维修支持系统AMSS 刘 泽 (国航股份工程技术分公司重庆维修基地,重庆401 1 2o) 主要ACARS上传报文种类:位置申报、 航段报、 故障申请 报、 自由格式报。 2故障诊断 故障诊断是AMSS系统的核心模块,其功能是处理与故障有关 的ACARS报文,采用模式识别和推理查找类似历史故障,进行故障 诊断。当AMSS系统接受故障报告时,故障诊断功能自动检索MEDMS 的技术资料和历史类似故障,把检索结果及当时故障现象、故障描 述、建议排故步骤等信息提供用户处理。在故障处理工作流程的控 制下,所有与故障有关的信息,可以完整地自动传递给各部门。 3故障处理 AMSS利用MEDMS系统实现故障处理工作流程化。故障处理是按 照预定的维修流程,在计算机的控制下处理每个事务,并跟踪处理 过程中每一步骤的实施情况。主要工作流程包括:航线排故工作流 程、技术支援工作流程。 4MEDMS资料检索 MEDMS系统为机务维修排故提供了必不可少的技术标准,组合 式和职能化的MEDMS资料检索模块可以节约大量的人工查找资料时 间。AMSS可按下述方式组合检索有关的资料:FR ̄I/FIM一故障号,故 障现象,维修信息号;MEL一故障现象;AMM—AMTOSS号;IPC一件号, 图号;WDM一部件号、章节号。 5其他系统接口 AMSS系统需要大量的基础信息,可以人工输入或从其他系统中 获得;同时,AMSS系统也为航空公司其他系统提供飞机状态、故障 信息。主要的系统接口包括:(1)MEL信息收集,由人工维护{(2) 机载DFDMU磁(光)盘设备接口一一数据磁(光)盘输入,系统自动识 别、格式转换、解析、处理并入库:(3)ECM软件接口一一AMSS系统 输出从ACARS电报中提取出的数据,编译输入至几种ECM指定的格 式文件中,系统自动调用ECM软件,可打印出趋势图,进行发动机 巡航性能监控与性能分析;(4)附件监控系统接口一一为附件监控办 公室提供实时飞机、发动机和APU使用数据,杜绝APU滥用等事件 的发生。 应用前景 当今世界已经进入了信息化时代,民航对于计算机的需求也与 日俱增,电子管理和网络化应用是现代民航企业发展的主流和趋势。 对于机务维修这个涉及飞行安全的关键部门,合理地利用计算机管 理,尽量减少人为差错,增强安全因素,也就显得尤为重要 AMSS系统采用先进的飞机维修管理概念,利用了先进的ACARS 系统、地空数据通信网络和企业级数据库技术,以及模糊推理、人 工智能技术,可以有效地缩短飞机排故时间,保证航班安全、准点 运行,是降低维修成本和提高航空公司效益的关键系统。随着2005 年的来临,所有的民航飞机均要加装ACARS设备,AMSS系统将有广 阔的应用前景。 参考文献: …黄艳芳,祝国瑞,庞前聪.3DS MAX和MultiGen Creator相结合的虚 拟城市建模方法[11l测绘信息与工程,2005(5). [2]洪光,李洪儒,牟建国.基于Creator的三维模型的简化研究,I]计算 机仿真.2004(1). 【3】王裕俭.基于MultiGen Creator和Vega的虚拟现实探讨Ⅱ】_测绘信 息与工程,2003(4). 并且该方案通过实践验证,具有非常高的可靠性。另外,可以想象, 如果Boot区加入TCP/IP协议连入互联网,即可借助网络对产品进 行在线升级,即可提高系统的可维护性,又能降低维护成本。文章 中如有纰漏谬误,欢迎批评指正。 参考文献: …周立功等.ARM微控制器基础与实战(第二版)北京航空航天大 学出版社,2005 [2】意法半导体(中国)投资有限公司.MCU技术支持.STM32数据手 册.2010.O1 【摘要】在所有目前航空公司使用的维修检测系统中,AMSS 应用是非常普遍的,也是所有航空系统中的核心组成部分,利用 ACARS技术和MEDMS系统建立起一整套自己的航空故障检测处 理系统,可以更好的保证飞机运行,并且迅速的排出各种异情,也 有利于飞机运行部门进行更好的地面检测,了解飞机的运行情况, 从而更为合理的安排飞行计划。 【关键词】飞机故障维修;AMSS检测系统;计划更新 飞机的维修是保证民航部门的飞机正常运行的前提和基础,飞 机处于良好运行状态是检修系统实时监控的重点所在,一般而言, 飞机的维修分为几个等级,第一级的是在维修基地进行,一般情况 下都是一个维修的工厂当中,拥有着大型的机械和厂房,主要负责 飞机的大修还有内部检修。二级维修基地一般都在外场,飞机不进 入车间之内,都在航线上进行保养和日常的维护处理,这样的检测 维修中一般都是依靠计算机控制系统完成,所以对于很多的小型航 空公司而言,他们并不需要建立自己的维修基地,而是采用委托的 方式将自己的维修任务委派给外面的一些大的航空公司或者维修的 单位。 建立AMSS系统的意义是:实现飞机全程自动化的状态跟踪和故 障告警;缩短飞机维修时间,减少由机务原因引起的航班延误及取 消;增强故障侦测能力,减少部件误换次数;提供与已有飞机模式 故障诊断系统的接口,提高维修效率;提供一个有效的故障控制手 段,降低维修成本;为航空公司各相关部门提供实时飞机故障和发 动机状态信息。 AMSS系统功能 AMSS系统基于机载ACARSS设各、地空数据通信网络和地面网 络,利用地面强大的飞机维修信息数据库、数据支持和决策支持系 统,对机载设备所采集的各类实时状态数据及时处理,通过地面与 飞机的信息交互,地面维修人员可以及时地、完整地掌握飞机的状 态,并通过一系列的故障诊断和处理流程,实现对飞机的故障控制 和维修。 AMSS系统可实现的功能:ACARS机务信息处理和传输、故障诊 断、故障处理、MEDMS资料检索、与其他系统的接口。 1 ACARS机务信息处理和传输 ACARS信息处理是对下行ACARS信息分解、解释过程。不同机 型、不同机载设备厂商定义的报文格式不完全相同,而且需要处理 的报文种类也有变化,所以系统需要具备报文格式自定义功能,以 利于使用的灵活性。报文处理的主要功能包括:报文数据库管理一一 按照报文种类分别存储在数据库中、报文格式及完整性检查、报文 格式定义一一定义每类报文下传编码格式。 AMSS系统主要处理的ACARS报文的种类有:0001(OUT、OFF、 ON、IN)报;CMCF PLF故障报;ACMF发动机(左右)起飞、爬升、 稳态报、超差报和滑油监控报。 ACARS报文分析主要功能:接收报文分类,自动提取相关信息; 处理故障数据,故障报警;计算飞机空中使用时间,发动机使用时 间和循环,APU使用时间和循环。 ACARS报文上传是实现地面与飞机交互的重要手段,提供的功 能包括:用户权限管理一一管理拥有数据上传权限的用户, 以及 上传数据种类; 上传记录统计和跟踪; 上传报文的接收确认。 (上接第490页) 否则返回(0x12,0x34),并结束IAP命令,回到Bootloader 区等待IAP命令状态。若所有数据包接收正确,而且写入Flash正 确,则修改用户程序有效标志,并返回(OxED,0xFA),否则返回(Oxl2, 0x34),并结束lAP命令,回到Bootloader区等待IAP命令状态。 待所有数据包接收完毕,并写F 1 a s h结束后,复位相应标志位, 再跳转到应用区,执行应用程序。 4结语 该在应用更新固件程序方案己广泛应用于基于Cortex—M3内核 的系列微处理器设计的产品中,使固件程序升级变得非常简单方便, 476 1华东科技 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务