首页> 中国专利> 一种用于嵌入式系统程序自动在线更新的手持式仪器及方法

一种用于嵌入式系统程序自动在线更新的手持式仪器及方法

摘要

本发明公开了一种用于嵌入式系统程序自动在线更新的手持式仪器及方法,包括微处理器模块、存储模块、USB接口、人机接口电路、串口、以太网口、串口调试电路、报警模块、锂电池电量测量模块、实时时钟模块、锂电池和电源管理模块。本发明的有益效果在于:所述用于嵌入式系统程序自动在线更新的手持式仪器自动化程度高,体积小,功耗低,人机界面直观和操作方便,能够快速完成具有在线更新程序功能的嵌入式系统的在线程序更新,满足大规模的生产的需要。

著录项

  • 公开/公告号CN106708586A

    专利类型发明专利

  • 公开/公告日2017-05-24

    原文格式PDF

  • 申请/专利权人 湘潭大学;

    申请/专利号CN201710017471.7

  • 申请日2017-01-11

  • 分类号G06F9/445(20060101);

  • 代理机构

  • 代理人

  • 地址 411105 湖南省湘潭市雨湖区羊牯塘27号湘潭大学

  • 入库时间 2023-06-19 02:14:58

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-10

    专利权的转移 IPC(主分类):G06F 9/445 专利号:ZL2017100174717 登记生效日:20220531 变更事项:专利权人 变更前权利人:湘潭大学 变更后权利人:湘潭无线电有限责任公司 变更事项:地址 变更前权利人:411105 湖南省湘潭市雨湖区羊牯塘27号湘潭大学 变更后权利人:411105 湖南省湘潭市韶山西路778号

    专利申请权、专利权的转移

  • 2019-11-15

    授权

    授权

  • 2017-06-16

    实质审查的生效 IPC(主分类):G06F9/445 申请日:20170111

    实质审查的生效

  • 2017-05-24

    公开

    公开

说明书

技术领域

本发明涉及智能硬件技术领域,尤其涉及一种用于嵌入式系统程序自动在线更新的手持式仪器及方法。

背景技术

随着集成电路工艺的提高和芯片技术的发展,由ARM、POWERPC等架构的微处理器所构建的嵌入式系统广泛应用于工业、农业、金融等各行各业。为了完成各种复杂的任务,通常这些嵌入式系统中除了必须的引导程序外,还运行有操作系统和文件系统。

通常,引导程序、操作系统内核和文件系统都固化在嵌入式系统内部的Flash中。对Flash中程序更新的方法除了将Flash芯片放在专用的烧写器中更新程序外,由于在线更新的方便性,目前已成为首选的方式。所谓在线更新程序,即在更新程序之前将微处理器设置在内部ROM引导方式下,然后上电或复位启动,微处理器在微处理器制造商预先固化在其内部ROM中的引导程序引导下,通过微处理器专用的串行调试口更新引导程序,通过以太网口更新操作系统内核和文件系统镜像。此操作过程需要人工根据程序更新所处阶段做不同的操作:

(1)在电脑中打开超级终端波特率等相关参数,启动tftp服务器软件,将待更新的文件放在某个文件夹下;

(2)在超级终端中首先更新一级引导,选择Xmodem协议将所选择的文件通过串口传输给嵌入式系统;

(3)更新二级引导程序,选择Kemit或Ymodem等协议将所选择的文件通过串口传输给嵌入式系统的内存中,此时,嵌入式系统由引导程序初始化外设,微处理转由引导程序控制,然后在超级终端下输入一系列命令执行擦除Flash、将内存中的引导程序写入Flash指定位置;

(4)在超级终端下输入命令设置被更新程序的嵌入式系统的IP地址,与tftp服务器设置在同一网段;

(5)在超级终端下输入命令将操作系统内核通过tftp下载到被更新程序的嵌入式系统的内存中,然后在超级终端下输入一系列命令执行擦除Flash、将内存中的内核镜像写入Flash指定位置;

(6)在超级终端下输入命令将文件系统镜像通过tftp下载到被更新程序的嵌入式系统的内存中,然后在超级终端下输入一系列命令执行擦除Flash、将内存中的文件系统写入Flash指定位置。

如果在同一批次生产中,接下来还要继续更新其它的同型号嵌入式系统的程序,重复执行上述步骤(2)-(6)。

