CN106201636A - 一种dsp片外代码动态加载方法及装置 - Google Patents

一种dsp片外代码动态加载方法及装置 Download PDF

Info

Publication number
CN106201636A
CN106201636A CN201610652377.4A CN201610652377A CN106201636A CN 106201636 A CN106201636 A CN 106201636A CN 201610652377 A CN201610652377 A CN 201610652377A CN 106201636 A CN106201636 A CN 106201636A
Authority
CN
China
Prior art keywords
dsp
code
sheet
storage
data
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
CN201610652377.4A
Other languages
English (en)
Other versions
CN106201636B (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.)
CETC 2 Research Institute
Southwest China Research Institute Electronic Equipment
Original Assignee
CETC 2 Research Institute
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 CETC 2 Research Institute filed Critical CETC 2 Research Institute
Priority to CN201610652377.4A priority Critical patent/CN106201636B/zh
Publication of CN106201636A publication Critical patent/CN106201636A/zh
Application granted granted Critical
Publication of CN106201636B publication Critical patent/CN106201636B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及嵌入式计算机处理控制领域,尤其是一种DSP片外代码动态加载方法。本发明针对现有技术存在的问题,提供一种DSP片外代码动态加载方法。通过设置SRAM配合DSP进行,解决了代码大小超过DSP片内容量大小时,程序无法运行的问题,大大扩展了DSP的使用范围和使用场合,可以实现超长代码的混合加载和运行。本发明在下一次上电后,通过EEPROM将拼接后的文件中DSP外部缓存SRAM中存储代码段拷贝到SRAM指定地址进行存储;通过EEPROM将拼接文件中DSP片内代码存储区存储的代码段拷贝到DSP芯片存储区内;同时通过EEPROM将拼接文件中DSP片内数据区存储的数据段拷贝到DSP数据区内。

Description

