CN110716721A - 兼容网口和串口的tms320c6748程序加载方法 - Google Patents

兼容网口和串口的tms320c6748程序加载方法 Download PDF

Info

Publication number
CN110716721A
CN110716721A CN201910793852.3A CN201910793852A CN110716721A CN 110716721 A CN110716721 A CN 110716721A CN 201910793852 A CN201910793852 A CN 201910793852A CN 110716721 A CN110716721 A CN 110716721A
Authority
CN
China
Prior art keywords
program
flash
user
programming
ubl
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
CN201910793852.3A
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.)
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 CN201910793852.3A priority Critical patent/CN110716721A/zh
Publication of CN110716721A publication Critical patent/CN110716721A/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/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

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

Abstract

本发明涉及一种兼容网口和串口的TMS320C6748程序加载方法,包括以下步骤:步骤1、编写用户引导程序UBL;步骤2、编写用户程序APP;步骤3、将步骤1的UBL程序和步骤2的用户程序APP进行文件的合成bin文件后烧入NOR Flash中;步骤4、使用步骤3中合并生成的bin文件进行网络或者串口烧写。本发明无需对产品进行拆装即可快速完成DSP程序更新,从而节省了大量时间。

Description

兼容网口和串口的TMS320C6748程序加载方法
技术领域
本发明属于DSP程序加载技术领域,涉及DSP程序加载方法,尤其是一种脱离DSP仿真器,并兼容网口和串口的TMS320C6748程序加载方法。
背景技术
随着数字信号处理技术(DSP)的不断发展,TMS320C6748的应用越来越广泛,已逐步取代TMS320C6713成为低功耗高性能DSP芯片之首选。在以TMS320C6748为核心的应用系统中,系统完善和功能增强都面临软件更新的问题。这时,更新方法的简易和高效就显的特别重要。在基于DSP的系统中,软件更新通常需要借助仿真器将最新的程序下载到目标板上,然后将程序写入flash中,但在工程应用中,一旦系统组装为成品后,再对系统进行软件更新和维护时,传统的加载方式就显得十分不方便甚至不可能,而且采用传统方法不能解决程序代码的远程加载问题。另外,由于系统对外接口的变化,不同应用场景下可以进行程序加载的接口方式会有所不同,因此,需要一种更加灵活、高效、通用的程序加载方法。目前,网口和串口是比较常用的接口方式,因此如和研发一种兼容网口和串口的TMS320C6748程序加载方法成为本领域技术人员亟欲解决的技术问题。
发明内容
本发明的目的在于克服现有技术的不足,提出一种设计合理、通用性强。快速便捷且兼容网口和串口的TMS320C6748程序加载方法。
本发明解决其现实问题是采取以下技术方案实现的:
一种兼容网口和串口的TMS320C6748程序加载方法,包括以下步骤:
步骤1、编写用户引导程序UBL;
步骤2、编写用户程序APP;
步骤3、将步骤1的UBL程序和步骤2的用户程序APP进行文件的合成bin文件后烧入NOR Flash中;
步骤4、使用步骤3中合并生成的bin文件进行网络或者串口烧写。
而且,所述步骤1的采用AIS主模式下EMIF NOR Flash启动方式上电启动TMS320C6748的具体步骤包括:
(1)TMS320C6748的上电后,其内部Rom中的Bootloader程序开始执行,Bootloader程序捕获BOOTCFG寄存器中的值;
(2)在Bootloader捕获了Boot管脚配置以后,根据设置来选择AIS主模式下EMIFNOR Flash启动方式;
(3)在EMIF NOR Flash启动方式下,Rom Bootloader会执行以AIS文件格式存储在NOR Flash中的命令,将用户程序搬运到对应运行空间,最后跳转到用户程序的入口地址_c_int00,开始执行用户程序。
而且,所述步骤1的编写用户引导程序UBL的具体步骤包括:
(1)实现程序跳转功能:首先通过上电读取NOR Flash中固定地址中的标志,根据标志来判断是执行烧写程序加载功能还是跳转到用户APP执行,默认为跳转到用户APP;
(2)实现接收数据并固化功能:首先擦除Flash的相关Sector,再提示上位机输入待加载的bin文件,然后通过网口或串口接收数据进行处理并写入Flash;
(3)实现错误处理功能:首先对UBL进行备份,在擦除Flash之前先把原合成bin文件中的UBL复制到Flash固定段中,然后在接收固化的工程中实时判断bin文件帧头、帧尾以及校验和,如果有错则把UBL重新固化到Flash起始地址中,并置加载标志,如果没错则置跳转用户APP标志。
而且,所述步骤2的具体方法为:在用户程序APP中加入响应上位机命令对NORFlash中固定地址的写数或擦除的功能;
而且,所述步骤3的具体方法为:利用AISgen工具将步骤1中的UBL程序编译生成的out文件和步骤2中的APP程序编译生成的out文件转换合并成一个bin文件,借助仿真器将该bin文件烧入NOR Flash中。
而且,所述步骤4的具体步骤包括:
(1)系统上电后,读取flash中的标志位,若标志位为不烧写,则执行用户程序,否则执行烧写程序;若执行烧写程序,继续判定标志位是执行网络烧写还是串口烧写;
(2)若执行烧写程序,则首先进行硬件初始化,配置网口/串口;
(3)发送询问语句,询问是否进行烧写:若收到y,则继续烧写流程,否则退出并返回到用户程序;
(4)若继续烧写,则首先迁移UBL程序至flash的某扇区进行备份,然后擦除备份扇区之外的flash扇区。擦除完成后,发送语句,提示用户发送bin文件;
(5)网口/串口接收bin文件数据,完成后进行校验判定。若校验错误,利用备份的UBL程序重新固化UBL,置标志位为烧写状态,提示用户重启系统,重启烧写流程;若校验成功,则将bin文件写入flash,置标志位为非烧写状态,完成后提示用户烧写成功。
本发明的优点和有益效果:
本发明实现了无仿真器的条件下,兼容网口和串口对DSP芯片(TMS320C6748)进行程序加载,通用性强,且无需对产品进行拆装即可快速完成DSP程序更新,从而节省了大量时间。
附图说明
图1是本发明的系统结构框图;
图2是本发明的TMS320C6748上电启动流程图;
图3是本发明的AIS结构示意图;
图4是本发明的AIS命令结构示意图;
图5是本发明的AISgen工具界面图
图6是本发明的网口烧写辅助软件界面图;
图7是本发明的烧写流程图。
具体实施方式
以下结合附图对本发明实施例作进一步详述:
一种兼容网口和串口的TMS320C6748程序加载方法,其系统结构框图如图1所示,包括以下步骤:
步骤1、编写用户引导程序UBL(User Bootloader)
所述步骤1的采用AIS主模式下EMIF NOR Flash启动方式上电启动TMS320C6748的具体步骤包括:
(1)TMS320C6748的上电后,其内部Rom中的Bootloader程序开始执行,Bootloader程序捕获BOOTCFG寄存器中的值;
在本实施例中,BOOTCFG寄存器中的值是通过Boot管脚来实现的。
(1)在Bootloader捕获了Boot管脚配置以后,根据设置来选择AIS主模式下EMIFNOR Flash启动方式;
在本实施例中,启动方式从类型上主要分为3种模式:非AIS模式、AIS主模式、AIS从模式。本发明选择了AIS主模式下EMIF NOR Flash启动方式,具体上电过程如图2所示。
(3)在EMIF NOR Flash启动方式下,Rom Bootloader会执行以AIS文件格式存储在NOR Flash中的命令,将用户程序搬运到对应运行空间,最后跳转到用户程序的入口地址_c_int00,开始执行用户程序。
所述步骤1的编写用户引导程序UBL的软件设计要求用户引导程序具有程序跳转功能、接收数据并固化的功能,以及一定的错误处理能力,对因数据传输引起固化错误从而导致无法从flash启动的致命性错误进行补救。
所述步骤1的编写用户引导程序UBL的具体步骤,包括:
(1)实现程序跳转功能:首先通过上电读取NOR Flash中固定地址中的标志,根据标志来判断是执行烧写程序加载功能还是跳转到用户APP执行,默认为跳转到用户APP;
(2)实现接收数据并固化功能:首先擦除Flash的相关Sector,再提示上位机(网口烧写辅助软件或串口调试助手)输入待加载的bin文件(由UBL和用户APP合成),然后通过网口或串口接收数据进行处理并写入Flash;
(3)实现错误处理功能:首先对UBL进行备份,在擦除Flash之前先把原合成bin文件中的UBL复制到Flash固定段中,然后在接收固化的工程中实时判断bin文件帧头、帧尾以及校验和,如果有错则把UBL重新固化到Flash起始地址中,并置加载标志,如果没错则置跳转用户APP标志。
步骤2、编写用户程序APP;
所述步骤2的具体方法为:在用户程序APP中加入响应上位机命令对NOR Flash中固定地址的写数或擦除的功能,APP的运行空间为L2 RAM;
步骤3、将步骤1的UBL程序和步骤2的用户程序APP进行文件的合成后烧入NORFlash中;
所述步骤3的具体方法为:利用AISgen工具将步骤1中的UBL程序编译生成的out文件和步骤2中的APP程序编译生成的out文件转换合并成一个bin文件,借助仿真器将该bin文件烧入NOR Flash中。
在本实施例中,AIS文件格式是一种存储引导映象的格式。除了EMIF NOR FlashLegacy、EMIF NOR Flash Direct和HPI这三种引导方式,其他所有的引导方式都支持AIS文件格式。
AIS是一种二进制语言,以小端、32位格式进行存取。AIS结构如图3所示。AIS文件以魔术字(0x41504954)开始,包含一系列的AIS命令,按顺序由Rom Bootloader执行。AIS以Jump&Close(J&C)命令结束。每个AIS命令包含操作码、参数和数据(可选)组成。操作码和参数字宽为4个字节,数据的长度是4的倍数(以字节计算)。如果数据长度不是4的倍数,以0补充。AIS命令结构如图4所示。
在本实施例中,AIS文件产生是利用CCS5.5对工程文件编译后产生out文件,AISgen工具将out文件转换成bin(ais)文件。AISgen工具界面如图5所示,进行相应的配置后,在“DSP Application File”下拉框中选择out格式文件所在路径,在“AIS OutputFile”填写ais格式文件输出路径和名字。如果有多个out文件需要转换成一个bin格式文件,可以点击“DSP Application File”后面的加号进行添加,DSP上电默认执行第一个out文件对应的工程文件。
步骤4、使用步骤3中合并生成的bin文件进行网络或者串口烧写
如图7所示,所述步骤4的具体步骤包括:
(1)系统上电后,读取flash中的标志位,若标志位为不烧写,则执行用户程序,否则执行烧写程序;若执行烧写程序,继续判定标志位是执行网络烧写还是串口烧写;
(2)若执行烧写程序,则首先进行硬件初始化,配置网口/串口;
(3)发送询问语句,询问是否进行烧写:若收到y,则继续烧写流程,否则退出并返回到用户程序;
其中,网络接收询问语句并发送用户数据的软件如图6所示,串口接收软件为通用的串口调试助手。
(4)若继续烧写,则首先迁移UBL程序至flash的某扇区进行备份,然后擦除备份扇区之外的flash扇区。擦除完成后,发送语句,提示用户发送bin文件;
(5)网口/串口接收bin文件数据,完成后进行校验判定。若校验错误,利用备份的UBL程序重新固化UBL,置标志位为烧写状态,提示用户重启系统,重启烧写流程;若校验成功,则将bin文件写入flash,置标志位为非烧写状态,完成后提示用户烧写成功。
需要强调的是,本发明所述实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。

