CN104407878B - C6000数字信号处理器在线升级方法 - Google Patents
C6000数字信号处理器在线升级方法 Download PDFInfo
- Publication number
- CN104407878B CN104407878B CN201410558178.8A CN201410558178A CN104407878B CN 104407878 B CN104407878 B CN 104407878B CN 201410558178 A CN201410558178 A CN 201410558178A CN 104407878 B CN104407878 B CN 104407878B
- Authority
- CN
- China
- Prior art keywords
- software
- bin
- flash
- digital signal
- upgrading
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明C6000数字信号处理器在线升级方法,提高软件升级的可靠性,摒弃了在线升级模块内嵌于产品软件的传统方案,而是将Flash分为启动代码区和产品程序区两个不同的分区,启动代码区存储的在线升级软件,可以通过RS422/RS232/CAN接口对产品程序区进行读写,并能实现产品软件的引导和启动;产品程序区存储实际的产品软件。本发明C6000数字信号处理器在线升级方法,不仅可以实现产品在不开机箱、不使用仿真器的情况下在线升级产品软件,还能通过Flash分区存储的方式提高软件升级的可靠性。
Description
技术领域
本发明涉及一种数字信号处理器在线升级方法,具体的说,是涉及一种C6000数字信号处理器在线升级方法。
背景技术
美国TI公司的C6000系列数字信号处理器DSP在工业控制、高性能计算、音视频处理和航空航天等领域应用广泛,但是该数字信号处理器本身并不支持串口启动等在线软件更新,产品交付后无法通过外部接口进行软件在线升级,必须开箱维护。
通常,该型数字信号处理器的软件烧写方法需要预先编写Flash烧写软件,利用仿真加载配合CCS的加载功能完成,过程复杂。虽然可以在产品软件中嵌入flash烧写代码进行软件在线升级,但是该方法可靠性较差,在升级过程中如若发生死机、断电或者升级文件错误均可能导致升级失败,并再也无法升级,必须开箱维护。
发明内容
针对上述现有技术中的不足,本发明提供一种在不开箱的基础上通过RS422/RS232/CAN接口对产品软件在线升级;提高了软件升级的可靠性,升级过程中死机、意外断电或者其它人为操作失误均不影响再次进行软件在线升级的C6000数字信号处理器在线升级方法。
本发明所采取的技术方案是:
一种C6000数字信号处理器在线升级方法,包括如下步骤:首次固化步骤和在线步骤;
所述首次固化步骤为:
将数字信号处理器与数字信号仿真器相连接;数字信号处理器上电;
在Code Composer Studio集成开发环境中打开Flash固化工程FlashBurn.prj,并在Flash擦除完成处设置断点,开始运行;
当程序执行到断点处时,通过CCS软件加载在线升级软件Bootloader.bin到0x80000000处;
完成加载后继续运行程序,程序自动将在线升级软件Bootloader.bin写入Flash的起始地址;
所述在线步骤为包括:接口配置步骤、启动引导步骤、输入用户命令步骤、Xmodem数据传输步骤、软件升级以及软件启动步骤,具体过程如下:
接口配置步骤:将数字信号处理器连接上电源线缆和通讯线缆,并在与之相连的电脑中打开超级终端软件,设置超级终端软件的串口参数。
启动引导步骤:上电后,终端显示press s to stop,1s内键入字符s进入命令行状态;
用户命令步骤:在命令行状态下,输入命令update;开始计时等待产品软件传输;
Xmodem数据传输步骤:点击菜单栏的传送,选择待升级软件data.bin,选择1KXmodem的传输协议;开始传输升级软件data.bin;
软件升级步骤:升级软件data.bin传输结束,超级终端将显示Flash擦除、写入和读取校验操作;校验完成未显示错误信息,软件在线更新结束。
软件启动步骤:断电重启,系统在线升级软件Bootloader.bin首先执行并自动引导并跳转至data.bin的入口地址0x400,执行data.bin。
所述Flash的起始地址为:0x90000000
所述设置串口参数为:115200,8,n,1。
本发明相对现有技术的有益效果:
本发明C6000数字信号处理器在线升级方法,该方法为提高软件升级的可靠性,摒弃了在线升级模块内嵌于产品软件的传统方案,而是将Flash分为启动代码区和产品程序区两个不同的分区。启动代码区存储的在线升级软件,可以通过RS422/RS232/CAN接口对产品程序区进行读写,并能实现产品软件的引导和启动;产品程序区存储实际的产品软件。该方法不仅可以实现产品在不开机箱、不使用仿真器的情况下在线升级产品软件,还能通过Flash分区存储的方式提高软件升级的可靠性。
附图说明
图1是本发明C6000数字信号处理器在线升级方法的首次固化bootloader.bin操作流程图;
图2是本发明C6000数字信号处理器在线升级方法的软件在线升级流程图;
图3是本发明C6000数字信号处理器在线升级方法的固化bootloader.bin后产品程序的启动和更新流程图。
具体实施方式
以下参照附图及实施例对本发明进行详细的说明:
附图1-3可知,一种C6000数字信号处理器在线升级方法,其特征在于,包括如下步骤:首次固化步骤和在线步骤;
所述首次固化步骤为:
将数字信号处理器与数字信号仿真器相连接;数字信号处理器上电;
在Code Composer Studio集成开发环境中打开Flash固化工程FlashBurn.prj,并在Flash擦除完成处设置断点,开始运行;
当程序执行到断点处时,通过CCS软件加载在线升级软件Bootloader.bin到0x80000000处;
完成加载后继续运行程序,程序自动将在线升级软件Bootloader.bin写入Flash的起始地址;
所述在线步骤为包括:接口配置步骤、启动引导步骤、输入用户命令步骤、Xmodem数据传输步骤、软件升级以及软件启动步骤,具体过程如下:
接口配置步骤:将数字信号处理器连接上电源线缆和通讯线缆,并在与之相连的电脑中打开超级终端软件,设置超级终端软件的串口参数。
启动引导步骤:上电后,终端显示press s to stop,1s内键入字符s进入命令行状态;
用户命令步骤:在命令行状态下,输入命令update;开始计时等待产品软件传输;
Xmodem数据传输步骤:点击菜单栏的传送,选择待升级软件data.bin,选择1KXmodem的传输协议;开始传输升级软件data.bin;
软件升级步骤:升级软件data.bin传输结束,超级终端将显示Flash擦除、写入和读取校验操作;校验完成未显示错误信息,软件在线更新结束。
软件启动步骤:断电重启,系统在线升级软件Bootloader.bin首先执行并自动引导并跳转至data.bin的入口地址0x400,0x400可以在编译程序的gel文件中设置,进而执行data.bin。
所述Flash的起始地址为:0x90000000
所述设置串口参数为:115200,8,n,1,其中,通讯波特率为:115200bps;数据为8位;无校验位,1位为停止位。
本发明C6000数字信号处理器在线升级方法,提高软件升级的可靠性,摒弃了在线升级模块内嵌于产品软件的传统方案,而是将Flash分为启动代码区和产品程序区两个不同的分区。启动代码区存储的在线升级软件,可以通过RS422/RS232/CAN接口对产品程序区进行读写,并能实现产品软件的引导和启动;产品程序区存储实际的产品软件。该方法不仅可以实现产品在不开机箱、不使用仿真器的情况下在线升级产品软件,还能通过Flash分区存储的方式提高软件升级的可靠性。
启动代码区在flash中的地址空间为0x90000000-0x900FFFFF,存储在线升级软件;产品程序区在flash中的地址为0x90100000-0x90400000存储实际的产品软件。
如图1流程示意图。
该流程开始于步骤s101。
在步骤s102,将设备与DSP仿真器相连,并给设备上电。
在步骤s103,在CCS软件环境中打开Flash固化工程FlashBurn.prj,并在Flash擦除完成处设置断点,开始运行。
在步骤s104,程序执行到断点后,通过CCS软件加载Bootloader.bin到0x80000000处。
在步骤s105,继续运行程序,程序自动将Bootloader.bin写入Flash的起始地址,即0x90000000。
该流程结束于步骤s106。
如图2流程示意图。
该流程开始于步骤s201。
在步骤s202,接口配置步骤。
在步骤s203,启动引导步骤。
在步骤s204,输入用户命令步骤。
在步骤s205,Xmodem数据传输步骤。
在步骤s206,软件升级以及软件启动步骤。
该流程结束于步骤s207。
如图3流程示意图。
该流程开始于步骤s301,。
在步骤s302,判断是否首次使用,是首次使用执行步骤s303,不是首次使用执行步骤s304。
在步骤s303,将在线升级软件写入flash中的启动代码区。
在步骤s304,线缆连接串口参数设置。
在步骤s305,系统上电。
在步骤s306,判断是否进入命令行模式,是进入命令行模式执行步骤s307;不是进入命令行模式,执行步骤s308。
在步骤s307,手动选择待升级产品软件进行传输。
在步骤s308,自动执行用户程序。
在步骤s309,flash擦除、写入、读取校验操作是否成功,flash擦除、写入、读取校验操作成功,执行步骤s311;flash擦除、写入、读取校验操作是否成功,flash擦除、写入、读取校验操作不成功,执行步骤s310。
在步骤s310,判断是否在线更新软件,是在线更新软件执行步骤s312;不是在线更新软件执行步骤s313。
在在步骤s311,软件在线更新成功。
在步骤s312,系统断电后执行步骤s305。
步骤s313,软件在线更新失败。
该流程结束于步骤s314。
设备成功固化bootloader.bin后,产品程序的启动和更新流程如下:
1.DSP上电后,位于Flash起始地址的1k代码将自动拷贝到内部sram中,并从内部sram的地址0处开始执行代码。在线升级软件的启动引导模块就在这1k代码中,它负责初始化中断向量,初始化外设和SDRAM,并将剩下的代码从flash中拷贝到外部SDRAM中,并跳转到SDRAM中执行接口配置模块;
2.接口配置模块负责完成对RS422/RS232/CAN接口的驱动配置,实现DSP和外部升级软件的通讯。
3.接口配置模块完成后,上位机终端软件可以接收到用户命令模块发送出来的提示信息,在固定时间内(1秒,该时间可设置)如果上位机终端软件向DSP发送字符‘s’,在线升级软件将进行命令行状态,等待升级命令;否则,它将从flash中的产品程序区中拷贝产品软件,执行该软件。
4.如果进行命令行状态,输入”update”指令,DSP将进行软件在线升级。并提示上位机终端软件按照xmodem协议发送待更新的产品软件文件data.bin。传输结束后,执行flash擦除、写入和读取校验操作,校验成功即实现软件在线更新。
5.断电,重新启动DSP。1s内不输入字符‘s’,DSP自动引导执行更新的产品软件data.bin。
本发明C6000数字信号处理器在线升级方法,实际使用过程中,可以实现在不开箱、不使用仿真器的情况下通过RS422/RS232/CAN接口对产品软件在线升级;无需专用上位软件和协议,采用通用的超级终端软件和Xmodem协议即可实现软件在线升级;将在线升级软件和产品用户程序在flash中分区存储,对产品用户程序的擦出不影响在线升级软件,提高在线升级的可靠性。
Claims (2)
1.一种C6000数字信号处理器在线升级方法,其特征在于,包括如下步骤:首次固化步骤和在线步骤;
所述首次固化步骤为:
将数字信号处理器与数字信号仿真器相连接;数字信号处理器上电;
在Code Composer Studio集成开发环境中打开Flash固化工程FlashBurn.prj,并在Flash擦除完成处设置断点,开始运行;
当程序执行到断点处时,通过CCS软件加载在线升级软件Bootloader.bin到flash中的启动代码区:0x80000000处;
完成加载后继续运行程序,程序自动将在线升级软件Bootloader.bin写入Flash的起始地址;
所述在线步骤为包括:接口配置步骤、启动引导步骤、输入用户命令步骤、Xmodem数据传输步骤、软件升级以及软件启动步骤,具体过程如下:
接口配置步骤:将数字信号处理器连接上电源线缆和通讯线缆,并在与之相连的电脑中打开超级终端软件,设置超级终端软件的串口参数;
启动引导步骤:上电后,终端显示press s to stop,1s内键入字符s进入命令行状态;
用户命令步骤:在命令行状态下,输入命令update;开始计时等待产品软件传输;
Xmodem数据传输步骤:点击菜单栏的传送,选择待升级软件data.bin,选择1K Xmodem的传输协议;开始传输升级软件data.bin;
软件升级步骤:升级软件data.bin传输结束,超级终端将显示Flash擦除、写入和读取校验操作;校验完成未显示错误信息,软件在线更新结束;
软件启动步骤:断电重启,系统在线升级软件Bootloader.bin首先执行并自动引导并跳转至data.bin的入口地址0x400,执行data.bin;
所述Flash的起始地址为:0x90000000。
2.根据权利要求1所述C6000数字信号处理器在线升级方法,其特征在于:所述设置串口参数为:115200,8,n,1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410558178.8A CN104407878B (zh) | 2014-10-20 | 2014-10-20 | C6000数字信号处理器在线升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410558178.8A CN104407878B (zh) | 2014-10-20 | 2014-10-20 | C6000数字信号处理器在线升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104407878A CN104407878A (zh) | 2015-03-11 |
CN104407878B true CN104407878B (zh) | 2018-02-23 |
Family
ID=52645511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410558178.8A Active CN104407878B (zh) | 2014-10-20 | 2014-10-20 | C6000数字信号处理器在线升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104407878B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106155715A (zh) * | 2015-03-30 | 2016-11-23 | 北京自动化控制设备研究所 | 一种基于实时mcu的软件引导固化方法 |
CN106648803A (zh) * | 2016-12-30 | 2017-05-10 | 南京科远自动化集团股份有限公司 | 一种dsp芯片在线升级方法 |
CN106648807B (zh) * | 2017-01-10 | 2020-12-01 | 北京电子工程总体研究所 | 一种基于flash存储器的dsp软件上传更新方法 |
CN107015833B (zh) * | 2017-04-14 | 2020-06-09 | 湖南威胜信息技术有限公司 | 嵌入式设备应用程序的自恢复方法 |
CN108037943B (zh) * | 2017-12-08 | 2021-11-09 | 成都华力创通科技有限公司 | 一种基于nios ii的fpga在线升级方法 |
CN109165037A (zh) * | 2018-07-31 | 2019-01-08 | 西安霍威航空科技有限公司 | 一种基于串口处理器的程序在线更新方法及系统 |
CN109766116B (zh) * | 2018-12-11 | 2022-07-15 | 湖北航天飞行器研究所 | 一种基于can通讯的多核控制组件在线引导升级方法 |
CN111008033A (zh) * | 2019-10-30 | 2020-04-14 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于串口的通用dsp在线升级系统及升级方法 |
CN111459468A (zh) * | 2020-04-09 | 2020-07-28 | 西安现代控制技术研究所 | 高可靠性串口通讯的dsp程序在线升级系统和方法 |
CN112346769A (zh) * | 2020-10-28 | 2021-02-09 | 北京航天发射技术研究所 | 一种基于tms320f28335的dsp软件在线升级方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102230374A (zh) * | 2011-06-13 | 2011-11-02 | 电子科技大学 | 一种基于485总线的井下程序远程更新装置 |
-
2014
- 2014-10-20 CN CN201410558178.8A patent/CN104407878B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102230374A (zh) * | 2011-06-13 | 2011-11-02 | 电子科技大学 | 一种基于485总线的井下程序远程更新装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104407878A (zh) | 2015-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104407878B (zh) | C6000数字信号处理器在线升级方法 | |
CN111008033A (zh) | 一种基于串口的通用dsp在线升级系统及升级方法 | |
CN104102518B (zh) | 一种双cpu系统及其程序升级方法 | |
CN106897090B (zh) | 一种嵌入式设备程序升级方法及系统 | |
CN110597542B (zh) | 软件自动ota升级方法及装置、电子设备 | |
CN110187909B (zh) | 一种基于安卓系统的单片机固件升级方法 | |
CN101963910A (zh) | 基于通用usb总线的设备固件升级方法 | |
CN103745167B (zh) | 单片机的iap方法及装置 | |
CN101216773A (zh) | 一种嵌入式Linux系统固件下载方法和装置 | |
CN102693144B (zh) | 一种Android移动终端的电容屏固件升级的方法 | |
CN109189434A (zh) | 一种电能表的在线升级方法 | |
CN105760191A (zh) | 嵌入式系统设备程序烧写量产方法 | |
CN112947977A (zh) | 一种软件在线升级方法及系统 | |
CN107678765A (zh) | 一种基于c8051f系列单片机的在线升级方法 | |
CN104077166A (zh) | 基于fpga中ip核的epcs与epcq存储器在线升级方法 | |
CN108170480A (zh) | 一种基于u-boot引导μC/OS操作系统的启动方法 | |
CN111338925A (zh) | 小程序测试方法及装置、系统、电子设备和存储介质 | |
CN110442356A (zh) | Dsp固件的升级方法及装置 | |
CN111459744A (zh) | 视频处理芯片的固件烧录方法和固件调试方法 | |
WO2018049798A1 (zh) | 一种缓存分区重构的方法和装置 | |
CN109358891B (zh) | 一种嵌入式控制器的dsp软件升级方法及系统 | |
CN107729090A (zh) | 一种基于串口传输的用户程序下载方法 | |
CN103677919A (zh) | 一种基于串口的机载软件更新方法 | |
CN116700765A (zh) | 伺服驱动器的固件升级方法及装置、伺服驱动器 | |
CN103729202A (zh) | 一种基于gel脚本的dsp可靠在线flash烧写方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |