[发明专利]一种基于操作系统支持的嵌入式系统通用在线固化方法有效
申请号: | 201310316991.X | 申请日: | 2013-07-25 |
公开(公告)号: | CN103412770A | 公开(公告)日: | 2013-11-27 |
发明(设计)人: | 王婧;彭飞;戈强;徐建;杨桦;刘波;王勇;于丹 | 申请(专利权)人: | 北京控制工程研究所 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F11/08 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 安丽 |
地址: | 100080 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 操作系统 支持 嵌入式 系统 通用 在线 固化 方法 | ||
技术领域
本发明涉及一种嵌入式系统中通用的在线程序固化方法,特别是基于操作系统支持的嵌入式系统非易失性存储器的通用在线固化方法。
背景技术
程序和数据的固化是嵌入式软件开发、测试过程中的重要环节,随着软件的不断升级,需要频繁地将程序和数据烧写到芯片中,一种好的固化方法能够大幅降低开发成本,缩短研制周期。
目前的嵌入式系统程序在线固化的主要方法是首先通过调试器(例如JTAG调试器)获取处理器的控制权,随后在调试器软件中将烧写软件及待固化程序加载至目标机内存中,最后运行烧写软件,使待固化程序被烧写到指定的非易失性存储器中。
传统在线固化方法的缺点是必须依赖调试器获取CPU的控制权,而在航天航空等大型军工产品的研制和测试中,为避免调试器对硬件产品造成器件损伤,调试器的使用受到许多限制。
目前,国内外已在嵌入式系统程序在线固化方面开展了一些研究,如《单片机与嵌入式系统应用》2008年第3期发表的“ARM系统代码固化的串口实现”及专利“一种基于J-LINK间接烧写程序到NANDFLASH的方法”均提出先通过调试器将烧写软件加载至内存中,再通过串口将待固化程序上传至内存,最后进行烧写的方法。然而这一方法仍需要调试器的辅助。专利“一种机载嵌入式计算机数据加载方法”提出另一种在线固化方法,即在启动程序中内置一种在线编程工作模式,进入该模式后,接收待固化的程序并进行程序在线升级固化。《机电一体化》2011年第2期发表的“基于RS-232的FLASH在线编程研究”一文也提出类似方法。然而这种内置在线编程工作模式的方法对于程序存储用非易失性存储器资源有限的系统,如航天飞行器控制计算机,空间开销过大。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种基于操作系统支持的嵌入式系统通用在线固化方法,本方法不需要任何调试器的支持,也不需要在启动程序中内置在线编程固化的程序代码,适用于嵌入式系统中各类非易失性可编程程序存储器上的在线固化,解决了目前嵌入式软件固化的灵活性较差、可靠性不高、效率不高及程序空间浪费较大的问题。
本发明的技术解决方案是:
一种基于操作系统支持的嵌入式系统通用在线固化方法,其步骤如下:
(1)地面机向目标机循环发送键码序列;
(2)目标机操作系统启动后接收键码序列,若接收到有效键码序列,则向地面机发送握手回送标志建立连接并进入步骤(3),否则进入步骤(10);
(3)目标机操作系统接收地面机发送的数据帧头1、烧写程序和烧写程序的校验码;
(4)目标机操作系统按照目标机-地面机通讯协议中的数据校验算法对接收到的烧写程序计算校验码,并与步骤(3)中接收到的烧写程序的校验码进行比对,若比对一致则进入步骤(5),否则进入步骤(10);
(5)烧写程序接收地面机发送的数据帧头2、待固化程序和待固化程序的校验码;
(6)烧写程序按照目标机-地面机通讯协议中指定的数据校验算法对接收到的待固化程序计算校验码,并与步骤(5)中接收到的待固化程序的校验码进行比对,若比对一致则进入步骤(7),否则进入步骤(11);
(7)烧写程序将待固化程序写入数据帧头2中的烧写目标地址;
(8)烧写程序从烧写目标地址中读取步骤(7)中待固化程序并计算待固化程序的校验码,并与步骤(5)中接收到的待固化程序的校验码再次进行比对,并将比对结果发送给地面机,地面机进入步骤(9),烧写程序进入步骤(11);
(9)地面机接收并显示目标机发送的固化程序比对结果;
(10)目标机操作系统正常进行任务调度;
(11)烧写程序自动重启目标机。
所述步骤(2)中目标机接收地面机循环发送的键码序列期间,字节间隔超过通讯字节最大间隔,则认为通讯失败,目标机操作系统正常进行任务调度。
所述步骤(2)中有效键码序列是指目标机将接收到的键码序列与目标机-地面机通讯协议中要求的键码序列比对,若比对一致,则认为接收到了有效的键码序列,并立即向地面机发送握手回送标志,继续执行;若在目标机-地面机通讯协议中要求的最大等待时间内未接收到有效的键码序列,则停止数据接收,目标机操作系统正常进行任务调度。
所述步骤(3)中的数据帧头1包含目标内存地址1和上传数据的长度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京控制工程研究所,未经北京控制工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310316991.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种针对鱼虾海参等纯中药杀虫剂及配制方法
- 下一篇:一种螺钉紧固装置