可以看到,此过程中人工操作步骤多,需要操作者不断根据程序更新的阶段选择串口通信协议和用于更新的文件,而且还要重复输入命令,即使预先把相关命令记录在文档中,采用复制粘贴的方式在超级终端中重复操作,也十分繁琐。这种程序更新方法自动化程度低,工作量大,不能满足生产要求。因此,有必要设计一种用于嵌入式系统程序自动在线更新的手持式仪器及方法提高测试效率。

发明内容

本发明要解决的问题是提供一种自动化程序高,体积小,功耗低,携带方便,满足现代生产企业高效率调生产要求的用于嵌入式系统程序自动在线更新的手持式仪器及方法。

为解决上述技术问题,本发明采取的技术方案是,这种用于嵌入式系统程序自动在线更新的手持式仪器,包括:微处理器模块、存储模块、USB接口、人机接口电路、串口、以太网口、串口调试电路、报警模块、锂电池电量测量模块、实时时钟模块、锂电池和电源管理模块;其中,微处理器模块和存储模块,用于运行操作系统和应用程序的载体和存储数据,掉电后存储操作系统、应用程序及用于更新嵌入式系统的相关文件;USB接口用于将U盘内用于嵌入式系统的引导文件、操作系统内核、文件系统镜像等对存储模块中的对应文件进行更换;人机接口电路,包括键盘、LCD显示屏及触摸屏,作为必要的人机交互界面,实现参数设置及程序更新进度等结果;串口采用RS-232通信方式,用于更新被更新程序的嵌入式系统的引导程序;所述的串口支持Xmodem、Kemit、Ymodem和Zmodem数据传输协议;以太网口为10/100/1000Mbps自适应接口,用于更新被更新程序的嵌入式系统的操作系统内核和文件系统;所述的以太网口支持tftp数据传输协议;串口调试电路采用RS-232通信方式,固定连接在微处理模块的专用调试口,用于所述手持式仪器自身升级程序;报警模块采用声光报警的方式,提示程序更新出错或成功;锂电池电量测量模块,用于测量锂电池消耗的电流和当前电压;实时时钟模块,用来提供精确的时钟给仪器,更新外部嵌入式系统的程序时将过程与时间关联;锂电池用于给仪器供电;电源管理模块用于把锂电池的电压转换成各模块电路所需要的各种电压。

该装置的软件体系结构包括:引导加载程序模块层、嵌入式Linux 操作系统内核模块层、驱动程序模块层、应用程序模块层。所述的嵌入式Linux系统,控制串口通信模块和以太网模块,自动根据当前程序更新的阶段选择合适的通信协议向被更新程序的嵌入式系统传输数据和命令;记录更新程序的进度、结果和操作日志。控制USB接口,管理U盘,将U盘中文件复制到所述仪器的Flash中。控制电源管理单元,管理其对电池的充放电;判断所述仪器的工作状态,提供相应的供电模式。

本发明所述的用于嵌入式系统程序自动在线更新的手持式仪器的自动在线更新程序方法,其特征在于 :

(1)操作人员在所述的手持式仪器的人机界面上选择被更新程序的嵌入式系统的微处理型号,设置手持式仪器的IP地址,将用于更新的引导程序、操作系统内核和文件系统镜像等复制到指定文件夹下;

(2)操作人员启动所述手持式仪器的“更新方案”键,所述的手持式仪器根据所选微处理器型号自动生成程序更新方案,并生成对应文件;

其中自动生成的程序更新方案文件具体包括:

(a)微处理内部启动时,串口发出的固定字符、串口所用的波特率、数据位和停止位长度;

(b)用于传送一级引导程序、二级引导程序各自所用的串口通信协议;

(c)引导程序的类型;

(d)引导程序、操作系统内核和文件系统在Flash中存放的起始地址和文件大小;

(e)对Flash进行擦除、写等操作的命令;

(f)被更新程序的嵌入式系统的IP地址的生成方式;

操作人员可修改自动生成的程序更新方案文件内容;

(3)操作人员启动所述手持式仪器的“一键更新”键,所述手持式仪器通过串口接收更新程序的嵌入式系统发出的固定字符,检查接收到的固定字符是否符合要求,若符合要求则进行步骤(4),若不符合要求则异常告警;

(4)所述手持式仪器根据程序更新方案选择相应的数据传输协议,将一级引导程序通过串口发送给被更新程序的嵌入式系统的RAM中,若成功则进行步骤(5),若不成功要求则异常告警;

(5)所述手持式仪器根据程序更新方案选择相应的数据传输协议,将二级引导程序通过串口发送给被更新程序的嵌入式系统的RAM中,若成功则进行步骤(6),若不成功要求则异常告警;

