CN108182079A - 一种基于串口的tms320c6748程序加载方法 - Google Patents

一种基于串口的tms320c6748程序加载方法 Download PDF

Info

Publication number
CN108182079A
CN108182079A CN201711395946.2A CN201711395946A CN108182079A CN 108182079 A CN108182079 A CN 108182079A CN 201711395946 A CN201711395946 A CN 201711395946A CN 108182079 A CN108182079 A CN 108182079A
Authority
CN
China
Prior art keywords
serial ports
flash
loading
perform
ais
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.)
Granted
Application number
CN201711395946.2A
Other languages
English (en)
Other versions
CN108182079B (zh
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.)
707th Research Institute of CSIC
Original Assignee
707th Research Institute of CSIC
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 707th Research Institute of CSIC filed Critical 707th Research Institute of CSIC
Priority to CN201711395946.2A priority Critical patent/CN108182079B/zh
Publication of CN108182079A publication Critical patent/CN108182079A/zh
Application granted granted Critical
Publication of CN108182079B publication Critical patent/CN108182079B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种基于串口的TMS320C6748程序加载方法,其技术特点在于:包括以下步骤:步骤1、上电启动C6748;步骤2、执行用户引导程序;步骤3、用户引导程序读取NOR Flash中固定地址中的标志,根据标志判断是执行加载功能还是跳转到用户APP执行;步骤4、执行加载功能,C6748先配置串口,等待5ms中断到来之后,通过串口发出是否需要烧写的询问;步骤5、把flash中的原用户引导程序进行备份后进行flash段擦除,通过串口接收.bin文件并校验;步骤6、如果数据校验正确,完成烧写flash和置跳转标志后结束。本发明能够在脱离仿真器的条件下,基于串口实现C6748程序加载。

Description

