一种在线更新单片机程序的方法及系统技术方案

技术编号:14337337 阅读:47 留言:0更新日期:2017-01-04 10:35
本发明专利技术公开了一种在线更新单片机程序的方法及系统,包括:获取程序更新数据;通过MODBUS总线将程序更新数据传送至需要更新运行程序的单片机的片外存储器进行存储;将存储在片外存储器的程序更新数据更新至单片机。本发明专利技术提供的在线更新单片机程序的方法及系统,能够解决现有技术中不便于对使用状态的MSP430系列单片机程序进行在线更新的问题。

【技术实现步骤摘要】

本专利技术涉及在线更新技术,尤其涉及一种在线更新单片机程序的方法及系统
技术介绍
MSP430系列单片机是美国德州仪器(TI,TexasInstruments)公司设计和生产的低功耗、内载闪存(Flash)的16位单片机。该系列单片机可以通过以下几种方式进行程序烧录:(1)使用TI提供的联合测试行动组织(JTAG,JointTestActionGroup)工具进行在线烧录;(2)使用JTAG调试器进行在线烧录;(3)使用专用芯片烧录器对裸片进行离线烧录。可见,现有技术主要是通过JTAG接口对MSP430系列单片机进行在线烧录,或者使用芯片烧录器对裸片进行烧录后贴装。以上几种芯片烧录方式,对在使用状态中的产品实施程序更新有诸多不便,如工作环境偏远而烧录设备不便于携带、上述烧录方式无法满足大量产品烧录需求等。另外,于部分情况下,应用上述烧录方式需要将整个产品进行重新上、下电操作,而这对于使用中的产品系统是不允许的。
技术实现思路
为了解决上述技术问题,本专利技术提供一种在线更新单片机程序的方法及系统,能够解决现有技术中不便于对使用状态的MSP430系列单片机程序进行在线更新的问题。为了达到上述技术目的,本专利技术提供一种在线更新单片机程序的方法,包括:获取程序更新数据;通过MODBUS总线将程序更新数据传送至需要更新运行程序的单片机的片外存储器进行存储;将存储在片外存储器的程序更新数据更新至所述单片机。进一步地,所述需要更新运行程序的单片机是指:若所述程序更新数据对应的版本高于单片机的运行程序的版本,则所述单片机的运行程序需要更新。进一步地,所述获取程序更新数据之后,所述通过MODBUS总线将程序更新数据传送至需要更新运行程序的单片机的片外存储器进行存储之前,上述方法还包括:根据所述程序更新数据获取数据参数。进一步地,所述通过MODBUS总线将程序更新数据传送至需要更新运行程序的单片机的片外存储器进行存储之后,所述将存储在片外存储器的程序更新数据更新至所述单片机之前,上述方法还包括:根据所述数据参数判断存储在片外存储器的程序更新数据是否完整有效,若完整有效,则进行将存储在片外存储器的程序更新数据更新至所述单片机的步骤。进一步地,所述通过MODBUS总线将程序更新数据传送至需要更新运行程序的单片机的片外存储器之后,所述将存储在片外存储器的程序更新数据更新至所述单片机之前,上述方法还包括:发送复位命令至所述单片机,使得所述单片机重启。本专利技术还提供一种在线更新单片机程序的系统,包括:手持模块,用于获取程序更新数据;主控模块,用于通过MODBUS总线将程序更新数据传送至需要更新运行程序的单片机的片外存储器进行存储;线卡模块,用于将存储在片存储器的程序更新数据更新至所述单片机。进一步地,所述需要更新运行程序的单片机是指:若所述程序更新数据对应的版本高于单片机的运行程序的版本,则所述单片机的运行程序需要更新。进一步地,所述手持模块,还用于根据所述程序更新数据获取数据参数。进一步地,所述线卡模块,还用于根据所述数据参数判断存储在片外存储器的程序更新数据是否完整有效,若完整有效,则将存储在片外存储器的程序更新数据更新至所述单片机。进一步地,所述主控模块,还用于在通过MODBUS总线将程序更新数据传送至需要更新运行程序的单片机的片外存储器之后,发送复位命令至所述单片机,使得所述单片机重启。在本专利技术中,获取程序更新数据;通过MODBUS总线将程序更新数据传送至需要更新运行程序的单片机的片外存储器进行存储;将存储在片外存储器的程序更新数据更新至单片机。如此,通过本专利技术实现了对MSP430系列单片机程序的在线更新,无需将MSP430系列单片机从产品或电路板上拆解下来,只需通过现有的MODBUS通信线路即可实现方便、快捷的在线更新,而且,支持一对多模式的版本更新,具有升级简单、可靠和快速等特点。附图说明图1为本专利技术实施例提供的在线更新单片机程序的方法的流程图;图2为本专利技术一实施例提供的在线更新单片机程序的系统的示意图;图3为本专利技术一实施例提供的在线更新单片机程序的方法的流程图。具体实施方式以下结合附图对本专利技术的实施例进行详细说明,应当理解,以下所说明的实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。图1为本专利技术实施例提供的在线更新单片机程序的方法的流程图。如图1所示,本专利技术实施例提供的在线更新单片机程序的方法包括以下步骤:步骤11:获取程序更新数据。于此,步骤11之后,该方法还包括:根据程序更新数据获取数据参数。其中,数据参数例如包括数据长度、校验数据等。步骤12:通过MODBUS总线将程序更新数据传送至需要更新运行程序的单片机的片外存储器进行存储。于此,需要更新运行程序的单片机是指:若程序更新数据对应的版本高于单片机的运行程序的版本,则所述单片机的运行程序需要更新。若程序更新数据对应的版本不高于单片机的运行程序的版本,则单片机的运行程序无需更新。步骤13:将存储在片外存储器的程序更新数据更新至单片机。于步骤12之后,步骤13之前,该方法还包括:发送复位命令至单片机,使得单片机重启。于步骤12之后,步骤13之前,该方法还包括:根据数据参数判断存储在片外存储器的程序更新数据是否完整有效,若完整有效,则进行将存储在片外存储器的程序更新数据更新至单片机的步骤(即步骤13)。此外,本专利技术实施例还提供一种在线更新单片机程序的系统,包括:手持模块,用于获取程序更新数据;主控模块,用于通过MODBUS总线将程序更新数据传送至需要更新运行程序的单片机的片外存储器进行存储;线卡模块,用于将存储在片存储器的程序更新数据更新至单片机。图2为本专利技术一实施例提供的在线更新单片机程序的系统的示意图。如图2所示,本实施例提供的在线更新单片机程序的系统包括电源模块、手持模块、主控模块以及线卡模块。其中,电源模块用于为手持模块、主控模块以及线卡模块供电。其中,手持模块采用一个精简指令集架构的中央处理器(POWERPC,PerformanceOptimizationWithEnhancedRISC–PerformanceComputing)的嵌入式系统,用于负责人机交互和运行应用软件,且带有RS485接口和若干外设接口。线卡模块例如连接具有RS485接口的MSP430单片机和串口闪存(SPI-Flash,SerialPeripheralInterfaceFlash)(于此,作为片外存储器)。于此,手持模块和主控模块一对一连接,而主控模块可连接多个线卡模块(例如,最多连接十二个线卡模块)。主控模块、手持模块和多个线卡模块之间均通过RS485接口连接,且上述各模块之间通过MODBUS总线连接组网,构成一个MODBUS总线网络。其中,主控模块为MODBUS总线网络中的主节点,而线卡模块构成MODBUS总线网络的从节点。因此,只需要通过主节点对各个从节点进行在线程序更新即可。具体而言,手持模块通过外设接口从外部获取MSP430系列单片机的程序更新数据后,提取程序更新数据的数据参数,并将程序更新数据和数据参数通过MODBUS总线传输到主控模块,主控模块通过RS485接口与各个线卡模块进行通信,通过线卡模块将程本文档来自技高网...
一种在线更新单片机程序的方法及系统

