马振华 梁欣颖 张弛
摘要:某控制系统在使用和维护过程中,經常需要对其嵌入式应用软件进行升级。为了克服仿真器烧写方式操作麻烦且效率低下的缺点,设计了一个在线加载软件来完成应用软件的在线升级,为地面维护人员升级软件提供了便利。
关键词:在线加载;RS422;FLASH
1 概述
当今社会,各种嵌入式控制系统已经广泛应用于人们生活的方方面面。某控制系统软件包括系统软件及应用软件。在使用过程中,经常需要根据实际情况对其嵌入式应用软件进行升级。在调试阶段,通常打开产品口盖利用JTAG接口进行软件烧写,[1,2]但是在产品装机后此种方法不仅麻烦且效率非常低。因此研究在不开口盖的情况下完成应用软件的在线升级的方案十分必要。为了充分利用现有资源且对现有系统软件及应用软件影响最小,新设计一个在线加载软件用于在上位机的控制下,通过RS422总线接收应用软件镜像文件,完成应用软件的在线加载。整个加载过程中无需打开产品口盖连接仿真器。
2 在线加载软件设计
考虑到FLASH扇区擦除及固化过程耗时较长,不宜在实时任务中执行,在线加载软件采用前后台任务的结构。在前台周期任务中进行应用软件镜像文件目标码的接收及缓存,目标码全部缓存完毕后,在后台任务中依次进行FLASH扇区擦除、固化及目标码的CRC校验。在整个加载过程中,在线加载软件每60ms实时向上位机发送当前加载状态(包括传输中、传输成功、传输失败、固化中、固化成功、固化失败、校验中、校验成功、校验失败、空)及加载进度,以便地面维护人员实时监控本次应用软件的加载状态及加载进度。……