Claims (6)

1.一种兼容网口和串口的TMS320C6748程序加载方法,其特征在于:包括以下步骤:
步骤1、编写用户引导程序UBL;
步骤2、编写用户程序APP;
步骤3、将步骤1的UBL程序和步骤2的用户程序APP进行文件的合成bin文件后烧入NORFlash中;
步骤4、使用步骤3中合并生成的bin文件进行网络或者串口烧写。
2.根据权利要求1所述的一种兼容网口和串口的TMS320C6748程序加载方法,其特征在于:所述步骤1的采用AIS主模式下EMIF NOR Flash启动方式上电启动TMS320C6748的具体步骤包括:
(1)TMS320C6748的上电后,其内部Rom中的Bootloader程序开始执行,Bootloader程序捕获BOOTCFG寄存器中的值;
(2)在Bootloader捕获了Boot管脚配置以后,根据设置来选择AIS主模式下EMIF NORFlash启动方式;
(3)在EMIF NOR Flash启动方式下,Rom Bootloader会执行以AIS文件格式存储在NORFlash中的命令,将用户程序搬运到对应运行空间,最后跳转到用户程序的入口地址_c_int00,开始执行用户程序。
3.根据权利要求1所述的一种兼容网口和串口的TMS320C6748程序加载方法,其特征在于:所述步骤1的编写用户引导程序UBL的具体步骤包括:
(1)实现程序跳转功能:首先通过上电读取NOR Flash中固定地址中的标志,根据标志来判断是执行烧写程序加载功能还是跳转到用户APP执行,默认为跳转到用户APP;
(2)实现接收数据并固化功能:首先擦除Flash的相关Sector,再提示上位机输入待加载的bin文件,然后通过网口或串口接收数据进行处理并写入Flash;
(3)实现错误处理功能:首先对UBL进行备份,在擦除Flash之前先把原合成bin文件中的UBL复制到Flash固定段中,然后在接收固化的工程中实时判断bin文件帧头、帧尾以及校验和,如果有错则把UBL重新固化到Flash起始地址中,并置加载标志,如果没错则置跳转用户APP标志。
4.根据权利要求1所述的一种兼容网口和串口的TMS320C6748程序加载方法,其特征在于:所述步骤2的具体方法为:在用户程序APP中加入响应上位机命令对NOR Flash中固定地址的写数或擦除的功能。
5.根据权利要求1所述的一种兼容网口和串口的TMS320C6748程序加载方法,其特征在于:所述步骤3的具体方法为:利用AISgen工具将步骤1中的UBL程序编译生成的out文件和步骤2中的APP程序编译生成的out文件转换合并成一个bin文件,借助仿真器将该bin文件烧入NOR Flash中。
6.根据权利要求1所述的一种兼容网口和串口的TMS320C6748程序加载方法,其特征在于:所述步骤4的具体步骤包括:
(1)系统上电后,读取flash中的标志位,若标志位为不烧写,则执行用户程序,否则执行烧写程序;若执行烧写程序,继续判定标志位是执行网络烧写还是串口烧写;
(2)若执行烧写程序,则首先进行硬件初始化,配置网口/串口;
(3)发送询问语句,询问是否进行烧写:若收到y,则继续烧写流程,否则退出并返回到用户程序;
(4)若继续烧写,则首先迁移UBL程序至flash的某扇区进行备份,然后擦除备份扇区之外的flash扇区。擦除完成后,发送语句,提示用户发送bin文件;
(5)网口/串口接收bin文件数据,完成后进行校验判定。若校验错误,利用备份的UBL程序重新固化UBL,置标志位为烧写状态,提示用户重启系统,重启烧写流程;若校验成功,则将bin文件写入flash,置标志位为非烧写状态,完成后提示用户烧写成功。
CN201910793852.3A 2019-08-27 2019-08-27 兼容网口和串口的tms320c6748程序加载方法 Pending CN110716721A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910793852.3A CN110716721A (zh) 2019-08-27 2019-08-27 兼容网口和串口的tms320c6748程序加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910793852.3A CN110716721A (zh) 2019-08-27 2019-08-27 兼容网口和串口的tms320c6748程序加载方法