(6)所述手持式仪器通过串口向被更新程序的嵌入式系统发送命令,将被更新程序的嵌入式系统的Flash擦除,并将二级引导程序写入被更新程序的嵌入式系统的Flash对应位置,若成功则进行步骤(7),若不成功要求则异常告警;

(7)所述手持式仪器通过串口向被更新程序的嵌入式系统发送命令,被更新程序的嵌入式系统通过以太网将操作系统内核和文件系统从所述手持式仪器传输到被更新程序的嵌入式系统的RAM中,若成功则进行步骤(8),若不成功要求则异常告警;

(8)所述手持式仪器通过串口向被更新程序的嵌入式系统发送命令,将操作系统内核和文件系统写入到被更新程序的嵌入式系统的Flash对应位置,若成功则进行步骤(9),若不成功要求则异常告警;

(9)生成包操作日志,内容包括:操作员、操作开始与结束时间、各更新步骤是否成功。

优选的,所述的手持式仪器能根据数据传输的速率、Flash的操作时间、文件的大小,在界面上以进度条方式自动显示各个步骤当前执行的进度。

与现有技术相比,本发明的有益效果在于:所述用于嵌入式系统程序自动在线更新的手持式仪器自动化程度高,体积小,功耗低,人机界面直观和操作方便,能够快速完成具有在线更新程序功能的嵌入式系统的在线程序更新,满足大规模的生产的需要。

附图说明

图1是本发明的用于嵌入式系统程序自动在线更新的手持式仪器的应用示意图。

图2是本发明中的方法流程图。

具体实施方式

下面结合附图及实施例对本发明做进一步的详细说明:

如图1是本发明的用于嵌入式系统程序自动在线更新的手持式仪器的应用示意图,该仪器包括微处理器模块、存储模块、USB接口、人机接口电路、串口、以太网口、串口调试电路、报警模块、锂电池电量测量模块、实时时钟模块、锂电池和电源管理模块。

其中,微处理器采用TI公司的基于ARM Cortex a8内核的Am3355芯片,该芯片具有丰富的外围接口和IO口,其DDR3控制器支持1GByte的DDR3、可扩展1GByte的Nandflash、集成2个工业用千兆以太网MAC(10/100/1000Mhz)、2个USB控制器、带24位LCD控制器和触摸屏控制器,分辨率高达2048*2048、最多支持6个UART、多路IIC和SPI。DDR3采用16位的MT41K512M16HA-125IT芯片,Nandflash采用MT29F4G08ABADAWP芯片,以太网物理层芯片采用10/100/1000Mhz的AR8031。串口由Am3355中的一个UART通过MAX3232芯片实现TTl电平到RS232的电平转换。键盘由ARM通过SPI总线连接键盘显示芯片ZLG7289B实现。ZLG7289B可连接多达64键的键盘矩阵,按键是否有键按下、取消、键的识别等工作全部交给该芯片完成,一旦有按键事件发生,ZLG7289B通过中断通知主控电路处理。ARM自带有LCD电路,采用RGB565模式引脚输出与LCD数据线的对应。ARM芯片通过USB接口与USB触摸屏连接,完成人机界面的操作。触摸屏和LCD显示屏选用一体式的晶彩光电AM-640480G2TNQW-T01H。报警模块采用由ARM的IO口经过74LS244驱动蜂鸣器和LED灯的方式,实现声光报警;锂电池电量测量电路,采用IIC接口的LTC2942IDCB芯片实时测量锂电池的电流消耗状况和电压,以估算电池剩余的使用时间。实时时钟电路,采用IIC接口的PCF8563芯片,实现实时时钟的设定和读取。

实际应用时,用于嵌入式系统程序自动在线更新的手持式仪器的以太网口与被更新程序的嵌入式系统的以太网口通过以太网线连接,用于嵌入式系统程序自动在线更新的手持式仪器的串口与被更新程序的嵌入式系统的专用串口调试口通过RS-232标准线连接。

图2是本发明中的方法流程图,下面以基于AT91RM9200构建的嵌入式系统的自动在线程序更新为例,说明用于嵌入式系统程序自动在线更新的手持式仪器的自动在线更新程序方法:

首先将AT91RM9200硬件上设置为内部引导方式,然后执行下面的步骤:

S201:操作人员在所述的手持式仪器的人机界面上选择被更新程序的嵌入式系统的微处理型号AT91RM9200,设置手持式仪器的IP地址为192.168.1.10,将用于更新的一级引导程序loader.bin和uboot.bin、二级引导程序boot.bin和u-boot.gz、操作系统内核uImage和文件系统镜像uRamdisk等复制到指定文件夹下;