一种基于串口的TMS320C6748程序加载方法
技术领域
本发明属于DSP程序加载技术领域,涉及脱离DSP仿真器,尤其是一种基于串口的TMS320C6748程序加载系方法。
背景技术
随着数字信号处理技术(DSP)的不断发展,TMS320C6748的应用越来越广泛,已逐步取代TMS320C6713成为低功耗高性能DSP芯片之首选。在以TMS320C6748为核心的应用系统中,系统完善和功能增强都面临软件更新的问题。这时,更新方法的简易和高效就显的特别重要。
在基于DSP的系统中,程序软件更新通常需要借助仿真器将新程序下载到目标板上,然后将程序写入flash中,但在工程应用中,一旦系统组装为成品后,再对系统进行软件更新和维护时,传统的加载方式就显得十分不方便甚至不可能,而且该方法不能解决程序代码的远程加载问题。因此,需要一种更加灵活、高效的程序加载方式,而基于串口的TMS320C6748程序加载就成为一个新的热点。
目前,TI提供了一种通过串口烧写flash方法,即使用TI官方工具包中的串口烧写工具(如sfh_OMAP-L138.exe),通过串口连接,进行命令行烧写。但这种方法的缺点是烧写前需要通过Boot管脚配置选择UART启动方式,待flash烧写完成后再将Boot管脚配置改回EMIFNORFlash启动方式。如果要更改Boot管脚配置,一种方法是拆开系统,拿出目标板改变拨码开关状态,对于不可开盖的系统来说是不可行的,另一种方法是系统设计时将Boot管脚连至系统对外接口处,通过手动改变其状态,但Boot管脚长距离的传输容易受到其它信号的干扰,引起DSP上电启动失败,也造成系统对外接口资源的浪费。
发明内容
本发明的目的在于提供一种设计合理、简易实用、灵活高效且能够实现程序代码远程加载的基于串口的TMS320C6748程序加载方法。
本发明解决其现实问题是采取以下技术方案实现的:
一种基于串口的TMS320C6748程序加载方法,包括以下步骤:
步骤1、上电启动TMS320C6748,其内部Rom中的Bootloader程序开始执行,并根据Boot管脚配置选择AIS主模式下EMIFNORFlash启动方式;
步骤2、在EMIFNORFlash启动方式下,RomBootloader执行以AIS文件格式存储在NORFlash中的命令,将用户程序APP搬运到对应运行空间或先加载用户引导程序,再由用户引导程序完成用户程序APP的搬运,最后跳转到用户程序APP的入口地址,开始执行用户引导程序;
步骤3、用户引导程序读取NORFlash中固定地址中的标志,根据标志判断是执行加载功能还是跳转到用户APP执行,如果执行加载功能则执行步骤4;
步骤4、如果需要执行加载功能,TMS320C6748先配置串口,等待5ms中断到来之后,通过串口发出是否需要烧写的询问,如果不需要则跳转到用户APP,否则执行步骤5;
步骤5、把flash中的原用户引导程序进行备份后进行flash段擦除,通过串口接收.bin文件并校验;
步骤6、如果数据校验正确,完成烧写flash和置跳转标志后结束;如果数据校验错误,把备份的用户引导程序重新固化,完成置加载标志提示重启后结束。
而且,所述步骤1的具体方法为:上电启动TMS320C6748,其内部Rom中的Bootloader程序通过Boot管脚捕获BOOTCFG寄存器中的值,Bootloader捕获了Boot管脚配置以后,根据管脚配置选择AIS主模式下EMIFNORFlash启动方式。
本发明的优点和有益效果:
1、本发明能够在脱离仿真器的条件下,基于串口实现TMS320C6748程序加载,该方法可快速完成产品程序更新,且不用对产品进行拆装。
2、本发明的用户引导程序具有程序跳转功能、接收数据并固化的功能,以及一定的错误处理能力,对因数据传输引起固化错误从而导致无法从flash启动的致命性错误进行补救。
附图说明
图1是本发明的TMS320C6748上电启动过程处理流程图;
图2是本发明的用户引导程序处理流程图;
图3是本发明的AIS结构示意图;
图4是本发明的AIS命令结构示意图;
图5是本发明的AISgen工具界面图;
图6是本发明的工作原理框图。
具体实施方式
以下结合附图对本发明实施例作进一步详述:
一种基于串口的TMS320C6748程序加载方法,包括以下步骤:
步骤1、上电启动TMS320C6748,其内部Rom中的Bootloader程序开始执行,并根据Boot管脚配置选择AIS主模式下EMIFNORFlash启动方式;
所述步骤1的具体方法如图1所示:
上电启动TMS320C6748,其内部Rom中的Bootloader程序通过Boot管脚捕获BOOTCFG寄存器中的值,在Bootloader捕获了Boot管脚配置以后,根据管脚配置来选择启动方式。
所述启动方式从类型上分为非AIS模式、AIS主模式和AIS从模式。
在本实施例中,选择了AIS主模式下EMIFNORFlash启动方式。
步骤2、在EMIFNORFlash启动方式下,RomBootloader执行以AIS文件格式存储在NORFlash中的命令,将用户程序APP搬运到对应运行空间或先加载用户引导程序UBL,再由用户引导程序完成用户程序APP的搬运,最后跳转到用户程序APP的入口地址_c_int00,开始执行如图2所示的用户引导程序UBL;
步骤3、编写用户引导程序UBL,用户引导程序读取NORFlash中固定地址中的标志,根据标志判断是执行加载功能还是跳转到用户APP执行,如果执行加载功能则执行步骤4;
步骤4、如果需要执行加载功能,TMS320C6748先配置串口,等待5ms中断到来之后,通过串口发出是否需要烧写的询问,如果不需要则跳转到用户APP,否则执行步骤5;
步骤5、把flash中的原用户引导程序进行备份后进行flash段擦除,通过串口接收.bin文件并校验;
步骤6、如果数据校验正确,完成烧写flash和置跳转标志后结束;如果数据校验错误,把备份的用户引导程序重新固化,完成置加载标志提示重启后结束。
下面分别对AIS文件格式以及AIS文件的产生原理进行说明:
(1)AIS文件格式
AIS是一种存储引导映象的格式。除了EMIFNORFlashLegacy、EMIFNORFlashDirect和HPI这三种引导方式,其他所有的引导方式都支持AIS文件格式。
AIS是一种二进制语言,以小端、32位格式进行存取。AIS结构如图3所示。AIS文件以魔术字(0x41504954)开始,包含一系列的AIS命令,按顺序由RomBootloader执行。AIS以Jump&Close(J&C)命令结束。每个AIS命令包含操作码、参数和数据(可选)组成。操作码和参数字宽为4个字节,数据的长度是4的倍数(以字节计算)。如果数据长度不是4的倍数,以0补充。AIS命令结构如图4所示。
(2)AIS文件产生
利用CCS5.5对工程文件编译后产生.out文件,AISgen工具将.out文件转换成.bin(.ais)文件。AISgen工具界面如图5所示,进行相应的配置后,在“DSPApplicationFile”下拉框中选择.out格式文件所在路径,在“AISOutputFile”填写.ais格式文件输出路径和名字。如果有多个.out文件需要转换成一个.bin格式文件,可以点击“DSPApplicationFile”后面的加号进行添加,DSP上电默认执行第一个.out文件对应的工程文件。
本发明的工作原理为:
如图6所示,FPGA内部包含串口控制器IP核,TMS320C6748通过此IP核与串口收发器进行信息交互。TMS320C6748内部包含一个256KB的L2RAM和一个128KB的On-chipRAM,用户引导程序UBL(UserBootloader)和用户程序APP分别存储在NORFlash的不同段中,上电后被加载到RAM中运行。
本发明要求用户引导程序具有程序跳转功能、接收数据并固化的功能,以及一定的错误处理能力,对因数据传输引起固化错误从而导致无法从flash启动的致命性错误进行补救。
其具体工作原理为:
(1)编写用户引导程序UBL(UserBootloader),在UBL程序中,可以根据存储在NORFlash中固定地址的值决定是否执行烧写程序,如果不执行则跳转到用户程序APP去运行,UBL的运行空间为On-chipRAM;
(2)在用户程序APP中加入响应上位机命令对NORFlash中固定地址写数或擦除的功能,APP的运行空间为L2RAM;
(3)利用AISgen工具将UBL和APP程序编译生成的两个.out文件转换合并成一个.bin文件,借助仿真器将该.bin文件烧入NORFlash中;
(4)如果需要更新用户程序,准备好新的.bin合并文件,利用上位机将写NORFlash中固定地址的值改为约定值;
(5)重新上电后,将执行烧写程序,和串口助手进行交互把新的.bin合并文件写入NORFlash中,完成用户程序的更新。
需要强调的是,本发明所述实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。

