CN106155715A - 一种基于实时mcu的软件引导固化方法 - Google Patents

一种基于实时mcu的软件引导固化方法 Download PDF

Info

Publication number
CN106155715A
CN106155715A CN201510144348.2A CN201510144348A CN106155715A CN 106155715 A CN106155715 A CN 106155715A CN 201510144348 A CN201510144348 A CN 201510144348A CN 106155715 A CN106155715 A CN 106155715A
Authority
CN
China
Prior art keywords
software
solidification
flash
application software
mcu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510144348.2A
Other languages
English (en)
Inventor
赵莹
时兆峰
苑景春
李晗
柏楠
周明
高晓波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Automation Control Equipment Institute BACEI
Original Assignee
Beijing Automation Control Equipment Institute BACEI
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Automation Control Equipment Institute BACEI filed Critical Beijing Automation Control Equipment Institute BACEI
Priority to CN201510144348.2A priority Critical patent/CN106155715A/zh
Publication of CN106155715A publication Critical patent/CN106155715A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明属于飞行器制导控制技术领域,公开一种基于TMS320F28335芯片实时MCU(微处理器)的可实现固化和引导应用软件运行的方法。包括:步骤1、进行引导固化软件和应用软件在FLASH中的地址规划分配;步骤2、设定MCU启动时运行引导固化软件;步骤3、引导固化软件判断是否需要进行FLASH烧写来更新应用软件等步骤。满足使用TMS320F28335为MCU的系统在线升级应用软件和引导应用软件的需求,软件升级时不需对系统进行拆卸,提高了软件升级能力和设备的可靠性及简化维护流程。

Description

