基于arm的多节点在线更新软件的方法

文档序号:6522458阅读:182来源:国知局
基于arm的多节点在线更新软件的方法
【专利摘要】本发明揭示了一种基于ARM的多节点在线更新软件的方法,包括如下步骤:(1)用仿真器下载引导及启动代码到各板卡,其中引导和启动代码带有支持板卡ARM微处理芯片在应用编程的USB驱动或者网络驱动程序;(2)在上位机/服务器上安装更新应用程序的软件,该软件能通过USB或网口识别出相应板卡的地址,能够选中相应板卡下载应用软件;(3)通过转换软件或者代码模块将HEX或者BIN文件转换成IAP底层模块能识别的软件格式,并存储到相应的位置;(4)需要更新代码的数据包通过USB?HUB或路由器转发到各个板卡,板卡根据地址信息选择接收或抛弃数据包,地址匹配的数据包存储到相应位置完成软件更新。
【专利说明】基于ARM的多节点在线更新软件的方法
【【技术领域】】
[0001]本发明本方法涉及航空电子产品自动测试【技术领域】,特别是更新软件的方法。【【背景技术】】
[0002]在航空电子产品的测试【技术领域】,通常采用直接连接仿真器的方式更新应用程序,此种方式需要使用仿真器,需要搭建下载环境的步骤,同时还需要拆除系统取出板卡单独升级软件,操作复杂。

【发明内容】
】 [0003]本发明的目的在于提供一种基于ARM的多节点在线更新软件的方法,用以解决现在技术中需要使用仿真器及搭建下载环境,同时还需要拆除系统取出板卡单独升级软件而导致的操作复杂的问题。
[0004]为实现上述目的,实施本发明的基于ARM的多节点在线更新软件的方法,用于更新板卡上的软件,该板卡通过USB HUB或路由器与上位机/服务器连接,该方法包括如下步骤:
[0005]步骤一:用仿真器下载引导及启动代码到各板卡,其中引导和启动代码带有支持板卡ARM微处理芯片在应用编程(IAP, In Application Programming)的USB驱动或者网络驱动程序;
[0006]步骤二:在上位机/服务器上安装更新应用程序的软件,该软件能通过USB或网口识别出相应板卡的地址(网口为MAC地址),能够选中相应板卡下载应用软件;
[0007]步骤三:由于编译生成的应用代码一般是HEX或BIN文件,需要通过转换软件或者代码模块将HEX或者BIN文件转换成IAP底层模块能识别的软件格式,从而能让IAP底层模块识别并存储到相应的位置,如闪存中指定的地址空间;
[0008]步骤四:需要更新代码的数据包通过USB HUB或路由器转发到各个板卡,板卡根据地址信息选择接收或抛弃数据包,地址匹配的数据包存储到闪存(FLASH)的相应位置,从而完成软件更新。
[0009]依据上述主要特征,步骤二中的更新应用程序的软件可以设计成组件,嵌入到系统自身的上位机的应用软件中。
[0010]与现有技术相比较,与现有技术相比较,本发明对基于ARM的嵌入式设备通过USB或网口更新应用程序,无论是单板系统还是通过USB HUB或网络互连的多板系统均可以做到免拆升级应用程序,如此可以避免使用仿真器,省去搭建下载环境的步骤,操作简单方便,是外场更新软件的强力工具。
【【专利附图】