一种DSP片外代码动态加载方法及装置
技术领域
本发明涉及嵌入式计算机处理控制领域,尤其是一种DSP片外代码动态加载方法及装置。
背景技术
DSP是电子设备中经常使用的一种嵌入式微处理器芯片,常用于系统控制和数字信号处理领域,其特点是时钟主频高、运算速度快,在典型的应用中,使用FLASH或EEPROM作为代码存储器,将执行代码烧入其中,上电后可自动加载运行。由于功能扩展,DSP芯片内部代码存储空间(DSP片内代码容量限制)有限,因此超过DSP芯片容量的代码无法正常运行的,此限制大大影响了此类DSP的应用范围。
发明内容
本发明所要解决的技术问题是:针对现有技术存在的问题,提供一种DSP片外代码动态加载方法及装置。通过设置SRAM配合DSP进行 解决了代码大小超过DSP片内容量大小时,程序无法运行的问题,大大扩展了DSP的使用范围和使用场合,可以实现超长代码的混合加载和运行。
本发明采用的技术方案如下:
一种DSP片外代码动态加载方法包括:
步骤1:仿真器将预装文件通过仿真器下载到DSP及DSP外部缓存SRAM中,则DSP片内代码存储区存储代码段,DSP片内数据区存储数据;同时DSP外部缓存SRAM中存储超过DSP芯片内部代码存储空间容量限制的代码段;
步骤2:仿真器将DSP片内代码存储区存储的代码段、DSP片内数据区存储的数据以及DSP外部缓存SRAM中存储的代码段分别存储为3个文件;
步骤3:通过拼接模块将上述3个文件中进行拼接,然后仿真器将拼接后文件烧入EEPROM,去除仿真器;
步骤4:下一次上电后,通过EEPROM将拼接后的文件中DSP外部缓存SRAM中存储代码段拷贝到SRAM指定地址进行存储;通过EEPROM将拼接文件中DSP片内代码存储区存储的代码段拷贝到DSP片内代码存储区内;同时通过EEPROM将拼接文件中DSP片内数据区存储的数据段拷贝到DSP数据区内。
进一步的,步骤3中将上述3个文件中进行拼接具体是,通过任意拼接软件将DSP片内数据区存储的数据存入以DSP片内代码存储区存储的代码段结尾处为开始的地址中;DSP外部缓存SRAM中存储的代码段存入以DSP片内数据区存储的数据结尾处未开始的地址中。
进一步的,所述DSP片内代码存储区存储代码段的大小为DSP芯片容量;所述DSP片内代码存储区存储代码段包括DSP片内第一代码段和Bootloader代码段。
进一步的,所述DSP片内数据区存储数据用于进行数据存储。
一种DSP片外代码动态加载装置包括:
仿真器,用于将预装文件通过仿真器下载到DSP及DSP外部缓存SRAM中,则DSP片内代码存储区存储代码段,DSP片内数据区存储数据;同时DSP外部缓存SRAM中存储超过DSP芯片内部代码存储空间容量限制的代码段;仿真器将DSP片内代码存储区存储的第一代码段、DSP片内数据区存储的数据以及DSP外部缓存SRAM中存储的代码段分别存储为3个文件;通过拼接模块将所述3个文件中进行拼接,然后仿真器将拼接后的数据烧入EEPROM;
EEPROM,用于下一次上电后,通过EEPROM将拼接后的文件中DSP外部缓存SRAM中存储代码段拷贝到SRAM指定地址进行存储;通过EEPROM将拼接文件中DSP片内代码存储区存储的代码段拷贝到DSP芯片存储区内;同时通过EEPROM将拼接文件中DSP片内数据区存储的数据段拷贝到DSP数据区内。
进一步的,数据处理模块将所述3个文件中进行拼接具体是:通过将DSP片内数据区存储的数据存入以DSP片内代码存储区存储的代码段结尾处为开始的地址中;DSP外部缓存SRAM中存储的代码段存入以DSP片内数据区存储的数据结尾处未开始的地址中。
进一步的,所述DSP片内代码存储区存储代码段的大小为DSP芯片容量;所述DSP片内代码存储区存储代码段包括DSP片内第一代码段和Bootloader代码段。
进一步的,所述DSP片内数据区存储数据用于进行数据存储。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
使用此方法及装置解决了代码大小超过DSP片内容量大小时,程序无法运行的问题,大大扩展了DSP的使用范围和使用场合,可以实现超长代码的混合加载和运行。在TI6701的DSP上实现了128KB的代码的运行。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
一、本发明相关说明:
1、预装文件是厂家预装的数据,用户的工程由编译器编译后生成的下载文件。
2、DSP外部缓存SRAM中存储代码段作用是:是整个代码的一部分,是超过DSP芯片内部代码存储空间的那一部分代码。DSP运行中,要随时去读SRAM中的这部分代码。
3、其中DSP片内第一代码段和是Bootloader代码是存满DSP芯片内部代码存储空间的两部分代码。Bootloader 是一段汇编的代码,用于将eeprom中不同段数据的拷贝到不同的存储器中。
4、拼接模块指的是任意的拼接软件。
工作过程是:
1.连接仿真器,由DSP软件开发环境(即CCS)对工程代码进行编译,生成out文件;
2.由仿真器将OUT文件通过仿真器下载到目标板上(目标板是一块电路板,上面有dsp,sram等器件和电路);
3.通过仿真器保存三个文件,分别是DSP片内代码存储区存储代码段文件/ DSP外部缓存SRAM中存储代码段文件(存储在sram中的) / DSP片内数据区存储数据文件;
4.拼接模块将这三个文件拼接为一个文件;
5. 通过仿真器将拼接的这一个文件的内容烧写到eeprom中;
6.去掉仿真器,加电后,代码加载到dsp片内和sram中,数据加载到dsp片内,程序加载成功,开始运行。
实施例一:
以TI公司的6701 DSP芯片为例,芯片容量限制为64KB,实际代码容量约为63KB,用于存放bootloader加载代码的空间设置为1KB。
首先使用数据模块(仿真器)将预装文件下载到DSP及DSP外部缓存SRAM中,此时预装文件各段的代码和数据已经装入各自分配的地址空间中(DSP片内代码存储区存储代码段,DSP片内数据区存储数据;同时DSP外部缓存SRAM中存储代码段);
然后分别将DSP片内代码存储区存储代码段(起始地址0,长度64KB),DSP外部缓存SRAM中存储代码段(起始地址0x2000000,长度0xdda0),DSP片内数据区存储数据(起始地址0x8000000,长度为0x232a)分别存为3个文件,将这3个文件拼接起来,即可作为烧入EEPROM或FLASH的二进制代码;
最后,下一次上电后,通过EEPROM将拼接后的文件中DSP外部缓存SRAM中存储代码段拷贝到SRAM指定地址进行存储;通过EEPROM将拼接文件中DSP片内代码存储区存储的代码段拷贝到DSP芯片存储区内;同时通过EEPROM将拼接文件中DSP片内数据区存储的数据段拷贝到DSP数据区内。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

