




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、8密 别阶段标记天控器程序GPRS远程升级方案论证报告编 写: 审 核: 批 准: 北京航天科工世纪卫星科技有限公司年 月 日发送/传阅单位:副总经理、应急通信部、质量部内容摘要:主题词更改栏序号更改内容更改人更改日期1方案草稿编写梁静娴、赵亭军2013.10.242修改张恒斌345678一、概述客户在应用中有时需要增加新功能,有时也会遇到在设计天控器程序时没有考虑到的问题,以及程序本身存在bug,这些在实际应用中都无法避免,并且产品都是一代一代更新的,所有这些都面临着程序的升级更新问题。目前主要有几种程序更新方法,第一种是IAP,全称是“In-Application Programming”
2、,中文解释为“在程序中编程”。IAP是一种对通过微控制器的对外接口(如USART,IIC,CAN,USB,以太网接口甚至是无线射频通道)对正在运行程序的微控制器进行内部程序的更新的技术(注意这完全有别于ICP或者ISP技术)。ICP(In-Circuit Programming)技术即通过在线仿真器对单片机进行程序烧写,而ISP技术则是通过单片机内置的bootloader程序引导的烧写技术。无论是ICP技术还是ISP技术,都需要有机械性的操作如连接下载线,设置跳线帽等。若产品的电路板已经层层密封在外壳中,要对其进行程序更新无疑困难重重,若产品安装于狭窄空间等难以触及的地方,更是一场灾
3、难。但若进引入了IAP技术,则完全可以避免上述尴尬情况,而且若使用远距离或无线的数据传输方案,甚至可以实现远程编程和无线编程。这绝对是ICP或ISP技术无法做到的。2代天控器预留了GPRS模块可供选用,除了可以用来与上位机建立远程通信外还可以用来对产品进行远程升级,为程序升级和维护提供了方便。二、方案设计思路本次设计的2代天控器程序远程升级方案采用GPRS模块与上位机通信,采用IAP技术对天控器程序进行升级。其流程如下图所示,带有GPRS模块的天控器通过公网与用户上位机建立通信连接,当用户需要更新天控器程序时,用户在PC端通过上位机软件将要更新的程序经过使用GPRS建立的无线通信链路发送给天控
4、器,天控器接收到新程序后,通过IAP技术对天控器程序进行更新。根据升级要求,主要的工作分为两大部分:1. 通过GPRS与上位机建立可靠的通信连接。2. IAP技术的实现。IAP技术实现流程图实现IAP技术的核心是一段预先烧写在单片机内部的IAP程序。这段程序主要负责与外部的上位机软件进行握手同步,然后将通过外设通信接口将来自于上位机软件的程序数据接收后写入单片机内部指定的闪存区域,然后再跳转执行新写入的程序,最终就达到了程序更新的目的。STM32的内部闪存地址起始于0x8000000,一般情况下,程序文件就从此地址开始写入。此外STM32是基于Cortex-M3内核的微控制器,其内部通过一张“
5、中断向量表”来响应中断,程序启动后,将首先从“中断向量表”取出复位中断向量执行复位中断程序完成启动。而这张“中断向量表”的起始地址是0x8000004,当中断来临,STM32的内部硬件机制亦会自动将PC指针定位到“中断向量表”处,并根据中断源取出对应的中断向量执行中断服务程序。最后还需要知道关键的一点,通过修改STM32工程的链接脚本可以修改程序文件写入闪存的起始地址。1. STM32复位后,从地址为0x8000004处取出复位中断向量的地址,并跳转执行复位中断服务程序,随后跳转至IAP程序的main函数。2. 执行完IAP过程后(STM32内部多出了新写入的程序,图2中以灰色底纹方格表示,地
6、址始于0x8000004+N+M)跳转至新写入程序的复位向量表,取出新程序的复位中断向量的地址,并跳转执行新程序的复位中断服务程序,随后跳转至新程序的main函数。3. 在新程序main函数执行的过程中,一个中断请求来临,PC指针仍会回转至地址为0x8000004中断向量表处,而并不是新程序的中断向量表,这是由STM32的硬件机制决定的。从上述两个过程的分析可以得知,对将使用IAP过程写入的程序要满足2个要求:1 新程序必须从IAP程序之后的某个偏移量为x的地址开始;2 必须将新程序的中断向量表相应的移动,移动的偏移量为x;3 而设置程序起始位置的方法是(keil uvision4集
7、成开发环境)在工程的“Option for Target.”界面中的“Target”页里将“IROM”的“Start”列改为欲使程序起始的地方,如图3中将程序起始位置设为0x8002000。void NVIC_SetVectorTable(u32 NVIC_VectTab, u32 Offset); 其中参数NVIC_VectTab为中断向量表起始位置,而参数Offset则为地址偏移量,如将中断向量表移至0x8002000处,则应调用该函数如下: void NVIC_SetVectorTable(0x8000000,
8、0;0x2000);针对2代天控器的程序升级要求设计的IAP方案如下:方案设计进度事项如下: 首先将以前做的I2C工程新加LED闪烁灯功能,调试好以后生成目标bin文件。 调通上位机和控制板的无线通信连接。 设计IAP程序。在上位机中增加在线升级命令,在老程序中设置读连接GPRS的串口的中断,然后进行解析,如果确定是升级命令,将程序跳转至IAP程序中执行,跳转成功后给上位机发送状态信息,表示控制板已经准备好接收数据,用户看到控制板发回来的提示信息以后,将目标bin文件发送给控制板,控制板在IAP程序中接收新程序的bin文件数据并写入老程序之后的空白Flash中,传送完成并且没有错误以后,将程序
9、跳至新程序的入口地址开始执行。 解决新程序存放位置问题,新程序不能一直放在老程序后面,这样是无法完成多次升级任务的。 增加程序的容错性和升级的成功率问题。容错性主要是针对升级过程中遇到的尽可能多的问题和突发情况,进行处理,避免升级过程中出现系统崩溃的问题。升级成功率问题主要针对GPRS无线通信中可能出现的偶然错误进行诸如校验等措施,增加升级后的程序的可靠性。 进行完上述实验,并解决了相关问题后,将静中通控制板的程序生成bin文件,并通过GPRS-IAP技术进行升级,对升级后的程序进行调试,直到所设计的升级方案稳定可靠。硬件改动如下: 将控制板上的SPI接口的铁电存储器换成更大容量的,使其空间能够保存控制器程序备份,当程序升级中断或者因为通信等无法完成升级的时候,将铁电存储器中的老程序备份还原系统。具体实现思路是,首次下载程序后,检验程序没有问题后,将程序备份到铁电存储器。当使用GPRS进行系统程序升级以后,在升级完
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全培训表制作教程课件
- 2025年福建省永春县城市建设集团有限公司及权属企业招聘6人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025春季北京师范大学保定实验学校(第32届)教师招聘66人考前自测高频考点模拟试题附答案详解
- 2025年宿州市宿马园区两站两员招聘11人模拟试卷及参考答案详解1套
- 2025贵州遵义市住房和城乡建设局面向基层选调所属事业单位人员2人模拟试卷带答案详解
- 2025江苏苏州高新区镇湖街道招聘村(社区)工作人员笔试考前自测高频考点模拟试题(含答案详解)
- 2025广西南宁市青秀区发展和改革局招聘2人考前自测高频考点模拟试题及参考答案详解一套
- 2025年白城市暨洮北区人才交流中心就业见习岗位和见习人员征集模拟试卷及答案详解参考
- 2025河南许昌市消防救援支队招聘政府专职队员50人模拟试卷及答案详解1套
- 2025年福建省泉州市晋江智信大数据科技有限公司招聘10人模拟试卷带答案详解
- 城乡燃气管道维护保养技术方案
- 2025年西藏公开遴选公务员笔试试题及答案(A类)
- 水土保持治理工应急处置考核试卷及答案
- 初中学生心理健康辅导手册
- 工业园区储能项目商业计划书
- 仓库搬运安全培训内容课件
- 抗炎药物作用机制研究-洞察及研究
- 2025至2030中国航空保险行业项目调研及市场前景预测评估报告
- (2025年标准)吊篮移交协议书
- 中专院校普法课件
- 水泵检修基础知识培训课件
评论
0/150
提交评论