【附图说明】】
[0011]图1为实施本发明基于ARM的多节点在线更新软件的方法的系统的组成框架图。
[0012]图2为实施本发明基于ARM的多节点在线更新软件的方法的基于USB总线的测试设备的组成示意图。
[0013]图3为代码升级方法的流程示意图。
【【具体实施方式】】
[0014]请参阅图1所示,为实施本发明基于ARM的多节点在线更新软件的方法的系统的组成框架图。实施本发明基于ARM的多节点在线更新软件的方法的系统包括上位机/服务器,该上位机/服务器与USB HUB或路由器连接,而每一USB HUB或路由器与多个板卡连接。
[0015]针对图1所揭示的系统,实施本发明的基于ARM的多节点在线更新软件的方法包括如下步骤:
[0016]步骤一:用仿真器下载引导及启动代码到各板卡,其中引导和启动代码带有支持板卡ARM微处理芯片IAP (In Application Programming在应用编程)的USB驱动或者网络驱动程序;
[0017]步骤二:在上位机/服务器上安装更新应用程序的软件,该软件能通过USB或网口识别出相应板卡的地址(网口为MAC地址),能够选中相应板卡下载应用软件,该软件可以设计成组件,嵌入到系统自身的 上位机的应用软件中;
[0018]步骤三:由于编译生成的应用代码一般是HEX或BIN文件,需要通过转换软件或者代码模块把HEX或者BIN文件转换成IAP底层模块能识别的软件格式,从而能让底层的IAP模块识别并存储到相应的位置,如FLASH中指定的地址空间;
[0019]步骤四:需要更新代码的数据包通过USB HUB或路由器转发到各个板卡,板卡根据地址信息选择接收或抛弃数据包,地址匹配的数据包存储到FLASH相应位置,从而完成软件更新。
[0020]为对本发明更清楚的理解,以下以一实例进行说明。
[0021]请参阅图2所示,为实施本发明基于ARM的多节点在线更新软件的方法的基于USB总线的测试设备的组成示意图。该基于USB总线的测试设备包括测试单元和测试适配器两部分,其中测试单元的测试机箱中设置多个资源模块,这些资源模块通过USB总线在计算机的控制下,运行测试单元测试程序,实现整个测试过程的自动化。其中USB总线最多支持7层级联,最大连接127个设备,支持热插拔,是小型化测试设备良好的总线解决方案。
[0022]测试单元的继电器开关卡、RS422测试卡、离散量测试卡均以STM32F103微处理器为核心处理器,引导和启动代码存放到地址为0x08000000—0x08002FFF地址空间中,应用代码将被加载到从0x08003000开始的地址空间。
[0023]测试单元中的计算机通过USB总线控制测试单元中的各板卡进行测试,其中继电器板卡主要实现信号切换功能,数字多用表卡可以测量信号的电压、电流、电阻和频率等,RS422测试卡能够实现RS422信号测试,根据测试对象不同可以配备O~32V的离散量板卡。
[0024]这些板卡输入输出端用相应连接器和线缆实现整体的信号调理,然后连接到G12测试接口阵列,接口阵列由各种标准测试连接器组成。被测模块接口通过适配器与测试平台的G12测试接口阵列相连,适配器主要实现把被测模块的信号连接到平台相应的测试点上,测试点在G12测试接口阵列中有具体定义。这样就实现了一个整体的测试系统,对被测模块进行测试。[0025]请参阅图3所示,对测试单元的升级方法如下:
[0026]当启动或复位板卡时,如果检测到需要更新代码的离散量则进入IAP模式,通过该模式即可下载应用程序到STM32F103中。如果没有激活该离散量,则程序运行后PC指针跳转到0x08003000应用程序地址初始地址,运行应用程序。在某板卡进入IAP模式后,在板卡枚举时识别出该板卡,当选择好下载代码后将代码数据包通过广播方式发送到终端设备,终端设备如与数据包地址信息匹配就将数据捕获并存储到相应的地址空间。终端设备的操作依赖于烧写在0x08000000?0x08002FFF地址空间的启动代码。
[0027]在上述的应用中,测试软件分上位机测试软件和测试单元固件两部分,其中上位机测试软件开发采用VISUAL C++6.0和Labview8.6的编程环境。
[0028]可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
【权利要求】
1.一种基于ARM的多节点在线更新软件的方法,用于更新板卡上的软件,该板卡通过USB HUB或路由器与上位机/服务器连接,该方法包括如下步骤: 步骤一:用仿真器下载引导及启动代码到各板卡,其中引导和启动代码带有支持板卡ARM微处理芯片在应用编程的USB驱动或者网络驱动程序; 步骤二:在上位机/服务器上安装更新应用程序的软件,该软件能通过USB或网口识别出相应板卡的地址并选中相应板卡下载应用软件; 步骤三:通过转换软件或者代码模块将HEX或者BIN文件转换成IAP底层模块能识别的软件格式,并存储到相应的位置; 步骤四:需要更新代码的数据包通过USB HUB或路由器转发到各个板卡,板卡根据地址信息选择接收或抛弃数据包,地址匹配的数据包存储到相应位置而完成软件更新。
2.如权利要求1所述的基于ARM的多节点在线更新软件的方法,其特征在于:步骤二中的更新应用程序的软件设计成组件,嵌入到系统自身的上位机的应用软件中。
【文档编号】G06F9/445GK103617061SQ201310652598
【公开日】2014年3月5日 申请日期:2013年12月5日 优先权日:2013年12月5日
【发明者】覃勇为, 陈阵, 孙佳 申请人:中国航空无线电电子研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1