Claims (8)

1.一种DSP片外代码动态加载方法,其特征在于包括:
步骤1:仿真器将预装文件通过仿真器下载到DSP及DSP外部缓存SRAM中,则DSP片内代码存储区存储代码段,DSP片内数据区存储数据;同时DSP外部缓存SRAM中存储超过DSP芯片内部代码存储空间容量限制的代码段;
步骤2:仿真器将DSP片内代码存储区存储的代码段、DSP片内数据区存储的数据以及DSP外部缓存SRAM中存储的代码段分别存储为3个文件;
步骤3:通过拼接模块将上述3个文件中进行拼接,然后仿真器将拼接后文件烧入EEPROM,去除仿真器;
步骤4:下一次上电后,通过EEPROM将拼接后的文件中DSP外部缓存SRAM中存储代码段拷贝到SRAM指定地址进行存储;通过EEPROM将拼接文件中DSP片内代码存储区存储的代码段拷贝到DSP片内代码存储区内;同时通过EEPROM将拼接文件中DSP片内数据区存储的数据段拷贝到DSP数据区内。
2.根据权利要求1所述的一种DSP片外代码动态加载方法,其特征在于步骤3中将上述3个文件中进行拼接具体是,通过任意拼接软件将DSP片内数据区存储的数据存入以DSP片内代码存储区存储的代码段结尾处为开始的地址中;DSP外部缓存SRAM中存储的代码段存入以DSP片内数据区存储的数据结尾处未开始的地址中。
3.根据权利要求1所述的一种DSP片外代码动态加载方法,其特征在于所述DSP片内代码存储区存储代码段的大小为DSP芯片容量;所述DSP片内代码存储区存储代码段包括DSP片内第一代码段和Bootloader代码段。
4.根据权利要求1所述的一种DSP片外代码动态加载方法,其特征在于所述DSP片内数据区存储数据用于进行数据存储。
5.一种DSP片外代码动态加载装置,其特征在于包括:
仿真器,用于将预装文件通过仿真器下载到DSP及DSP外部缓存SRAM中,则DSP片内代码存储区存储代码段,DSP片内数据区存储数据;同时DSP外部缓存SRAM中存储超过DSP芯片内部代码存储空间容量限制的代码段;仿真器将DSP片内代码存储区存储的第一代码段、DSP片内数据区存储的数据以及DSP外部缓存SRAM中存储的代码段分别存储为3个文件;通过拼接模块将所述3个文件中进行拼接,然后仿真器将拼接后的数据烧入EEPROM;
EEPROM,用于下一次上电后,通过EEPROM将拼接后的文件中DSP外部缓存SRAM中存储代码段拷贝到SRAM指定地址进行存储;通过EEPROM将拼接文件中DSP片内代码存储区存储的代码段拷贝到DSP芯片存储区内;同时通过EEPROM将拼接文件中DSP片内数据区存储的数据段拷贝到DSP数据区内。
6.根据权利要求5所述的一种DSP片外代码动态加载装置,其特征在于数据处理模块将所述3个文件中进行拼接具体是:通过将DSP片内数据区存储的数据存入以DSP片内代码存储区存储的代码段结尾处为开始的地址中;DSP外部缓存SRAM中存储的代码段存入以DSP片内数据区存储的数据结尾处未开始的地址中。
7.根据权利要求5所述的一种DSP片外代码动态加载装置,其特征在于所述DSP片内代码存储区存储代码段的大小为DSP芯片容量;所述DSP片内代码存储区存储代码段包括DSP片内第一代码段和Bootloader代码段。
8.根据权利要求5所述的一种DSP片外代码动态加载装置,其特征在于所述DSP片内数据区存储数据用于进行数据存储。
CN201610652377.4A 2016-08-11 2016-08-11 一种dsp片外代码动态加载方法及装置 Active CN106201636B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610652377.4A CN106201636B (zh) 2016-08-11 2016-08-11 一种dsp片外代码动态加载方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610652377.4A CN106201636B (zh) 2016-08-11 2016-08-11 一种dsp片外代码动态加载方法及装置