Publications (1)

Publication Number Publication Date
CN110716721A true CN110716721A (zh) 2020-01-21

Family

ID=69209474

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910793852.3A Pending CN110716721A (zh) 2019-08-27 2019-08-27 兼容网口和串口的tms320c6748程序加载方法

Country Status (1)

Country Link
CN (1) CN110716721A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112114850A (zh) * 2020-07-15 2020-12-22 北京航空航天大学杭州创新研究院 一种基于串口的stm32单片机片内和片外flash程序分散加载方法
CN112346746A (zh) * 2020-10-30 2021-02-09 中国船舶重工集团公司第七0七研究所 一种基于串口高可靠性的tms32c6748程序烧录方法
CN112363950A (zh) * 2020-11-30 2021-02-12 杭州海康汽车软件有限公司 应用程序的调试方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736938A (zh) * 2012-06-18 2012-10-17 中国电子科技集团公司第十研究所 Fpga配置程序的烧写方法
CN103902305A (zh) * 2012-12-26 2014-07-02 中国航空工业集团公司第六三一研究所 基于ti dsp的软件远程加载与固化方法
WO2016188037A1 (zh) * 2015-05-28 2016-12-01 深圳市中兴微电子技术有限公司 一种版本烧录方法、系统、终端及计算机存储介质
CN108108178A (zh) * 2016-11-23 2018-06-01 北京遥感设备研究所 一种基于dsp的flash程序自更新方法
CN108182079A (zh) * 2017-12-21 2018-06-19 中国船舶重工集团公司第七0七研究所 一种基于串口的tms320c6748程序加载方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736938A (zh) * 2012-06-18 2012-10-17 中国电子科技集团公司第十研究所 Fpga配置程序的烧写方法
CN103902305A (zh) * 2012-12-26 2014-07-02 中国航空工业集团公司第六三一研究所 基于ti dsp的软件远程加载与固化方法
WO2016188037A1 (zh) * 2015-05-28 2016-12-01 深圳市中兴微电子技术有限公司 一种版本烧录方法、系统、终端及计算机存储介质
CN108108178A (zh) * 2016-11-23 2018-06-01 北京遥感设备研究所 一种基于dsp的flash程序自更新方法
CN108182079A (zh) * 2017-12-21 2018-06-19 中国船舶重工集团公司第七0七研究所 一种基于串口的tms320c6748程序加载方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112114850A (zh) * 2020-07-15 2020-12-22 北京航空航天大学杭州创新研究院 一种基于串口的stm32单片机片内和片外flash程序分散加载方法
CN112114850B (zh) * 2020-07-15 2023-03-10 北京航空航天大学杭州创新研究院 一种基于串口的stm32单片机片内和片外flash程序分散加载方法
CN112346746A (zh) * 2020-10-30 2021-02-09 中国船舶重工集团公司第七0七研究所 一种基于串口高可靠性的tms32c6748程序烧录方法
CN112363950A (zh) * 2020-11-30 2021-02-12 杭州海康汽车软件有限公司 应用程序的调试方法及装置