一种基于实时MCU的软件引导固化方法
技术领域
本发明属于飞行器制导控制技术领域,涉及一种基于TMS320F28335芯片实时MCU(微处理器)的可实现固化和引导应用软件运行的方法。
技术背景
TMS320F28335是TI公司的一款具有强大的控制和信号处理能力的32位浮点型数字信号处理器,工作主频最高150MHz,片内具有256K×16Bit的FLASH存储器、34K×16Bit的SARAM,8K×16Bit的引导ROM,具有精度高、成本低、功耗小,外设集成度高、数据和程序存储量大等优点,可广泛应用于控制及通信等领域。目前,武器系统信息化程度越来越高,为了保证作战系统的可靠、稳定、高效,相应的研发模式也在不断的向模块化、组件化、系列化转变,这就要求各个分部件具有较高的运算处理能力,TMS320F28335因此可以在各制导控制分部件系统上得到广泛应用。
一般情况下,武器系统各部件产品研制过程中,对开发的DSP嵌入式设备软件的更新和维护也越来越频繁,当进行软件升级时,要擦除芯片内容并重新烧写新的程序代码和数据,通常使用TI公司的CCS烧写插件并通过仿真器JTAG口对片上FLASH进行编程的方法。该传统更新方式虽简单易用,但一般只在程序开发和调试阶段使用,而在全弹联调及维护阶段时需将分部件从弹体上拆除取下设备、连接仿真器存在较大困难,过程复杂繁琐且容易产生隐患,极大阻碍了武器系统的整体发展。本发明的可用于固化和引导应用软件在TMS320F28335MCU上运行。
发明内容
本发明的目的:提供了一种有效可行的软件引导固化方法,固化和引导应用软件在TMS320F28335MCU上运行,解决应用软件在线升级需拆卸设备的难点,实现通过外部通讯接口完成应用软件上传固化,并在微处理器通电后引导运行固化的应用软件。
本发明实现方法:
一种基于实时MCU的软件引导固化方法,包括如下步骤:
步骤1、进行引导固化软件和应用软件在FLASH中的地址规划分配;
步骤2、设定MCU启动时运行引导固化软件;
步骤3、引导固化软件判断是否需要进行FLASH烧写来更新应用软件,如果不需要,进行步骤8,如果需要,进行步骤4;
步骤4、判断与PC机串口是否成功握手,如果不成功,进行步骤步骤8,如果成功,进行步骤5;
步骤5、将从PC机串口发来的新的应用程序代码接收至片上RAM;
步骤6、将新的应用程序代码烧写至FLASH,进行更新;
步骤7、烧写完毕,结束本方法;
步骤8、启动应用软件,结束本方法。
在步骤6中,调用FLASH28x_API库进行FLASH烧写。
在步骤1中,分配FLASH中的Sector A,32K×16Bit空间用于存储引导固化软件可执行文件;分配FLASH中空间Sector C、SectorD、Sector E用于应用软件可执行文件;分配FLASH中剩余空间作为备用空间存储数据。
本发明的优点:满足使用TMS320F28335为MCU的系统在线升级应用软件和引导应用软件的需求,软件升级时不需对系统进行拆卸,提高了软件升级能力和设备的可靠性及简化维护流程。
附图说明
附图1为软件FLASH扇区地址空间分配;
附图2为跳转到FLASH存储器引导模式流程图;
附图3为软件流程图。
具体实施方式
下面结合附图和具体实例对本发明做进一步的说明:
本发明属于飞行器制导控制技术领域,涉及一种基于TMS320F28335芯片实时MCU(微处理器)的可实现固化和引导应用软件运行的引导固化方法。
目的是通过本引导固化软件,实现固化和引导应用软件在TMS320F28335实时MCU系统上。本发明利用TMS320F28335MCU内部存储器的分页分配管理技术,设计一种引导固化方法,实现引导固化软件和应用软件的物理空间分配和使用,完成应用软件的固化升级及引导运行。
基于TMS320F28335MCU芯片内部256K×16Bit的FLASH存储器、8K×16Bit的引导ROM,将其分为不同的页进行操作,通过对这些内部存储器的分页分配管理,实现引导固化软件和应用软件的物理空间分配和使用。
TMS320F28335芯片采用从FLASH启动方式运行软件。FLASH启动的复位入口地址是固定的,通过在此地址写入转移指令,跳转到引导固化软件的程序入口地址,实现引导固化软件的引导运行。
在固化软件运行后,利用重定位技术,将应用软件的程序入口地址固定在内存分配的地址,引导固化软件运行引导应用软件功能时,通过转移指令跳转到应用软件的程序入口地址,从而实现应用软件的引导运行。即首先启动固化软件,然后引导应用软件运行。
在应用软件不需要运行时,既可以引导固化软件的固化程序代码功能,是通过外部通讯口将从上位机接收到的程序代码数据烧写在TMS320F28335芯片的内部FLASH对应空间上,覆盖原有的应用软件。
引导固化软件和应用软件分别固化在各自分配的不同FLASH空间。
具体实现过程中,本发明首先进行引导固化软件和应用软件在FLASH中的地址规划分配,TMS320F28335MCU芯片内部256K×16Bit的FLASH存储器扇区地址分配如附图1所示,其中分配FLASH中的Sector A(32K×16Bit)空间用于存储引导固化软件可执行文件;分配FLASH中空间Sector C、Sector D、Sector E用于应用软件可执行文件;分配FLASH中剩余空间作为备用空间存储参数等其它数据等。根据存储器的规划分配,TMS320F28335系统每次上电复位后,首先采用跳转到FLASH存储器引导模式运行引导固化软件,如附图2所示。然后引导固化软件程序判断是否需要重新烧写FLASH,如果需要,则将上位机通过外部串口发送的新的目标代码烧写自TMS320F28335应用软件在FLASH中的指定扇区,对与应用软件进行更新,如果不需要,则继续执行原有用户目标代码,跳转到应用软件的程序入口地址最终引导应用软件运行,如图3所示。
本发明的关键点在于把收到的应用软件程序,用已固化的引导固化软件烧写至FLASH。
已固化的引导固化软件必须存储于FLASH内指定扇区,这个扇区不允许擦除和更改,完全独立于用户应用程序的存储区域。FLASH内已固化的引导固化软件和用户应用程序的区域划分可以通过.cmd文件解决。
该引导固化方法的应用,解决了TMS320F28335系统在线升级应用软件和引导应用软件需对系统进行拆卸的难点,是实现软件升级的重要环节。附图2是该技术的软件流程图,标号1、2、3是该技术的3个关键点。关键点1:使用TMS320F28335芯片默认引导方式“Jumpto Flash”,即上电复位后,直接运行引导固化软件,用引导固化软件判断是否需要烧写FLASH;关键点2:外部串口发送的应用程序信息已被引导固化软件解析,解析后的应用软件信息包括以下信息:烧入FLASH的首地址,程序长度和对应16进制数据;关键点3:由于TMS320F28335片上FLASH不支持在其中一个扇区运行程序去擦除或烧写其它扇区这种做法,所以,完成接收数据和烧写FLASH工作的这部分程序必须搬移至片内RAM或片外RAM上运行。
本发明利用基于TMS320F28335芯片实时MCU(微处理器)的引导固化方法,在软件运行期间进行程序入口地址重定位,实现引导应用软件的运行;通过对内部FLASH存储器的分页分配管理,实现引导固化软件和应用软件的物理空间分配和使用,解决了软件在运行期间无法对自身运行时域进行擦写的难点,可满足弹上软件不拆卸升级的需求。
本发明实现简单,满足使用TMS320F28335为MCU的系统在线升级应用软件和引导应用软件的需求,软件升级时不需对系统进行拆卸,提高了软件升级能力和设备的可靠性及简化维护流程。
上述说明并不是对本发明的限定,在不脱离本发明的主旨的范围内,可以进行各种变形和变更,例如,最优化的方法可以在现有技术的各种方法中选择。

Claims (3)