Publications (2)

Publication Number Publication Date
CN106201636A true CN106201636A (zh) 2016-12-07
CN106201636B CN106201636B (zh) 2019-03-26

Family

ID=57514089

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610652377.4A Active CN106201636B (zh) 2016-08-11 2016-08-11 一种dsp片外代码动态加载方法及装置

Country Status (1)

Country Link
CN (1) CN106201636B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083469A (zh) * 2019-05-11 2019-08-02 肖银皓 一种异构硬件组织运行统一内核方法及系统
CN111930638A (zh) * 2020-10-16 2020-11-13 中国人民解放军国防科技大学 星载接收机中dsp芯片混合运行和存储检测方法
CN112114850A (zh) * 2020-07-15 2020-12-22 北京航空航天大学杭州创新研究院 一种基于串口的stm32单片机片内和片外flash程序分散加载方法
CN112199121A (zh) * 2020-09-28 2021-01-08 西南电子技术研究所(中国电子科技集团公司第十研究所) Dsp按需扩容加载程序方法
CN112559071A (zh) * 2020-12-14 2021-03-26 上海航天控制技术研究所 一种用于dsp的分段双冗余引导加载方法
CN114091038A (zh) * 2021-11-30 2022-02-25 中国科学院长春光学精密机械与物理研究所 一种基于dsp6701的高可靠性程序引导、回写方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000040028A (ja) * 1998-07-24 2000-02-08 Nec Mobile Commun Ltd Cpu制御によるdspプログラム領域の拡張方式
CN102004650A (zh) * 2009-09-01 2011-04-06 中兴通讯股份有限公司 一种数字信号处理器版本的二次加载方法及系统
CN102520976A (zh) * 2011-11-17 2012-06-27 四川九洲电器集团有限责任公司 一种dsp程序的固化方法
CN103677897A (zh) * 2013-11-06 2014-03-26 天津瑞能电气有限公司 系统芯片及对系统芯片的烧写方法
CN103729202A (zh) * 2012-10-12 2014-04-16 成都飞机设计研究所 一种基于gel脚本的dsp可靠在线flash烧写方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000040028A (ja) * 1998-07-24 2000-02-08 Nec Mobile Commun Ltd Cpu制御によるdspプログラム領域の拡張方式
CN102004650A (zh) * 2009-09-01 2011-04-06 中兴通讯股份有限公司 一种数字信号处理器版本的二次加载方法及系统
CN102520976A (zh) * 2011-11-17 2012-06-27 四川九洲电器集团有限责任公司 一种dsp程序的固化方法
CN103729202A (zh) * 2012-10-12 2014-04-16 成都飞机设计研究所 一种基于gel脚本的dsp可靠在线flash烧写方法
CN103677897A (zh) * 2013-11-06 2014-03-26 天津瑞能电气有限公司 系统芯片及对系统芯片的烧写方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴海洲 等: "基于TMS320C6455的DSP加载模式研究", 《电子测量技术》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083469A (zh) * 2019-05-11 2019-08-02 肖银皓 一种异构硬件组织运行统一内核方法及系统
CN110083469B (zh) * 2019-05-11 2021-06-04 广东财经大学 一种异构硬件组织运行统一内核方法及系统
CN112114850A (zh) * 2020-07-15 2020-12-22 北京航空航天大学杭州创新研究院 一种基于串口的stm32单片机片内和片外flash程序分散加载方法
CN112114850B (zh) * 2020-07-15 2023-03-10 北京航空航天大学杭州创新研究院 一种基于串口的stm32单片机片内和片外flash程序分散加载方法
CN112199121A (zh) * 2020-09-28 2021-01-08 西南电子技术研究所(中国电子科技集团公司第十研究所) Dsp按需扩容加载程序方法
CN112199121B (zh) * 2020-09-28 2023-06-06 西南电子技术研究所(中国电子科技集团公司第十研究所) Dsp按需扩容加载程序方法
CN111930638A (zh) * 2020-10-16 2020-11-13 中国人民解放军国防科技大学 星载接收机中dsp芯片混合运行和存储检测方法
CN111930638B (zh) * 2020-10-16 2020-12-29 中国人民解放军国防科技大学 星载接收机中dsp芯片混合运行和存储检测方法
CN112559071A (zh) * 2020-12-14 2021-03-26 上海航天控制技术研究所 一种用于dsp的分段双冗余引导加载方法
CN114091038A (zh) * 2021-11-30 2022-02-25 中国科学院长春光学精密机械与物理研究所 一种基于dsp6701的高可靠性程序引导、回写方法