Claims (2)

1.一种基于串口的TMS320C6748程序加载方法,其特征在于:包括以下步骤:
步骤1、上电启动TMS320C6748,其内部Rom中的Bootloader程序开始执行,并根据Boot管脚配置选择AIS主模式下EMIF NOR Flash启动方式;
步骤2、在EMIF NOR Flash启动方式下,Rom Bootloader执行以AIS文件格式存储在NORFlash中的命令,将用户程序APP搬运到对应运行空间或先加载用户引导程序,再由用户引导程序完成用户程序APP的搬运,最后跳转到用户程序APP的入口地址,开始执行用户引导程序;
步骤3、用户引导程序读取NOR Flash中固定地址中的标志,根据标志判断是执行加载功能还是跳转到用户APP执行,如果执行加载功能则执行步骤4;
步骤4、如果需要执行加载功能,TMS320C6748先配置串口,等待5ms中断到来之后,通过串口发出是否需要烧写的询问,如果不需要则跳转到用户APP,否则执行步骤5;
步骤5、把flash中的原用户引导程序进行备份后进行flash段擦除,通过串口接收.bin文件并校验;
步骤6、如果数据校验正确,完成烧写flash和置跳转标志后结束;如果数据校验错误,把备份的用户引导程序重新固化,完成置加载标志提示重启后结束。
2.根据权利要求1所述的一种基于串口的TMS320C6748程序加载方法,其特征在于:所述步骤1的具体方法为:上电启动TMS320C6748,其内部Rom中的Bootloader程序通过Boot管脚捕获BOOTCFG寄存器中的值,Bootloader捕获了Boot管脚配置以后,根据管脚配置选择AIS主模式下EMIF NOR Flash启动方式。
CN201711395946.2A 2017-12-21 2017-12-21 一种基于串口的tms320c6748程序加载方法 Active CN108182079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711395946.2A CN108182079B (zh) 2017-12-21 2017-12-21 一种基于串口的tms320c6748程序加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711395946.2A CN108182079B (zh) 2017-12-21 2017-12-21 一种基于串口的tms320c6748程序加载方法

Publications (2)

Publication Number Publication Date
CN108182079A true CN108182079A (zh) 2018-06-19
CN108182079B CN108182079B (zh) 2020-09-01

Family

ID=62546951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711395946.2A Active CN108182079B (zh) 2017-12-21 2017-12-21 一种基于串口的tms320c6748程序加载方法

Country Status (1)

