CN105867977A - DSP用户程序升级及Flash下载方法 - Google Patents

DSP用户程序升级及Flash下载方法 Download PDF

Info

Publication number
CN105867977A
CN105867977A CN201610206863.3A CN201610206863A CN105867977A CN 105867977 A CN105867977 A CN 105867977A CN 201610206863 A CN201610206863 A CN 201610206863A CN 105867977 A CN105867977 A CN 105867977A
Authority
CN
China
Prior art keywords
dsp
program
flash
internal ram
initial address
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
CN201610206863.3A
Other languages
English (en)
Other versions
CN105867977B (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.)
Tianjin 707 Institute Of Precision Mechatronics Sci & Tech Co Ltd
Original Assignee
Tianjin 707 Institute Of Precision Mechatronics Sci & Tech Co Ltd
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 Tianjin 707 Institute Of Precision Mechatronics Sci & Tech Co Ltd filed Critical Tianjin 707 Institute Of Precision Mechatronics Sci & Tech Co Ltd
Priority to CN201610206863.3A priority Critical patent/CN105867977B/zh
Publication of CN105867977A publication Critical patent/CN105867977A/zh
Application granted granted Critical
Publication of CN105867977B publication Critical patent/CN105867977B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]

Landscapes

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

Abstract

本发明涉及一种DSP用户程序升级及Flash下载方法,其技术特点是:将主机、FPGA、DSP及两片Flash连接在一起;将二次引导程序及引导服务程序下载到DSP内部RAM中;将Flash下载程序下载到DSP内部RAM中并运行;第二Flash芯片存储的二次引导程序自动复制到DSP内部RAM并开始执行;将第二Flash芯片存储的引导服务程序复制到DSP内部RAM中并开始执行;引导服务程序将从主机接收到的DSP用户程序更新到第一Flash芯片内。本实现DSP用户程序在线更新升级及Flash下载功能,在进行Flash烧写过程中不需要将代码进行格式转换,也不需要专门的烧写工具,大大提高了工作效率。

Description

