CN111026420A - 一种基于tms320c6000系列处理器的在线加载方法 - Google Patents

一种基于tms320c6000系列处理器的在线加载方法 Download PDF

Info

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
Application number
CN201911112780.8A
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.)
Tianjin Aviation Mechanical and Electrical Co Ltd
Original Assignee
Tianjin Aviation Mechanical and Electrical Co Ltd
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 Tianjin Aviation Mechanical and Electrical Co Ltd filed Critical Tianjin Aviation Mechanical and Electrical Co Ltd
Priority to CN201911112780.8A priority Critical patent/CN111026420A/zh
Publication of CN111026420A publication Critical patent/CN111026420A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring 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

一种基于TMS320C6000系列处理器的在线加载方法
技术领域
本发明属于嵌入式计算机控制领域,涉及处理器加载控制。
背景技术
目前,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。
CN201911112780.8A 2019-11-14 2019-11-14 一种基于tms320c6000系列处理器的在线加载方法 Pending CN111026420A (zh)

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)

* Cited by examiner, † Cited by third party
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串行加载自启动方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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