CN108182079B - 一种基于串口的tms320c6748程序加载方法 - Google Patents
一种基于串口的tms320c6748程序加载方法 Download PDFInfo
- Publication number
- CN108182079B CN108182079B CN201711395946.2A CN201711395946A CN108182079B CN 108182079 B CN108182079 B CN 108182079B CN 201711395946 A CN201711395946 A CN 201711395946A CN 108182079 B CN108182079 B CN 108182079B
- Authority
- CN
- China
- Prior art keywords
- program
- user
- serial port
- flash
- loading
- 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.)
- Active
Links
Images
Classifications
-
- 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/4401—Bootstrapping
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
技术领域
本发明属于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启动方式。
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 CN108182079A (zh) | 2018-06-19 |
CN108182079B true 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) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110333900A (zh) * | 2019-06-29 | 2019-10-15 | 沃太能源南通有限公司 | 一种升级单片机存储器内boot的方法 |
CN110716721A (zh) * | 2019-08-27 | 2020-01-21 | 中国船舶重工集团公司第七0七研究所 | 兼容网口和串口的tms320c6748程序加载方法 |
CN111338771B (zh) * | 2020-02-13 | 2023-06-30 | 深圳震有科技股份有限公司 | 引导程序切换处理方法及装置、计算机设备、介质 |
CN113703811B (zh) * | 2021-09-06 | 2024-04-23 | 北京半导体专用设备研究所(中国电子科技集团公司第四十五研究所) | 一种dsp远程下载固件的方法、装置、设备及存储介质 |
Citations (7)
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 串口在线升级方法 |
-
2017
- 2017-12-21 CN CN201711395946.2A patent/CN108182079B/zh active Active
Patent Citations (7)
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)
Title |
---|
基于TMS320C6000系列DSP的二次Bootloader研究;王洁等;《电子工程师》;20050831;第31卷(第8期);1-3 * |
基于TMS320C6748高速DSP信号处理模块设计;李凯;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;20140615;11-55 * |
Also Published As
Publication number | Publication date |
---|---|
CN108182079A (zh) | 2018-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108182079B (zh) | 一种基于串口的tms320c6748程序加载方法 | |
Dong et al. | Elon: enabling efficient and long-term reprogramming for wireless sensor networks | |
CN101763279B (zh) | 一种BootLoader架构设计方法 | |
WO2017185606A1 (zh) | 基于overlay机制的APK开发方法及系统 | |
CN100454258C (zh) | 嵌入式系统加载程序与应用程序一体化更新方法 | |
CN102402427A (zh) | 一种Java应用程序的更新方法及装置 | |
CN103744713A (zh) | 基于fpga的嵌入式双核系统的自主配置方法 | |
CN103514018A (zh) | 基于stm32f4控制器的程序远程下载的实现方法 | |
CN101515239A (zh) | X86飞控计算机快速启动方法 | |
CN109634618B (zh) | 基于TMS320C674X处理器二级BootLoader串行加载自启动方法 | |
CN110716721A (zh) | 兼容网口和串口的tms320c6748程序加载方法 | |
CN104866324A (zh) | 一种便携操作系统构建方法及便携存储器 | |
CN106648759A (zh) | 一种通用编程器固件的更新方法 | |
CN100570560C (zh) | 启动芯片软件版本信息设置方法和装置 | |
CN104035757A (zh) | 基于MIPS处理器的u-boot移植的实现方法 | |
CN102446101A (zh) | 固件强制升级的系统及其固件的强制升级方法 | |
CN109426511B (zh) | 软核更新方法和系统 | |
CN106445504A (zh) | 一种移动终端设备驱动的升级方法及系统 | |
CN103914331A (zh) | 支持多芯片配置功能的仿真器 | |
CN105630530A (zh) | 数字信号处理器多级启动方法及系统 | |
CN102622213A (zh) | 一种生成一键升级工具系统及制作方法 | |
CN105204896A (zh) | 一种数字存储示波器的BootLoader设计方法 | |
CN104423984A (zh) | 在线升级方法和在线升级系统 | |
CN102779059A (zh) | 塞班客户端上启动应用的方法和装置 | |
CN115495136A (zh) | 一种基于国产飞腾平台的bmc快速在线升级方法 |
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 |