【技术保护点】
一种在线更新单片机程序的方法,其特征在于,包括:获取程序更新数据;通过MODBUS总线将程序更新数据传送至需要更新运行程序的单片机的片外存储器进行存储;将存储在片外存储器的程序更新数据更新至所述单片机。

【技术特征摘要】
1.一种在线更新单片机程序的方法,其特征在于,包括:获取程序更新数据;通过MODBUS总线将程序更新数据传送至需要更新运行程序的单片机的片外存储器进行存储;将存储在片外存储器的程序更新数据更新至所述单片机。2.如权利要求1所述的方法,其特征在于,所述需要更新运行程序的单片机是指:若所述程序更新数据对应的版本高于单片机的运行程序的版本,则所述单片机的运行程序需要更新。3.如权利要求1所述的方法,其特征在于,所述获取程序更新数据之后,所述通过MODBUS总线将程序更新数据传送至需要更新运行程序的单片机的片外存储器进行存储之前,还包括:根据所述程序更新数据获取数据参数。4.如权利要求3所述的方法,其特征在于,所述通过MODBUS总线将程序更新数据传送至需要更新运行程序的单片机的片外存储器进行存储之后,所述将存储在片外存储器的程序更新数据更新至所述单片机之前,还包括:根据所述数据参数判断存储在片外存储器的程序更新数据是否完整有效,若完整有效,则进行将存储在片外存储器的程序更新数据更新至所述单片机的步骤。5.如权利要求1所述的方法,其特征在于,所述通过MODBUS总线将程序更新数据传送至需要更新运行程序的单片...

【专利技术属性】
技术研发人员:郑中杰
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1