1.一种基于实时MCU的软件引导固化方法,其特征在于,包括如下步骤:
步骤1、进行引导固化软件和应用软件在FLASH中的地址规划分配;
步骤2、设定MCU启动时运行引导固化软件;
步骤3、引导固化软件判断是否需要进行FLASH烧写来更新应用软件,如果不需要,进行步骤8,如果需要,进行步骤4;
步骤4、判断与PC机串口是否成功握手,如果不成功,进行步骤步骤8,如果成功,进行步骤5;
步骤5、将从PC机串口发来的新的应用程序代码接收至片上RAM;
步骤6、将新的应用程序代码烧写至FLASH,进行更新;
步骤7、烧写完毕,结束本方法;
步骤8、启动应用软件,结束本方法。
2.如权利要求1所述的一种基于实时MCU的软件引导固化方法,其特征在于,在步骤6中,调用FLASH28x_API库进行FLASH烧写。
3.如权利要求1所述的一种基于实时MCU的软件引导固化方法,其特征在于,在步骤1中,分配FLASH中的Sector A,32K×16Bit空间用于存储引导固化软件可执行文件;分配FLASH中空间SectorC、Sector D、Sector E用于应用软件可执行文件;分配FLASH中剩余空间作为备用空间存储数据。
CN201510144348.2A 2015-03-30 2015-03-30 一种基于实时mcu的软件引导固化方法 Pending CN106155715A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510144348.2A CN106155715A (zh) 2015-03-30 2015-03-30 一种基于实时mcu的软件引导固化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510144348.2A CN106155715A (zh) 2015-03-30 2015-03-30 一种基于实时mcu的软件引导固化方法

Publications (1)

Publication Number Publication Date
CN106155715A true CN106155715A (zh) 2016-11-23

Family

ID=57339333

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510144348.2A Pending CN106155715A (zh) 2015-03-30 2015-03-30 一种基于实时mcu的软件引导固化方法

Country Status (1)

Country Link
CN (1) CN106155715A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112346769A (zh) * 2020-10-28 2021-02-09 北京航天发射技术研究所 一种基于tms320f28335的dsp软件在线升级方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1464386A (zh) * 2002-06-25 2003-12-31 联想(北京)有限公司 嵌入式系统中固件程序在线升级的实现方法
CN102520957A (zh) * 2011-12-19 2012-06-27 厦门雅迅网络股份有限公司 一种嵌入式系统的软件分离设计的方法
CN104407878A (zh) * 2014-10-20 2015-03-11 北京航天发射技术研究所 C6000数字信号处理器在线升级方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1464386A (zh) * 2002-06-25 2003-12-31 联想(北京)有限公司 嵌入式系统中固件程序在线升级的实现方法
CN102520957A (zh) * 2011-12-19 2012-06-27 厦门雅迅网络股份有限公司 一种嵌入式系统的软件分离设计的方法
CN104407878A (zh) * 2014-10-20 2015-03-11 北京航天发射技术研究所 C6000数字信号处理器在线升级方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112346769A (zh) * 2020-10-28 2021-02-09 北京航天发射技术研究所 一种基于tms320f28335的dsp软件在线升级方法

Similar Documents

Publication Publication Date Title
US9189248B2 (en) Specialized boot path for speeding up resume from sleep state
CN103927187B (zh) 嵌入式系统程序执行方法
CN100454258C (zh) 嵌入式系统加载程序与应用程序一体化更新方法
CN106020861B (zh) 一种智能手表的fota升级方法及系统
CN104102518B (zh) 一种双cpu系统及其程序升级方法
CN104360877A (zh) 基于Bootloader自更新的ECU固件更新方法
US20140325496A1 (en) Apparatus and method for firmware upgrade using usb
CN103970557B (zh) 存储设备启动系统的方法及存储设备
CN101826027A (zh) 一种嵌入式系统及其升级方法
CN106897090B (zh) 一种嵌入式设备程序升级方法及系统
CN104407878A (zh) C6000数字信号处理器在线升级方法
CN101414264A (zh) 一种高可靠软件版本的更新方法和三种更新方式
CN103077056B (zh) 使用少量ROM资源的Bootlorder实现方法
CN102567049A (zh) 嵌入式操作系统的升级方法
CN101668283A (zh) 一种手机嵌入式系统中动态加载的方法
CN110321170B (zh) 开机方法
CN103257888A (zh) 一种对缓冲队列并发执行读、写访问的方法和设备
CN106201608A (zh) 计算机uefi固件更新方法
CN104428751A (zh) 程序数据的更新方法及设备
CN103853557A (zh) 一种用Uboot网络启动WinCE的方法
CN105354061A (zh) 一种保护mcu工作程序的方法及系统
CN104063329B (zh) 64位立即数处理方法及装置
CN111133419B (zh) 用于独立定义的操作的堆栈安全
CN106155715A (zh) 一种基于实时mcu的软件引导固化方法
CN103729219A (zh) 一种uefi bios架构方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20161123