DSP用户程序升级及Flash下载方法
技术领域
本发明属于信息技术领域,尤其是一种DSP用户程序升级及Flash下载方法。
背景技术
在使用DSP开发设计时,最终的程序代码都要存储在Flash中,在上电复位时将程序代码搬移到SDRAM或SRAM中运行。对于目前的应用系统来说,DSP程序的固化及升级十分不便,主要表现在:(1)目前Flash固化首先需要将生成的.out文件转换为.hex格式,然后利用专用Flash烧写工具将转换后的.hex文件烧写到Flash中;(2)DSP用户程序升级过程中还需要连接JTAG调试工具重复上述过程。
发明内容
本发明的目的在于克服现有技术的不足,提供一种设计合理且使用方便的DSP用户程序升级及Flash下载方法。
本发明解决其技术问题是采取以下技术方案实现的:
一种DSP用户程序升级及Flash下载方法,包括以下步骤:
步骤1、将主机通过FPGA与DSP连接在一起,同时DSP与两片Flash相连接,其中第一Flash芯片存储DSP用户程序,第二Flash芯片存储引导服务程序和二次引导程序;
步骤2、将二次引导程序下载到DSP内部RAM起始地址为0处的1K空间内;
步骤3、将引导服务程序下载到DSP内部RAM起始地址为0XF0000处的64K空间内;
步骤4、将Flash下载程序下载到DSP内部RAM起始地址为0X50000处的64K空间内,运行此程序将二次引导程序从DSP内部RAM中复制到第二Flash芯片的起始地址为0处1K空间内,将引导服务程序从DSP内部RAM中复制到第二Flash芯片的起始地址为0X400处64K空间内;从而完成引导服务程序及二次引导程序从RAM中到FLASH中的固化;
步骤5、将DSP的启动模式设置为ROM加载启动方式,上电后自动将第二Flash芯片存储的二次引导程序复制到DSP内部RAM起始地址为0处的1K空间内并开始执行;
步骤6、通过DSP内部RAM的二次引导程序将第二Flash芯片存储的引导服务程序复制到DSP内部RAM中并开始执行;
步骤7、引导服务程序判断存放在FPGA中的引导标志寄存器状态并分别进行处理:将从主机接收到的DSP用户程序更新到第一Flash芯片内,或者将第一Flash芯片存储的DSP用户程序直接拷贝到DSP内部RAM并运行;
所述主机通过PCIE总线与FPGA相连接,FPGA通过EMIFA总线与DSP相连接,DSP通过EMIFA总线与第一Flash芯片相连接,DSP通过EMIFB与第二Flash芯片相连接。
所述第二Flash芯片存储的二次引导程序位于第二Flash芯片的起始地址为0处,该二次引导程序的大小在1K范围内;所述第二Flash芯片存储的引导服务程序位于第二Flash芯片起始地址的1K后,该引导服务程序的大小在64K范围内。
所述二次引导程序、引导服务程序及Flash下载程序通过cmd文件加载到DSP内部RAM中。
所述二次引导程序复制到DSP内部RAM的起始地址为0的1K空间中;所述引导服务程序复制到DSP内部RAM的起始地址为0xF0000的64K空间中;所述Flash下载程序复制到DSP内部RAM的起始地址为0x50000的64K空间中。
本发明的优点和积极效果是:
本发明设计合理,其采用多级引导方式可方便地将DSP用户程序固化到Flash中,实现DSP用户程序在线更新升级及Flash下载功能,在进行Flash烧写过程中不需要将代码进行格式转换,也不需要专门的烧写工具,其操作方法简便、实用,大大提高了工作效率。
附图说明
图1是本发明的硬件设备连接示意图;
图2是发明的处理流程图。
具体实施方式
以下结合附图对本发明实施例做进一步详述:
一种DSP用户程序升级及Flash下载方法,包括以下步骤:
步骤1、将主机、FPGA、DSP及两片Flash连接在一起,构成DSP升级的硬件环境。
在图1中,主机通过PCIE接口与FPGA相连接,FPGA通过EMIFA总线与DSP相连接,DSP通过EMIFA总线和EMIFB总线与两片Flash相连接。在本实施例中,DSP采用TMS320C6416芯片,FPGA采用Xilinx公司的XC7A200T,FPGA中带有PCIE硬核,主机采用通用的计算机并通过PCIE总线与FPGA通信,FPGA通过EMIFA总线与DSP通信,Flash1存储DSP用户程序,Flash1通过EMIFA总线连接到DSP;Flash2中存储引导程序,Flash2通过EMIFB连接到DSP。然后,按照图2所示的处理流程进行处理。
步骤2、通过cmd文件将二次引导程序(Bootload)加载到DSP内部RAM起始地址为0处的1K空间内;
步骤3、通过cmd文件将引导服务程序(Bootservice)加载到DSP内部RAM起始地址为0XF0000处的64K空间内;
步骤4、通过cmd文件将Flash下载程序(downloadFlash)加载到RAM中起始地址为0x50000的64K空间中;运行该Flash下载程序(downloadFlash),将二次引导程序(Bootload)从RAM中复制到Flash2的CE1空间中起始地址为为0x64000000处,大小为1K;将引导服务程序(Bootservice)从RAM中复制到Flash2的CE1空间中起始地址为0x64000400处,大小为64K。
从而完成引导服务程序及二次引导程序从RAM中到FLASH中的固化。
步骤5、将DSP的启动模式设置为ROM加载启动方式,上电后自动启动DMA方式将Flash2存储的二次引导程序(Bootload)复制到DSP内部RAM起始地址为0处的1K空间内,然后从RAM地址0处开始执行二次引导程序(Bootload)程序。
由于用户程序一般大于1K,因此,需要编写二次引导程序(Bootload)并存放在Flash2起始地址为0处(0x64000000),即二次引导程序(Bootload)存储在Flash2的CE1空间处。在Flash2的1K后(0x64000400)存放引导服务程序(Bootservice),该引导服务程序(Bootservice)的大小在64K范围内。
在具体实施过程时,通过cmd文件将二次引导程序(Bootload)加载到DSP内部RAM起始地址为0的1K空间中。
步骤6、通过DSP内部RAM的二次引导程序(Bootload)将Flash2存储的引导服务程序(Bootservice)复制到DSP内部RAM起始地址为0xF0000的64K空间中,引导服务程序(Bootservice)开始执行。
在具体实施过程时,通过cmd文件将Flash2存储的引导服务程序(Bootservice)复制到DSP内部RAM的64K空间中。
步骤7、引导服务程序(Bootservice)通过判断存放在FPGA中的引导标志寄存器状态分别进行处理:将从主机接收到的DSP用户程序(usercode)更新到Flash1,或者将Flash1中的DSP用户程序(usercode)直接拷贝到DSP内部RAM并运行。
所有步骤中,通过map文件查看各个程序大小并设定各个程序段的空间,避免与RAM及FLASH中其他程序段重叠。
这样,当系统重新上电启动后,根据启动配置首先将EMIFB的CE1空间中前1K数据复制到RAM中运行,即运行二次引导程序(Bootload),将引导服务程序(Bootservice)从Flash2中复制到RAM中起始地址为0xF0000空间中并运行,该引导服务程序(Bootservice)通过判断引导标志寄存器(位于FPGA中)状态决定从Flash1中起始地址为0处复制64K用户程序代码到内部RAM起始地址为0处运行或是进入下载程序模式,以16K为1包接受用户通过PCIE总线下载到FPGA中的程序。从而完成DSP程序更新及Flash下载功能。
需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。

