CN112346769A - 一种基于tms320f28335的dsp软件在线升级方法 - Google Patents
一种基于tms320f28335的dsp软件在线升级方法 Download PDFInfo
- Publication number
- CN112346769A CN112346769A CN202011174894.8A CN202011174894A CN112346769A CN 112346769 A CN112346769 A CN 112346769A CN 202011174894 A CN202011174894 A CN 202011174894A CN 112346769 A CN112346769 A CN 112346769A
- Authority
- CN
- China
- Prior art keywords
- dsp
- program
- signal processor
- bootloader
- digital signal
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000005192 partition Methods 0.000 claims abstract description 18
- 238000012795 verification Methods 0.000 claims description 9
- 238000011161 development Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates 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)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于TMS320F28335的DSP软件在线升级方法,属于软件在线升级方法技术领域,包括如下步骤:S1、将bootloader引导程序装载到数字信号处理器内部的FlashA区域;S2、将DSP应用程序装载到数字信号处理器内部的FlashB区域;S3、当信号处理器上电复位时,自动加载FlashA区域的bootloader引导程序。本发明提高了软件升级的可靠性,摒弃了在线升级模块内嵌于产品软件的传统方案,而是将bootloader引导程序和DSP应用程序放置在不同Flash分区,FlashA区域存储bootloader引导程序,FlashB区域存储DSP应用程序。
Description
技术领域
本发明涉及软件在线升级方法技术领域,更具体地说,涉及一种基于TMS320F28335的DSP软件在线升级方法。
背景技术
美国TI公司的TMS320F28335型数字信号处理器是一款TMS320F28X系列浮点DSP控制器,该器件具备精度高,成本低,功耗小,性能高,外设集成度高等特点,在工业控制、高性能计算和航空航天等领域应用广泛。
一般来说,电子产品均集成在箱体内,目前通用的升级程序方法是打开设备,利用仿真器连接JTAG接口配合CCS加载程序来更新程序,此方法较为繁琐,不利于产品的售后维护。
发明内容
1.要解决的技术问题
针对现有技术中存在的问题,本发明的目的在于提供一种基于TMS320F28335的DSP软件在线升级方法,它提供一种在不开箱的基础上且脱离仿真器,通过RS422/RS232接口对产品软件进行在线升级的方法。
2.技术方案
为解决上述问题,本发明采用如下的技术方案:
一种基于TMS320F28335的DSP软件在线升级方法,包括如下步骤:
S1、将bootloader引导程序装载到数字信号处理器内部的FlashA区域;
S2、将DSP应用程序装载到数字信号处理器内部的FlashB区域;
S3、当信号处理器上电复位时,自动加载FlashA区域的bootloader引导程序;
S4、判断是否有来自上位机RS422/RS232接口的程序升级指令:
当有来自上位机RS422/RS232接口的程序升级指令时,执行步骤S41;
当没有来自上位机RS422/RS232接口的程序升级指令,执行步骤S42;
S41、通过调用Flash28335_API函数将串口发送的新程序搬运至FlashB区域,用以覆盖原DSP应用程序;
S42、bootloader引导程序运行完毕后直接跳转至FlashB区域的起始入口,自动执行原DSP应用程序。
作为本发明的一种优选方案,在步骤S1中,其具体步骤如下:
S11、通过JTAG接口,将数字信号处理器与仿真器相连接,并连接至电脑;
S12、给数字信号处理器上电;
S13、在Code Composer Studio集成开发环境中点击Debug菜单下connect选项,连接数字信号处理器;
S14、打开bootloader固化工程bootloader.prj;
S15、在Code Composer Studio集成开发环境中点击Tools菜单下的F28xx On_Chip Flash Programmer选项,分别设置25、1、6三个参数后进入烧写界面;
S16、选择bootloader固化程序bootloader.out,点击“Excute Operation”按钮,等待进度条完成;
S17、bootloader引导程序已加载至FLASHA分区。
作为本发明的一种优选方案,所述数字信号处理器采用TMS320F28335数字信号处理器,所述仿真器采用SEED-XDS560PLUS仿真器。
作为本发明的一种优选方案,在步骤S2中,其具体步骤如下:
S21、将数字信号处理器连接上电源线缆和通讯线缆,并在与之相连的电脑中打开烧写上位机软件,设置串口参数;
S22、选择需要升级的DSP应用程序执行文件Dsp.out,并打开。
作为本发明的一种优选方案,在步骤S41中,其具体步骤如下:
S411、将原FlashB区域的程序擦除;
S412、将Dsp.out的二进制代码搬运至FlashB区域并写入;
S413、判断校验是否成功:
当检验成功时,执行步骤S4131;
当检验不成功时,执行步骤S4132;
S4131、软件在线升级成功;
S4132、软件在线升级失败。
作为本发明的一种优选方案,在步骤S1中,所述bootloader引导程序固化在数字处理器内部的FlashA区域时,不允许用户修改和擦除。
作为本发明的一种优选方案,在步骤S2中,所述DSP应用程序固化在数字信号处理器内部的FlashB区域时,可以允许用户修改和擦除。
作为本发明的一种优选方案,在步骤S1和步骤S2中,所述bootloader引导程序装载和DSP应用程序装载进行分区编译,在工程文件下的cmd文件中设置分区:
FLASHH:origin=0x300000,length=0x008000;
FLASHG:origin=0x308000,length=0x008000;
FLASHF:origin=0x310000,length=0x008000;
FLASHE:origin=0x318000,length=0x008000;
FLASHD:origin=0x320000,length=0x008000;
FLASHC:origin=0x328000,length=0x008000;
FLASHB:origin=0x330000,length=0x008000;
FLASHA:origin=0x338000,length=0x007F80;
其中:所述bootloader引导程序在编译时选择分区FLASHA,所述DSP应用程序在编译时选择分区FLASHB。
3.有益效果
相比于现有技术,本发明的优点在于:
本发明提高了软件升级的可靠性,摒弃了在线升级模块内嵌于产品软件的传统方案,而是将bootloader引导程序和DSP应用程序放置在不同Flash分区,FlashA区域存储bootloader引导程序,FlashB区域存储DSP应用程序,可以通过RS422/RS232接口对FlashB区域进行读写,并能实现DSP应用程序的引导和启动,该方法不仅可以实现产品在不开机箱、不使用仿真器的情况下在线升级产品软件,还能通过Flash分区存储的方式提高软件升级的可靠性。
附图说明
图1为本发明的一种基于TMS320F28335的DSP软件在线升级方法的整体流程图;
图2为本发明一种基于TMS320F28335的DSP软件在线升级方法中步骤S1处的流程图;
图3为本发明一种基于TMS320F28335的DSP软件在线升级方法中步骤S2处的流程图;
图4为本发明一种基于TMS320F28335的DSP软件在线升级方法中步骤S41处的流程图。
具体实施方式
下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例:
请参阅图1-4,一种基于TMS320F28335的DSP软件在线升级方法,包括如下步骤:
S1、将bootloader引导程序装载到数字信号处理器内部的FlashA区域:
S11、通过JTAG接口,将数字信号处理器与仿真器相连接,并连接至电脑,优选的,数字信号处理器采用TMS320F28335数字信号处理器,仿真器采用SEED-XDS560PLUS仿真器;
S12、给数字信号处理器上电;
S13、在Code Composer Studio集成开发环境中点击Debug菜单下connect选项,连接数字信号处理器;
S14、打开bootloader固化工程bootloader.prj;
S15、在Code Composer Studio集成开发环境中点击Tools菜单下的F28xx On_Chip Flash Programmer选项,分别设置25、1、6三个参数后进入烧写界面;
S16、选择bootloader固化程序bootloader.out,点击“Excute Operation”按钮,等待进度条完成;
S17、bootloader引导程序已加载至FLASHA分区;
需要进行说明的是:bootloader引导程序固化在数字处理器内部的FlashA区域时,不允许用户修改和擦除;
S2、将DSP应用程序装载到数字信号处理器内部的FlashB区域:
S21、将数字信号处理器连接上电源线缆和通讯线缆,并在与之相连的电脑中打开烧写上位机软件,设置串口参数;
S22、选择需要升级的DSP应用程序执行文件Dsp.out,并打开;
需要进行说明的是:DSP应用程序固化在数字信号处理器内部的FlashB区域时,可以允许用户修改和擦除;
在步骤S1和步骤S2中,bootloader引导程序装载和DSP应用程序装载进行分区编译,在工程文件下的cmd文件中设置分区:
FLASHH:origin=0x300000,length=0x008000;
FLASHG:origin=0x308000,length=0x008000;
FLASHF:origin=0x310000,length=0x008000;
FLASHE:origin=0x318000,length=0x008000;
FLASHD:origin=0x320000,length=0x008000;
FLASHC:origin=0x328000,length=0x008000;
FLASHB:origin=0x330000,length=0x008000;
FLASHA:origin=0x338000,length=0x007F80;
其中:bootloader引导程序在编译时选择分区FLASHA,DSP应用程序在编译时选择分区FLASHB;
S3、当信号处理器上电复位时,自动加载FlashA区域的bootloader引导程序;
S4、判断是否有来自上位机RS422/RS232接口的程序升级指令:
当有来自上位机RS422/RS232接口的程序升级指令时,执行步骤S41;
当没有来自上位机RS422/RS232接口的程序升级指令,执行步骤S42;
S41、通过调用Flash28335_API函数将串口发送的新程序搬运至FlashB区域,用以覆盖原DSP应用程序:
S411、将原FlashB区域的程序擦除;
S412、将Dsp.out的二进制代码搬运至FlashB区域并写入;
S413、判断校验是否成功:
当检验成功时,执行步骤S4131;
当检验不成功时,执行步骤S4132;
S4131、软件在线升级成功;
S4132、软件在线升级失败;
S42、bootloader引导程序运行完毕后直接跳转至FlashB区域的起始入口,自动执行原DSP应用程序。
本发明提高了软件升级的可靠性,摒弃了在线升级模块内嵌于产品软件的传统方案,而是将bootloader引导程序和DSP应用程序放置在不同Flash分区,FlashA区域存储bootloader引导程序,FlashB区域存储DSP应用程序,可以通过RS422/RS232接口对FlashB区域进行读写,并能实现DSP应用程序的引导和启动,该方法不仅可以实现产品在不开机箱、不使用仿真器的情况下在线升级产品软件,还能通过Flash分区存储的方式提高软件升级的可靠性。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其改进构思加以等同替换或改变,都应涵盖在本发明的保护范围内。
Claims (10)
1.一种基于TMS320F28335的DSP软件在线升级方法,其特征在于,包括如下步骤:
S1、将bootloader引导程序装载到数字信号处理器内部的FlashA区域;
S2、将DSP应用程序装载到数字信号处理器内部的FlashB区域;
S3、当信号处理器上电复位时,自动加载FlashA区域的bootloader引导程序;
S4、判断是否有来自上位机RS422/RS232接口的程序升级指令:
当有来自上位机RS422/RS232接口的程序升级指令时,执行步骤S41;
当没有来自上位机RS422/RS232接口的程序升级指令,执行步骤S42;
S41、通过调用Flash28335_API函数将串口发送的新程序搬运至FlashB区域,用以覆盖原DSP应用程序;
S42、bootloader引导程序运行完毕后直接跳转至FlashB区域的起始入口,自动执行原DSP应用程序。
2.根据权利要求1所述的一种基于TMS320F28335的DSP软件在线升级方法,其特征在于,在步骤S1中,其具体步骤如下:
S11、通过JTAG接口,将数字信号处理器与仿真器相连接,并连接至电脑;
S12、给数字信号处理器上电;
S13、在Code Composer Studio集成开发环境中点击Debug菜单下connect选项,连接数字信号处理器;
S14、打开bootloader固化工程bootloader.prj;
S15、在Code Composer Studio集成开发环境中点击Tools菜单下的F28xx On_ChipFlash Programmer选项,分别设置25、1、6三个参数后进入烧写界面;
S16、选择bootloader固化程序bootloader.out,点击“Excute Operation”按钮,等待进度条完成;
S17、bootloader引导程序已加载至FLASHA分区。
3.根据权利要求2所述的一种基于TMS320F28335的DSP软件在线升级方法,其特征在于,所述数字信号处理器采用TMS320F28335数字信号处理器,所述仿真器采用SEED-XDS560PLUS仿真器。
4.根据权利要求1所述的一种基于TMS320F28335的DSP软件在线升级方法,其特征在于,在步骤S2中,其具体步骤如下:
S21、将数字信号处理器连接上电源线缆和通讯线缆,并在与之相连的电脑中打开烧写上位机软件,设置串口参数;
S22、选择需要升级的DSP应用程序执行文件Dsp.out,并打开。
5.根据权利要求1所述的一种基于TMS320F28335的DSP软件在线升级方法,其特征在于,在步骤S41中,其具体步骤如下:
S411、将原FlashB区域的程序擦除;
S412、将Dsp.out的二进制代码搬运至FlashB区域并写入;
S413、判断校验是否成功:
当检验成功时,执行步骤S4131;
当检验不成功时,执行步骤S4132;
S4131、软件在线升级成功;
S4132、软件在线升级失败。
6.根据权利要求1-5任意一项所述的一种基于TMS320F28335的DSP软件在线升级方法,其特征在于,在步骤S1中,所述bootloader引导程序固化在数字处理器内部的FlashA区域时,不允许用户修改和擦除。
7.根据权利要求1-5任意一项所述的一种基于TMS320F28335的DSP软件在线升级方法,其特征在于,在步骤S2中,所述DSP应用程序固化在数字信号处理器内部的FlashB区域时,可以允许用户修改和擦除。
8.根据权利要求1-5任意一项所述的一种基于TMS320F28335的DSP软件在线升级方法,其特征在于,在步骤S1和步骤S2中,所述bootloader引导程序装载和DSP应用程序装载进行分区编译,在工程文件下的cmd文件中设置分区:
FLASHH:origin=0x300000,length=0x008000;
FLASHG:origin=0x308000,length=0x008000;
FLASHF:origin=0x310000,length=0x008000;
FLASHE:origin=0x318000,length=0x008000;
FLASHD:origin=0x320000,length=0x008000;
FLASHC:origin=0x328000,length=0x008000;
FLASHB:origin=0x330000,length=0x008000;
FLASHA:origin=0x338000,length=0x007F80。
9.根据权利要求8所述的一种基于TMS320F28335的DSP软件在线升级方法,其特征在于,所述bootloader引导程序在编译时选择分区FLASHA。
10.根据权利要求9所述的一种基于TMS320F28335的DSP软件在线升级方法,其特征在于,所述DSP应用程序在编译时选择分区FLASHB。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011174894.8A CN112346769A (zh) | 2020-10-28 | 2020-10-28 | 一种基于tms320f28335的dsp软件在线升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011174894.8A CN112346769A (zh) | 2020-10-28 | 2020-10-28 | 一种基于tms320f28335的dsp软件在线升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112346769A true CN112346769A (zh) | 2021-02-09 |
Family
ID=74355162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011174894.8A Pending CN112346769A (zh) | 2020-10-28 | 2020-10-28 | 一种基于tms320f28335的dsp软件在线升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112346769A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988209A (zh) * | 2021-03-31 | 2021-06-18 | 清华大学 | 用于转子悬浮控制系统中程序在线升级的方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902305A (zh) * | 2012-12-26 | 2014-07-02 | 中国航空工业集团公司第六三一研究所 | 基于ti dsp的软件远程加载与固化方法 |
CN104407878A (zh) * | 2014-10-20 | 2015-03-11 | 北京航天发射技术研究所 | C6000数字信号处理器在线升级方法 |
CN106155715A (zh) * | 2015-03-30 | 2016-11-23 | 北京自动化控制设备研究所 | 一种基于实时mcu的软件引导固化方法 |
CN106648803A (zh) * | 2016-12-30 | 2017-05-10 | 南京科远自动化集团股份有限公司 | 一种dsp芯片在线升级方法 |
CN106874056A (zh) * | 2017-03-14 | 2017-06-20 | 成都天奥电子股份有限公司 | 基于Ymodem协议的TI C2000 DSP 串口在线升级方法 |
CN111459468A (zh) * | 2020-04-09 | 2020-07-28 | 西安现代控制技术研究所 | 高可靠性串口通讯的dsp程序在线升级系统和方法 |
-
2020
- 2020-10-28 CN CN202011174894.8A patent/CN112346769A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902305A (zh) * | 2012-12-26 | 2014-07-02 | 中国航空工业集团公司第六三一研究所 | 基于ti dsp的软件远程加载与固化方法 |
CN104407878A (zh) * | 2014-10-20 | 2015-03-11 | 北京航天发射技术研究所 | C6000数字信号处理器在线升级方法 |
CN106155715A (zh) * | 2015-03-30 | 2016-11-23 | 北京自动化控制设备研究所 | 一种基于实时mcu的软件引导固化方法 |
CN106648803A (zh) * | 2016-12-30 | 2017-05-10 | 南京科远自动化集团股份有限公司 | 一种dsp芯片在线升级方法 |
CN106874056A (zh) * | 2017-03-14 | 2017-06-20 | 成都天奥电子股份有限公司 | 基于Ymodem协议的TI C2000 DSP 串口在线升级方法 |
CN111459468A (zh) * | 2020-04-09 | 2020-07-28 | 西安现代控制技术研究所 | 高可靠性串口通讯的dsp程序在线升级系统和方法 |
Non-Patent Citations (1)
Title |
---|
马骏杰: "《嵌入式DSP的原理与应用:基于TMS320F28335》", vol. 2, 北京航空航天大学出版, pages: 80 - 83 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988209A (zh) * | 2021-03-31 | 2021-06-18 | 清华大学 | 用于转子悬浮控制系统中程序在线升级的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102236621B (zh) | 计算机接口信息配置系统及方法 | |
US10540262B2 (en) | Using edit and continue to dynamically set and unset optimizations in source code while debugging | |
CN104407878B (zh) | C6000数字信号处理器在线升级方法 | |
CN101414278B (zh) | 基于动态反编译技术的二进制应用程序调试方法 | |
CN109710320B (zh) | 一种两级驱动的启动引导BootLoader方法 | |
CN102955723B (zh) | 一种硬件自动测试方法及系统 | |
CN102063286A (zh) | 程序流控制 | |
KR20170105054A (ko) | 임베디드 시스템의 프리인스톨 중의 스크립트 작업 수행 시스템 | |
CN108170494A (zh) | 一种用于智能终端的应用程序启动方法及启动系统 | |
CN111679839A (zh) | 一种mcu flash的在线烧写方法 | |
CN112346769A (zh) | 一种基于tms320f28335的dsp软件在线升级方法 | |
CN108052326B (zh) | 一种Xilinx FPGA支持Arduino IDE开发的实现方法 | |
CN110716721A (zh) | 兼容网口和串口的tms320c6748程序加载方法 | |
CN109683935B (zh) | 应用程序升级方法、装置、变频器以及存储介质 | |
CN114281404B (zh) | 一种工控机算法代码的移植方法及装置 | |
Gaisler et al. | BCC-Bare-C Cross-Compiler User’s Manual | |
CN110333900A (zh) | 一种升级单片机存储器内boot的方法 | |
CN112764379B (zh) | 一种基于dsp系统的iap控制方法 | |
CN113127043A (zh) | 一种单片机APP在线升级BootLoader的方法 | |
CN217640186U (zh) | 一种基于tms320f28335的iap在线升级模组 | |
KR100952762B1 (ko) | 디지털 시그널 프로세서의 실시간 디버깅 방법 | |
CN100357908C (zh) | 电子装置程序的测试方法 | |
CN117032766A (zh) | 一种基于Java的DSP在线上传、下载方法及其装置 | |
CN106528405A (zh) | 基于OSGi构建软件运行中进行调试实现方法及系统 | |
TWI235955B (en) | BIOS upgrading method of embedded controller in electronic device |
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 |