Country Link
CN (1) CN108182079B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110716721A (zh) * 2019-08-27 2020-01-21 中国船舶重工集团公司第七0七研究所 兼容网口和串口的tms320c6748程序加载方法
CN111338771A (zh) * 2020-02-13 2020-06-26 深圳震有科技股份有限公司 引导程序切换处理方法及装置、计算机设备、介质
WO2021000535A1 (zh) * 2019-06-29 2021-01-07 沃太能源南通有限公司 一种升级单片机存储器内boot的方法
CN113703811A (zh) * 2021-09-06 2021-11-26 北京半导体专用设备研究所(中国电子科技集团公司第四十五研究所) 一种dsp远程下载固件的方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021794A (zh) * 2006-05-25 2007-08-22 杭州晟元芯片技术有限公司 一种芯片上电后的程序引导方法
CN101404545A (zh) * 2008-10-29 2009-04-08 哈尔滨工程大学 水声通信处理平台
CN103019779A (zh) * 2012-11-30 2013-04-03 北京遥测技术研究所 一种fpga/dsp嵌入式系统的程序更新方法
CN103676884A (zh) * 2013-12-17 2014-03-26 天津七六四通信导航技术有限公司 基于dsp的塔康控制系统
US9450916B2 (en) * 2014-08-22 2016-09-20 Honeywell International Inc. Hardware assist for redundant ethernet network
CN106528106A (zh) * 2016-10-31 2017-03-22 武汉光迅科技股份有限公司 一种自适应各种不同Flash芯片类型的嵌入式系统启动方法
CN106874056A (zh) * 2017-03-14 2017-06-20 成都天奥电子股份有限公司 基于Ymodem协议的TI C2000 DSP 串口在线升级方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021794A (zh) * 2006-05-25 2007-08-22 杭州晟元芯片技术有限公司 一种芯片上电后的程序引导方法
CN101404545A (zh) * 2008-10-29 2009-04-08 哈尔滨工程大学 水声通信处理平台
CN103019779A (zh) * 2012-11-30 2013-04-03 北京遥测技术研究所 一种fpga/dsp嵌入式系统的程序更新方法
CN103676884A (zh) * 2013-12-17 2014-03-26 天津七六四通信导航技术有限公司 基于dsp的塔康控制系统
US9450916B2 (en) * 2014-08-22 2016-09-20 Honeywell International Inc. Hardware assist for redundant ethernet network
CN106528106A (zh) * 2016-10-31 2017-03-22 武汉光迅科技股份有限公司 一种自适应各种不同Flash芯片类型的嵌入式系统启动方法
CN106874056A (zh) * 2017-03-14 2017-06-20 成都天奥电子股份有限公司 基于Ymodem协议的TI C2000 DSP 串口在线升级方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李凯: "基于TMS320C6748高速DSP信号处理模块设计", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 *
王洁等: "基于TMS320C6000系列DSP的二次Bootloader研究", 《电子工程师》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021000535A1 (zh) * 2019-06-29 2021-01-07 沃太能源南通有限公司 一种升级单片机存储器内boot的方法
CN110716721A (zh) * 2019-08-27 2020-01-21 中国船舶重工集团公司第七0七研究所 兼容网口和串口的tms320c6748程序加载方法
CN111338771A (zh) * 2020-02-13 2020-06-26 深圳震有科技股份有限公司 引导程序切换处理方法及装置、计算机设备、介质
CN113703811A (zh) * 2021-09-06 2021-11-26 北京半导体专用设备研究所(中国电子科技集团公司第四十五研究所) 一种dsp远程下载固件的方法、装置、设备及存储介质
CN113703811B (zh) * 2021-09-06 2024-04-23 北京半导体专用设备研究所(中国电子科技集团公司第四十五研究所) 一种dsp远程下载固件的方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN108182079B (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
CN108182079A (zh) 一种基于串口的tms320c6748程序加载方法
CN106648803A (zh) 一种dsp芯片在线升级方法
WO2011000279A1 (zh) 用于软件进行动态升级与控制的生成补丁方法及其装置
CN113835945B (zh) 芯片的测试方法、装置、设备及系统
CN103942065A (zh) 用于更新固件兼容性数据的方法和系统
CN111008033A (zh) 一种基于串口的通用dsp在线升级系统及升级方法
CN101008898A (zh) 一种智能化设备软件升级与修复的方法和系统
CN108182078B (zh) 一种优化的弹载设备不拆弹软件在线升级方法
CN103150188A (zh) 非x86指令集计算机的x86兼容显卡快速初始化方法
CN104077166A (zh) 基于fpga中ip核的epcs与epcq存储器在线升级方法
CN114924810A (zh) 一种异构程序执行方法、装置、计算设备及可读存储介质
CN112152846A (zh) 一种基于物联网的计量仪表远程升级方法
CN110716721A (zh) 兼容网口和串口的tms320c6748程序加载方法
CN104035757A (zh) 基于MIPS处理器的u-boot移植的实现方法
US20180364991A1 (en) Method and system for preparing code to be executed by programmable control devices
CN104133743A (zh) 一种将文件烧录到emmc芯片的方法及装置
CN109426511B (zh) 软核更新方法和系统
US6643800B1 (en) Method and apparatus for testing microarchitectural features by using tests written in microcode
CN106874049A (zh) 基于stm32 iap的在线程序更新方法
CN107729090A (zh) 一种基于串口传输的用户程序下载方法
CN103677919A (zh) 一种基于串口的机载软件更新方法
US20150355997A1 (en) Server-Platform Simulation Service
CN106445504A (zh) 一种移动终端设备驱动的升级方法及系统
CN110515645A (zh) 一种bios的功能更新的实现方法及相关装置
US20060080636A1 (en) Method of building intelligent platform management interface firmware architecture

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
GR01 Patent grant
GR01 Patent grant