Claims (5)

1.一种DSP用户程序升级及Flash下载方法,其特征在于包括以下步骤:
步骤1、将主机通过FPGA与DSP连接在一起,同时DSP与两片Flash相连接,其中第一Flash芯片存储DSP用户程序,第二Flash芯片存储引导服务程序和二次引导程序;
步骤2、将二次引导程序下载到DSP内部RAM起始地址为0处的1K空间内;
步骤3、将引导服务程序下载到DSP内部RAM起始地址为0XF0000处的64K空间内;
步骤4、将Flash下载程序下载到DSP内部RAM起始地址为0X50000处的64K空间内,运行此程序将二次引导程序从DSP内部RAM中复制到第二Flash芯片的起始地址为0处1K空间内,将引导服务程序从DSP内部RAM中复制到第二Flash芯片的起始地址为0X400处64K空间内;完成引导服务程序及二次引导程序从RAM中到FLASH中的固化;
步骤5、将DSP的启动模式设置为ROM加载启动方式,上电后自动将第二Flash芯片存储的二次引导程序复制到DSP内部RAM起始地址为0处的1K空间内并开始执行;
步骤6、通过DSP内部RAM的二次引导程序将第二Flash芯片存储的引导服务程序复制到DSP内部RAM中并开始执行;
步骤7、引导服务程序判断存放在FPGA中的引导标志寄存器状态并分别进行处理:将从主机接收到的DSP用户程序更新到第一Flash芯片内,或者将第一Flash芯片存储的DSP用户程序直接拷贝到DSP内部RAM并运行。
2.根据权利要求1所述的一种DSP用户程序升级及Flash下载方法,其特征在于:所述主机通过PCIE总线与FPGA相连接,FPGA通过EMIFA总线与DSP相连接,DSP通过EMIFA总线与第一Flash芯片相连接,DSP通过EMIFB与第二Flash芯片相连接。
3.根据权利要求1所述的一种DSP用户程序升级及Flash下载方法,其特征在于:所述第二Flash芯片存储的二次引导程序位于第二Flash芯片的起始地址为0处,该二次引导程序的大小在1K范围内;所述第二Flash芯片存储的 引导服务程序位于第二Flash芯片起始地址的1K后,该引导服务程序的大小在64K范围内。
4.根据权利要求1所述的一种DSP用户程序升级及Flash下载方法,其特征在于:所述二次引导程序、引导服务程序及Flash下载程序通过cmd文件加载到DSP内部RAM中。
5.根据权利要求1所述的一种DSP用户程序升级及Flash下载方法,其特征在于:所述二次引导程序复制到DSP内部RAM的起始地址为0的1K空间中;所述引导服务程序复制到DSP内部RAM的起始地址为0xF0000的64K空间中;所述Flash下载程序复制到DSP内部RAM的起始地址为0x50000的64K空间中。
CN201610206863.3A 2016-04-01 2016-04-01 DSP用户程序升级及Flash下载方法 Active CN105867977B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610206863.3A CN105867977B (zh) 2016-04-01 2016-04-01 DSP用户程序升级及Flash下载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610206863.3A CN105867977B (zh) 2016-04-01 2016-04-01 DSP用户程序升级及Flash下载方法