Also Published As

Publication number Publication date
CN106201636B (zh) 2019-03-26

Similar Documents

Publication Publication Date Title
CN106201636A (zh) 一种dsp片外代码动态加载方法及装置
CN102880498B (zh) 在安卓系统的装置上虚拟sd卡的方法
WO2016091071A1 (zh) 加载Linux内核驱动的方法及装置
CN108829465B (zh) 一种基于直接读写flash的本地动态加载系统及方法
US9547489B2 (en) System and method for modifying a sequence of instructions in a read-only memory of a computing device
CN108897547B (zh) 一种软件自动化部署方法及装置
TW201301039A (zh) 韌體燒錄方法
CN107870769A (zh) 操作系统的安装方法及装置
CN104731622B (zh) 一种应用程序的加载方法、装置和移动终端
CN105739961A (zh) 一种嵌入式系统的启动方法和装置
CN105224419A (zh) 一种安卓系统中的用户数据镜像加载方法、装置及终端
CN104866324A (zh) 一种便携操作系统构建方法及便携存储器
US20090013124A1 (en) Rom code patch method
CN105094878A (zh) 一种集成系统库文件的方法和装置
CN106648759A (zh) 一种通用编程器固件的更新方法
CN113238819A (zh) 一种适用于U-Boot的驱动文件动态加载方法及系统
CN111190584B (zh) Ehis-db系统版本发布方法、装置、计算机设备和存储介质
CN105045718A (zh) 基于Linux嵌入式系统的调试系统、方法及修改方法
CN113590491B (zh) 一种测试平台和产品测试方法
CN108345430B (zh) 一种Nand flash元件及其运行控制方法和装置
CN104021022A (zh) 一种分区调整方法及电子设备
CN112199121A (zh) Dsp按需扩容加载程序方法
CN106020812A (zh) 一种针对dsp平台航天器软件的动态在轨维护方法
CN107463423B (zh) 依赖包工具的验证方法、存储介质、电子设备及系统
CN108958795B (zh) 一种嵌入式系统中BootLoader代码重利用方法和开发板

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