具体某种型号微处理器的所采用的引导程序因厂商各异,可通过查阅厂商提供的相关文档得到;

S202:操作人员启动所述手持式仪器的“更新方案”键,所述的手持式仪器根据所选微处理器型号自动生成程序更新方案,并生成对应文件;

其中自动生成的程序更新方案文件具体包括:

(a)微处理内部启动时,串口发出的固定字符为“C”、串口所用的波特率为“115200”、数据位为“8位”和停止位长度为“1位”;

(b)用于传送一级引导程序、二级引导程序各自所用的串口通信协议分别为Xmodem和Kemit;

(c)引导程序的类型为uboot;

(d)读取引导程序、操作系统内核和文件系统,计算出其文件大小,相应生成在Flash中存放的起始地址,其中boot.bin从地址0x10000000开始、u-boot.gz从地址0x10001000开始、uImage从地址0x10060000开始、uRamdisk从地址0x10200000开始;

(e)对Flash进行擦除命令为erase、写操作的命令为cp.b;

(f)被更新程序的嵌入式系统的IP地址的生成方式:以所设置的手持式仪器的IP地址为起始,每更新一次自动加1;

操作人员可根据实际需要,对自动生成的程序更新方案的内容修改;

S203:操作人员启动所述手持式仪器的“一键更新”键,若所述手持式仪器通过串口接收更新程序的嵌入式系统发出的固定字符“C”,进行步骤S204,否则异常告警;

S204:所述手持式仪器根据程序更新方案选择Xmodem数据传输协议,将一级引导程序loader.bin通过串口发送给被更新程序的嵌入式系统的内存中;成功后,若所述手持式仪器通过串口能继续接收到更新程序的嵌入式系统发出的固定字符“C”,则手持式仪器自动再次选择Xmodem数据传输协议将uboot.bin通过串口发送给被更新程序的嵌入式系统的内存中,若成功则进行步骤S205,若不成功要求则异常告警;

S205:此时,更新程序的嵌入式系统进入uboot引导模式。通过串口向被更新程序的嵌入式系统发命令字符串loadb 20000000,所述手持式仪器根据程序更新方案选择Kemit的数据传输协议,将二级引导程序boot.bin通过串口发送给被更新程序的嵌入式系统内存起始地址0x20000000处;通过串口向被更新程序的嵌入式系统发命令字符串loadb20010000,所述手持式仪器根据程序更新方案选择Kemit的数据传输协议,将二级引导程序uboot.gz通过串口发送给被更新程序的嵌入式系统内存起始地址0x20010000处,若成功则进行步骤S206,若不成功要求则异常告警;

S206:所述手持式仪器通过串口向被更新程序的嵌入式系统以字符串形式先后发送命令protect off all、erase all、cp.b 20000000 10000000 5fff 和cp.b 2001000010010000 ffff,将被更新程序的嵌入式系统的Flash去掉保护和全部擦除,并将二级引导程序boot.bin和uboot.gz写入被更新程序的嵌入式系统的Flash对应位置,若成功则进行步骤S207,若不成功要求则异常告警;

S207:所述手持式仪器通过串口向被更新程序的嵌入式系统以字符串形式先后发送命令setenv ipaddr 192.168.1.11(每次此处IP自动加1)、setenv serverip 192.168.1.10、tftp 21000000 uImage和tftp 21100000 uRamdisk,被更新程序的嵌入式系统通过以太网将操作系统内核和文件系统从所述手持式仪器以tftp方式传输到被更新程序的嵌入式系统的RAM中,若成功则进行步骤S208,若不成功要求则异常告警;

此时,所述手持式仪器工作在tftp服务器模式下;

S208:所述手持式仪器通过串口向被更新程序的嵌入式系统以字符串形式先后发送命令cp.b 21000000 10060000 9f13e和cp.b 21100000 10200000 4e3538,将操作系统内核和文件系统分别写入到被更新程序的嵌入式系统的Flash的起始地址0x10060000和0x10200000,若成功则进行步骤S209,若不成功要求则异常告警;

S209:生成包操作日志,内容包括:操作员、操作开始与结束时间、各更新步骤是否成功。

如果在同一批次生产中,接下来还要继续更新其它的同型号嵌入式系统的程序,将手持式仪器与被更新程序的嵌入式系统之间串口线和网线连接好之后,重复执行上述步骤S203- S209,同时,步骤S207中命令setenv ipaddr中所跟的IP地址与上一次执行相比自动加1。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号