Publications (2)

Publication Number Publication Date
CN105867977A true CN105867977A (zh) 2016-08-17
CN105867977B CN105867977B (zh) 2019-06-14

Family

ID=56628090

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610206863.3A Active CN105867977B (zh) 2016-04-01 2016-04-01 DSP用户程序升级及Flash下载方法

Country Status (1)

Country Link
CN (1) CN105867977B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106886438A (zh) * 2017-02-06 2017-06-23 仓智(上海)智能科技有限公司 基于fpga的系统远程更新方法
CN106951289A (zh) * 2017-03-23 2017-07-14 苏州英威腾电力电子有限公司 一种在线升级方法、dsp控制器及升级系统
CN107015833A (zh) * 2017-04-14 2017-08-04 湖南威胜信息技术有限公司 嵌入式设备应用程序的自恢复方法
CN107562504A (zh) * 2017-09-11 2018-01-09 哈尔滨工程大学 一种dsp程序分段加载的串口实现方法
CN108279935A (zh) * 2016-12-30 2018-07-13 北京中科晶上科技股份有限公司 一种针对片上系统的操作系统启动引导方法
CN108572831A (zh) * 2017-12-26 2018-09-25 中车株洲电力机车研究所有限公司 一种软件在线更新升级系统及方法
CN109800007A (zh) * 2018-12-28 2019-05-24 航天信息股份有限公司 Dsp芯片在线升级方法以及装置
CN110333900A (zh) * 2019-06-29 2019-10-15 沃太能源南通有限公司 一种升级单片机存储器内boot的方法
CN111124966A (zh) * 2019-11-12 2020-05-08 上海移远通信科技有限公司 一种改善模块资料稳定性方法和装置
CN111506333A (zh) * 2020-04-27 2020-08-07 湖北三江航天红峰控制有限公司 一种双dsp程序在线升级方法及系统
CN114816581A (zh) * 2022-05-20 2022-07-29 中国电子科技集团公司第三十研究所 一种基于arm处理器的无操作系统算法动态加载方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901156A (zh) * 2010-07-26 2010-12-01 四川九洲电器集团有限责任公司 一种处理器应用程序动态加载方法及其系统
US20140122781A1 (en) * 2012-10-30 2014-05-01 Mangstor, Inc. Hierarchical flash translation layer
CN103955376A (zh) * 2014-02-19 2014-07-30 熊猫电子集团有限公司 一种dsp自启动二次按需加载方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901156A (zh) * 2010-07-26 2010-12-01 四川九洲电器集团有限责任公司 一种处理器应用程序动态加载方法及其系统
US20140122781A1 (en) * 2012-10-30 2014-05-01 Mangstor, Inc. Hierarchical flash translation layer
CN103955376A (zh) * 2014-02-19 2014-07-30 熊猫电子集团有限公司 一种dsp自启动二次按需加载方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
冀云: "基于FLASH的TMS320C6416自启动实现方法", 《重庆电子工程职业学院学报》 *
刘富明等: "TMS320C6211DSP的二次引导研究与实现", 《计算机与数据工程》 *
张晟翀: "CSS下TMS320C6416DSP的二次引导及FLASH在线编程方法研究", 《现代电子技术》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108279935A (zh) * 2016-12-30 2018-07-13 北京中科晶上科技股份有限公司 一种针对片上系统的操作系统启动引导方法
CN106886438A (zh) * 2017-02-06 2017-06-23 仓智(上海)智能科技有限公司 基于fpga的系统远程更新方法
CN106951289A (zh) * 2017-03-23 2017-07-14 苏州英威腾电力电子有限公司 一种在线升级方法、dsp控制器及升级系统
CN107015833A (zh) * 2017-04-14 2017-08-04 湖南威胜信息技术有限公司 嵌入式设备应用程序的自恢复方法
CN107562504A (zh) * 2017-09-11 2018-01-09 哈尔滨工程大学 一种dsp程序分段加载的串口实现方法
CN108572831B (zh) * 2017-12-26 2021-07-30 中车株洲电力机车研究所有限公司 一种软件在线更新升级系统及方法
CN108572831A (zh) * 2017-12-26 2018-09-25 中车株洲电力机车研究所有限公司 一种软件在线更新升级系统及方法
CN109800007A (zh) * 2018-12-28 2019-05-24 航天信息股份有限公司 Dsp芯片在线升级方法以及装置
CN110333900A (zh) * 2019-06-29 2019-10-15 沃太能源南通有限公司 一种升级单片机存储器内boot的方法
CN111124966A (zh) * 2019-11-12 2020-05-08 上海移远通信科技有限公司 一种改善模块资料稳定性方法和装置
CN111124966B (zh) * 2019-11-12 2021-08-24 上海移远通信科技有限公司 一种改善模块资料稳定性方法和装置
CN111506333A (zh) * 2020-04-27 2020-08-07 湖北三江航天红峰控制有限公司 一种双dsp程序在线升级方法及系统
CN114816581A (zh) * 2022-05-20 2022-07-29 中国电子科技集团公司第三十研究所 一种基于arm处理器的无操作系统算法动态加载方法
CN114816581B (zh) * 2022-05-20 2023-06-02 中国电子科技集团公司第三十研究所 一种基于arm处理器的无操作系统算法动态加载方法

