CN111026420A - 一种基于tms320c6000系列处理器的在线加载方法 - Google Patents
一种基于tms320c6000系列处理器的在线加载方法 Download PDFInfo
- Publication number
- CN111026420A CN111026420A CN201911112780.8A CN201911112780A CN111026420A CN 111026420 A CN111026420 A CN 111026420A CN 201911112780 A CN201911112780 A CN 201911112780A CN 111026420 A CN111026420 A CN 111026420A
- Authority
- CN
- China
- Prior art keywords
- program
- loading
- key
- flash
- image file
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明是一种基于TMS320C6000系列处理器的在线加载实现方法,以及提升在线加载可靠性的技术方案。在线加载过程中对允许加载密钥、镜像文件密钥进行保存,当加载过程中出现意外断电或总线通讯中断时,系统重启后可以重新执行加载而不会出现系统内部文件损坏的情况,保证系统正常运行,提高系统可靠性等级。
Description
技术领域
本发明属于嵌入式计算机控制领域,涉及处理器加载控制。
背景技术
目前,TI官方给出的TMS320C6000系列处理器的加载方法,是将程序连续放置,没有单独的加载程序作为支撑,当原有镜像文件被擦除,新镜像文件写入的过程中出现意外断电情况,FLASH存储器中的程序将不能正常运行,导致的结果是产品必须进行拆卸后利用仿真器进行重新烧写后才能够正常运行。
发明内容
本发明的目的,提供一种TMS320C6713处理器在线加载的实现方法,通过二级Boot程序检测允许加载密钥的方式实现加载程序和用户程序的选择控制。在进行加载程序设计时,当加载程序通过外部航空总线接收到完整的镜像文件后,并进行了数据正确性校验和数据完整性检查全部通过后,将镜像文件密钥保存至NVM存储器中再清除FLASH中的原始程序镜像文件。
本发明的技术方案为,提供一种基于TMS320C6000系列处理器的在线加载方法,所述方法包括,
TMS320C6000系列处理器上电复位,并将用户开发的二级Boot程序拷贝至RAM地址0x00后运行;
FLASH存储器中包含二级Boot程序、加载程序和用户程序;二级Boot程序通过读取NVM存储器中的允许加载密钥来选择FLASH中加载程序或用户程序的一个,拷贝至RAM第一地址处,所述FLASH中加载程序或用户程序的一个再跳转至所述第一地址处进行运行;
若二级Boot程序通过读取NVM存储器中的允许加载密钥来选择FLASH中的用户程序,通过外部总线通讯的方式修改所述允许加载密钥,TMS320C6000系列处理器主动复位,并进行以下处理:
执行二级Boot程序,二级Boot程序读取NVM存储器中修改后的允许加载密钥,选择FLASH中的加载程序,拷贝所述FLASH中的加载程序至RAM第一地址处后,再跳转至所述第一地址处运行;
TMS320C6000系列处理器通过外部总线通讯得到升级所需镜像文件,对得到的镜像文件经过数据正确性校验和数据完整性检查,检查通过后,擦除NVM存储器中的镜像文件密钥,再将FLASH存储器中用户程序擦除,将得到的镜像文件写入FLASH存储器中以替换原有的用户程序,NVM存储器中再写入镜像文件密钥;
TMS320C6000系列处理器通过外部总线通讯得到擦除允许加载密钥的命令,擦除修改后的允许加载密钥。
进一步地,所述方法还包括,若NVM存储器中的允许加载密钥满足用户程序规定的选择条件,则选择FLASH中的用户程序进行运行。
进一步地,所述允许加载密钥包括GSE、WOW和允许加载标志,二级Boot程序读取所述允许加载密钥,选择FLASH中加载程序或用户程序的一个。
进一步地,所述方法还包括,所述第一地址为FLASH存储器中的加载程序、用户程序的程序入口地址。
进一步地,所述方法还包括,所述TMS320C6000系列处理器为TMS320C6713处理器。
进一步地,所述方法还包括,所述二级Boot程序存储于FLASH存储器的起始1KB范围内。
进一步地,所述方法还包括,所述TMS320C6713处理器启动方式采用16位CE1,异步外部ROM启动模式。
进一步地,所述方法还包括,所述FLASH存储器中的加载程序、用户程序的程序大小不超过191KB。
本发明的技术效果:
在线加载过程中对允许加载密钥、镜像文件密钥进行保存,当加载过程中出现意外断电或总线通讯中断时,系统重启后可以重新执行加载而不会出现系统内部文件损坏的情况,保证系统正常运行,提高系统可靠性等级。
附图说明
图1是本发明原理框图
具体实施方式
实施例1
本实施例,提供一种基于TMS320C6000系列处理器的在线加载方法,所述方法包括,
TMS320C6000系列处理器上电复位,并将用户开发的二级Boot程序拷贝至RAM地址0x00后运行;
FLASH存储器中包含二级Boot程序、加载程序和用户程序;二级Boot程序通过读取NVM存储器中的允许加载密钥来选择FLASH中加载程序或用户程序的一个,拷贝至RAM第一地址处,所述FLASH中加载程序或用户程序的一个再跳转至所述第一地址处进行运行;
若二级Boot程序通过读取NVM存储器中的允许加载密钥来选择FLASH中的用户程序,通过外部总线通讯的方式修改所述允许加载密钥,TMS320C6000系列处理器主动复位,并进行以下处理:
执行二级Boot程序,二级Boot程序读取NVM存储器中修改后的允许加载密钥,选择FLASH中的加载程序,拷贝所述FLASH中的加载程序至RAM第一地址处后,再跳转至所述第一地址处运行;
TMS320C6000系列处理器通过外部总线通讯得到升级所需镜像文件,对得到的镜像文件经过数据正确性校验和数据完整性检查,检查通过后,擦除NVM存储器中的镜像文件密钥,再将FLASH存储器中用户程序擦除,将得到的镜像文件写入FLASH存储器中以替换原有的用户程序,NVM存储器中再写入镜像文件密钥;
TMS320C6000系列处理器通过外部总线通讯得到擦除允许加载密钥的命令,擦除所述修改后的允许加载密钥。
进一步地,所述方法还包括,若NVM存储器中的允许加载密钥满足用户程序规定的选择条件,则选择FLASH中的用户程序进行运行。
进一步地,所述允许加载密钥包括GSE、WOW和允许加载标志,二级Boot程序读取所述允许加载密钥,选择FLASH中加载程序或用户程序的一个。
进一步地,所述方法还包括,所述第一地址为FLASH存储器中的加载程序、用户程序的程序入口地址。所述TMS320C6000系列处理器为TMS320C6713处理器。所述二级Boot程序存储于FLASH存储器的起始1KB范围内。TMS320C6713处理器启动方式采用16位CE1,异步外部ROM启动模式。FLASH存储器中的加载程序、用户程序的程序大小不超过191KB。
实施例2
本实施例,提供基于TMS320C6713的在线加载方法,图1是本发明原理框图,结合图1所示,主要包括以下步骤:
[步骤1]TMS320C6713处理器上电复位,并将用户开发的二级Boot程序拷贝至RAM地址的0x00~0x400空间后从0x00地址开始运行;
[步骤2]二级Boot程序运行后,通过读取NVM存储器中的允许加载密钥(GSE、WOW、允许加载标志)来选择FLASH存储器中加载程序或用户程序的一个,默认情况下允许加载密钥为“无效”状态,二级Boot程序将用户程序拷贝至RAM第一地址处(0x400),二级Boot程序运行至最后跳转至RAM第一地址处开始运行用户程序;
[步骤3]用户程序运行后,能够得到外部总线的程序加载指令后,将NVM存储器中的允许加载密钥(GSE、WOW、允许加载标志)修改为“有效”状态,停止看门狗喂狗信号输出,使TMS320C6713处理器进行复位;
[步骤4]TMS320C6713处理器复位后重新运行二级Boot程序,二级Boot程序运行后,通过读取NVM存储器中的允许加载密钥(GSE、WOW、允许加载标志),此时允许加载密钥为“有效”状态,二级Boot程序将加载程序拷贝至RAM第一地址处(0x400),二级Boot程序运行至最后跳转至RAM第一地址处开始运行加载程序;
[步骤5]加载程序运行后,TMS320C6713处理器通过外部总线通讯得到升级所需镜像文件对得到的镜像文件经过数据正确性校验和数据完整性检查,检查通过后,擦除NVM存储器中的镜像文件密钥,再将FLASH存储器中原用户程序镜像文件擦除,将得到的新用户程序镜像文件写入FLASH存储器中以替换原有的用户程序,再向NVM存储器中写入镜像文件密钥;
[步骤6]加载程序通过外部总线通讯方式得到擦除允许加载密钥的命令,先检查NVM存储器中写入镜像文件密钥,若当前NVM存储器中写入镜像文件密钥为“镜像完整”状态,擦除所述修改后的允许加载密钥;若当前NVM存储器中写入镜像文件密钥为“镜像不完整”状态,不能擦除所述修改后的允许加载密钥。
[步骤7]用户程序占用FLASH存储器的实际空间大小为128KB;
[步骤8]加载程序占用FLASH存储器的实际空间大小为128KB;
[步骤9]通过二级Boot程序实现用户程序和加载程序的选择,通过用户程序更改允许加载密钥,通过加载程序实现原用户程序镜像文件的擦除和新用户程序镜像文件的写入,通过加载程序在擦除原用户程序镜像文件前对镜像文件密钥的状态进行检查,上述几种方式能够保证任意时刻出现的意外断电,都能够保证至少1个程序可以运行,有效防止意外断电产生的镜像文件不完整而导致的结果,达到断电保护的目的。
Claims (8)
1.一种基于TMS320C6000系列处理器的在线加载方法,其特征在于,所述方法包括,
TMS320C6000系列处理器上电复位,并将用户开发的二级Boot程序拷贝至RAM地址0x00后运行;
FLASH存储器中包含二级Boot程序、加载程序和用户程序;二级Boot程序通过读取NVM存储器中的允许加载密钥来选择FLASH中加载程序或用户程序的一个,拷贝至RAM第一地址处,所述FLASH中加载程序或用户程序的一个再跳转至所述第一地址处进行运行;
若二级Boot程序通过读取NVM存储器中的允许加载密钥来选择FLASH中的用户程序,通过外部总线通讯的方式修改所述允许加载密钥,TMS320C6000系列处理器主动复位,并进行以下处理:
执行二级Boot程序,二级Boot程序读取NVM存储器中修改后的允许加载密钥,选择FLASH中的加载程序,拷贝所述FLASH中的加载程序至RAM第一地址处后,再跳转至所述第一地址处运行;
TMS320C6000系列处理器通过外部总线通讯得到升级所需镜像文件,对得到的镜像文件经过数据正确性校验和数据完整性检查,检查通过后,擦除NVM存储器中的镜像文件密钥,再将FLASH存储器中用户程序擦除,将得到的镜像文件写入FLASH存储器中以替换原有的用户程序,NVM存储器中再写入镜像文件密钥;
TMS320C6000系列处理器通过外部总线通讯得到擦除允许加载密钥的命令,擦除修改后的允许加载密钥。
2.根据权利要求1所述的在线加载方法,其特征在于,所述方法还包括,若NVM存储器中的允许加载密钥满足用户程序规定的选择条件,则选择FLASH中的用户程序进行运行。
3.根据权利要求2所述的在线加载方法,其特征在于,所述允许加载密钥包括GSE、WOW和允许加载标志,二级Boot程序读取所述允许加载密钥,选择FLASH中加载程序或用户程序的一个。
4.根据权利要求1所述的在线加载方法,其特征在于,所述方法还包括,所述第一地址为FLASH存储器中的加载程序、用户程序的程序入口地址。
5.根据权利要求1所述的在线加载方法,其特征在于,所述方法还包括,所述TMS320C6000系列处理器为TMS320C6713处理器。
6.根据权利要求5所述的在线加载方法,其特征在于,所述方法还包括,所述二级Boot程序存储于FLASH存储器的起始1KB范围内。
7.根据权利要求5所述的在线加载方法,其特征在于,所述方法还包括,所述TMS320C6713处理器启动方式采用16位CE1,异步外部ROM启动模式。
8.根据权利要求1所述的在线加载方法,其特征在于,所述方法还包括,所述FLASH存储器中的加载程序、用户程序的程序大小不超过191KB。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911112780.8A CN111026420A (zh) | 2019-11-14 | 2019-11-14 | 一种基于tms320c6000系列处理器的在线加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911112780.8A CN111026420A (zh) | 2019-11-14 | 2019-11-14 | 一种基于tms320c6000系列处理器的在线加载方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111026420A true CN111026420A (zh) | 2020-04-17 |
Family
ID=70200188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911112780.8A Pending CN111026420A (zh) | 2019-11-14 | 2019-11-14 | 一种基于tms320c6000系列处理器的在线加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111026420A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281464A (zh) * | 2013-07-12 | 2015-01-14 | 上海明波通信技术股份有限公司 | 嵌入式产品系统软件升级方法 |
US20160321083A1 (en) * | 2014-01-22 | 2016-11-03 | Hewlett Packard Development Company, L.P. | Byte-addressable non-volatile read-write main memory partitioned into regions including metadata region |
CN108255538A (zh) * | 2017-12-08 | 2018-07-06 | 中国航空工业集团公司成都飞机设计研究所 | 一种分布异构系统机上原位加载二级控制器软件的方法 |
CN109634618A (zh) * | 2018-11-12 | 2019-04-16 | 中国船舶重工集团公司第七0七研究所 | 基于TMS320C674X处理器二级BootLoader串行加载自启动方法 |
-
2019
- 2019-11-14 CN CN201911112780.8A patent/CN111026420A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281464A (zh) * | 2013-07-12 | 2015-01-14 | 上海明波通信技术股份有限公司 | 嵌入式产品系统软件升级方法 |
US20160321083A1 (en) * | 2014-01-22 | 2016-11-03 | Hewlett Packard Development Company, L.P. | Byte-addressable non-volatile read-write main memory partitioned into regions including metadata region |
CN108255538A (zh) * | 2017-12-08 | 2018-07-06 | 中国航空工业集团公司成都飞机设计研究所 | 一种分布异构系统机上原位加载二级控制器软件的方法 |
CN109634618A (zh) * | 2018-11-12 | 2019-04-16 | 中国船舶重工集团公司第七0七研究所 | 基于TMS320C674X处理器二级BootLoader串行加载自启动方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100584338B1 (ko) | 소프트웨어 업데이트 방법 및 시스템 | |
CN1975670B (zh) | 使用引导代码引导微处理器系统的方法和装置 | |
US9164756B2 (en) | Software updating process for an embedded device | |
CN102089746B (zh) | 采用事务日志的闪存恢复 | |
CN111857776B (zh) | Dsp板卡类的应用程序的在线升级方法 | |
CN102999430B (zh) | 处理具有非易失性存储器的系统的未完全关闭 | |
US20140325496A1 (en) | Apparatus and method for firmware upgrade using usb | |
CN103858107A (zh) | 安全恢复装置和方法 | |
EP2329366B1 (en) | Performing a pre-update on a non volatile memory | |
US20120260244A1 (en) | Failsafe firmware updates | |
CN111796848A (zh) | Bootloader软件更新方法、装置、嵌入式控制器以及存储介质 | |
US20140304497A1 (en) | Electronic device having function of booting operating system by bootloader, method of performing the same function, and storage medium | |
CN110321170B (zh) | 开机方法 | |
CN113254048B (zh) | 引导程序更新方法、装置、设备及计算机可读介质 | |
JP2008504628A (ja) | 安全なフラッシング | |
CN110688141B (zh) | 固件更新方法 | |
CN111026420A (zh) | 一种基于tms320c6000系列处理器的在线加载方法 | |
CN115481405A (zh) | 一种嵌入式系统的安全启动和优化升级方法 | |
US20190171366A1 (en) | Cable modem and operating method thereof | |
JP3805195B2 (ja) | プログラム書き換え装置及びプログラム書き換え方法 | |
CN111158660B (zh) | 一种多模式星载软件eeprom在轨编程方法 | |
CN115774681A (zh) | 信息处理装置 | |
KR20090021695A (ko) | 플래쉬 메모리 롤백 시스템 및 그 방법 | |
JP2009276883A (ja) | 半導体補助記憶装置 | |
KR100575927B1 (ko) | 이동통신 단말기에서 부팅 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |