CN106155715A - 一种基于实时mcu的软件引导固化方法 - Google Patents
一种基于实时mcu的软件引导固化方法 Download PDFInfo
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明属于飞行器制导控制技术领域,公开一种基于TMS320F28335芯片实时MCU(微处理器)的可实现固化和引导应用软件运行的方法。包括:步骤1、进行引导固化软件和应用软件在FLASH中的地址规划分配;步骤2、设定MCU启动时运行引导固化软件;步骤3、引导固化软件判断是否需要进行FLASH烧写来更新应用软件等步骤。满足使用TMS320F28335为MCU的系统在线升级应用软件和引导应用软件的需求,软件升级时不需对系统进行拆卸,提高了软件升级能力和设备的可靠性及简化维护流程。
Description
技术领域
本发明属于飞行器制导控制技术领域,涉及一种基于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中剩余空间作为备用空间存储数据。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346769A (zh) * | 2020-10-28 | 2021-02-09 | 北京航天发射技术研究所 | 一种基于tms320f28335的dsp软件在线升级方法 |
Citations (3)
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数字信号处理器在线升级方法 |
-
2015
- 2015-03-30 CN CN201510144348.2A patent/CN106155715A/zh active Pending
Patent Citations (3)
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)
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 |