Similar Documents

Publication Publication Date Title
CN110716721A (zh) 兼容网口和串口的tms320c6748程序加载方法
WO2022007656A1 (zh) Bootloader软件更新方法、装置、嵌入式控制器以及存储介质
CN101763279B (zh) 一种BootLoader架构设计方法
WO2015070521A1 (zh) 将ubi格式的系统文件制作成工厂烧录映像文件方法
CN108182079B (zh) 一种基于串口的tms320c6748程序加载方法
WO2011000279A1 (zh) 用于软件进行动态升级与控制的生成补丁方法及其装置
CN103514018A (zh) 基于stm32f4控制器的程序远程下载的实现方法
CN109634618B (zh) 基于TMS320C674X处理器二级BootLoader串行加载自启动方法
CN112947977A (zh) 一种软件在线升级方法及系统
WO2022227409A1 (zh) 一种嵌入式终端远程软件更新方法
CN114691178B (zh) 一种基于EtherCAT通讯驱动器的固件升级方法及装置
CN101334737A (zh) 一种嵌入式设备的启动或复位方法
CN108052326B (zh) 一种Xilinx FPGA支持Arduino IDE开发的实现方法
CN109426511B (zh) 软核更新方法和系统
CN102298531B (zh) 在嵌入式系统中对闪存文件系统进行升级的方法
CN114816273B (zh) 针对Norflash的自适应最优配置的方法、装置及介质
CN111459468A (zh) 高可靠性串口通讯的dsp程序在线升级系统和方法
CN105204896A (zh) 一种数字存储示波器的BootLoader设计方法
CN111831314B (zh) 一种针对不可写分区打补丁的方法与装置
CN111290765B (zh) 一种固件快速烧录方法、系统及存储介质
JP2007193505A (ja) パーティション・サイズ可変ファームウェア組込装置とそのファームウェア更新方法
CN108958795B (zh) 一种嵌入式系统中BootLoader代码重利用方法和开发板
CN109062562A (zh) Mcu固件程序的下载方法
US11513792B2 (en) Tracking history of firmware program updates
CN113190258A (zh) 一种基于串口的八核dsp软件离线升级方法

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