Also Published As

Publication number Publication date
CN105867977B (zh) 2019-06-14

Similar Documents

Publication Publication Date Title
CN105867977A (zh) DSP用户程序升级及Flash下载方法
CN100454258C (zh) 嵌入式系统加载程序与应用程序一体化更新方法
CN106095620A (zh) 一种嵌入式Linux存储分区的开发方法
CN103970557B (zh) 存储设备启动系统的方法及存储设备
CN108037938B (zh) 一种eMMC的开卡方法
CN106030526A (zh) 装置、更新器、控制装置的方法、及控制更新器的方法
CN102567053A (zh) 一种软件版本回退的方法及装置
CN104077161A (zh) 一种客户端应用的升级方法及装置
CN105955764A (zh) 一种stm32单片机iap串口程序烧录的改进方法
CN103970565A (zh) 一种服务器系统中fpga多途径下载配置实现方法
CN105468373A (zh) 一种分支合并方法及装置
CN104423993B (zh) 汽车电子设备软件的更新方法、更新终端及汽车电子系统
CN109213570A (zh) 一种虚拟机迁移方法、装置、设备及可读存储介质
CN105700890A (zh) 一种自动删除PCB设计中悬空孔的Skill程序的实现方法
CN105426609A (zh) 一种自动删除pcb设计中悬空线的方法
CN106462422A (zh) 用于多系统终端的系统升级方法、升级装置和终端
CN105677422B (zh) 同时更新监控程序和应用程序及后续更新应用程序的方法
CN115408013A (zh) Zynq UltraScale+MPSoC平台的固件和文件自动烧写方法
CN106649137B (zh) 一种Nand Flash坏块管理方法、装置及存储器
CN106603289B (zh) 一种lmt配置文件平滑升级方法
CN108182079A (zh) 一种基于串口的tms320c6748程序加载方法
CN103777987A (zh) 一种类unix操作系统的升级方法及装置
CN109460248A (zh) 一种基于dsp的用户程序上传方法及系统
KR20150072963A (ko) 다중시스템 및 이의 부팅 방법
CN108664255A (zh) 一种软件升级方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant