CN1629805A - 运用于dsp的动态加载方法 - Google Patents

运用于dsp的动态加载方法 Download PDF

Info

Publication number
CN1629805A
CN1629805A CN 200310104051 CN200310104051A CN1629805A CN 1629805 A CN1629805 A CN 1629805A CN 200310104051 CN200310104051 CN 200310104051 CN 200310104051 A CN200310104051 A CN 200310104051A CN 1629805 A CN1629805 A CN 1629805A
Authority
CN
China
Prior art keywords
dsp
code
loading
program
code segment
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
CN 200310104051
Other languages
English (en)
Other versions
CN100365570C (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 Cyberspace Security Research Institute Co ltd
Original Assignee
CETC 30 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 30 Research Institute filed Critical CETC 30 Research Institute
Priority to CNB2003101040510A priority Critical patent/CN100365570C/zh
Publication of CN1629805A publication Critical patent/CN1629805A/zh
Application granted granted Critical
Publication of CN100365570C publication Critical patent/CN100365570C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明一种运用于DSP的动态加载方法涉及一种运用于数字信号处理器的动态加载方法,特别涉及一种运用于DSP的动态加载程序的方法,本发明是利用ADSP21065本身的加载程序和软件复位程序,修改其加载起始地址而实现,使用本发明方法后在不需要额外的RAM开销情况下程序的动态加载,可最大限度的利用DSP的内存空间,有利于大量的程序放入DSP内运行。

Description

运用于DSP的动态加载方法
                      技术领域
本发明涉及一种运用于数字信号处理器的动态加载方法,特别涉及一种运用于DSP的动态加载程序的方法。
                      背景技术
ANALOG公司的ADSP21065处理器是一款经济型的DSP处理器,也称数字信号处理器。ANALOG公司在提供ADSP21065处理器时,提供了一种弥补其内存空间小的基于RAM的办法,但所用办法需要扩展有足够的RAM空间,同时掉电存放程序的ROM也需要足够大的空间;同时该办法加载需要按一定的规则使用其寄存器,给开发者带来一定的麻烦,不利于大量的程序放入DSP内运行。
                      发明内容
本发明的目的是实现在不需要额外的RAM开销情况下程序的动态加载,可最大限度的利用DSP的内存空间,有利于大量的程序放入DSP内运行。本发明的技术关键在于:修改编写DSP的加载程序;在运行代码中添加必要的复位加载条件;ROM存储器按设计地址放置相应的程序代码;设计动态复位电路等。
为实现所述目的本发明的操作步骤为:
(1)DSP外接的ROM存放的程序按功能模块化,模块化程序分为代码段,A、B、C段等,在代码段中必须有加载其它代码段程序的条件;
(2)定义与DSP连接RAM的一个RAM空间X作为加载程序中的加载起始码地址和加载条件的RAM空间,其余为程序运行空间;
(3)修改加载程序中的加载起始码地址,并确定模块化的代码段的加载条件。
使用本发明方法后:
1)设备在初次加电时,RAM空间X的数为随机数,不满足加载B和C代码段,满足加载A代码段的条件;加载A代码段的起始码地址,A代码段的程序进入DSP运行环境运行。当外部选择信号要求DSP运行代码B时,DSP运行程序将RAM单元X的数据改写为满足加载B代码段条件的数据,且让DSP运行程序重新复位。
2)由于RAM单元X数据满足加载B代码段的条件,故DSP复位后在运行加载程序时将加载B代码段的起始码地址,B代码段的程序进入DSP运行环境运行。当外部选择信号要求DSP运行代码C段时,DSP运行程序将RAM单元X的数据改写为满足加载C代码段条件的数据,且DSP程序重新复位。
3)由于RAM单元X数据满足加载C代码段的条件,故DSP复位后在运行加载程序时将加载C代码段的起始码地址,C代码段的程序进入DSP运行环境运行。当外部选择信号要求DSP运行代码A时,DSP运行程序将RAM单元X的数据改写为满足加载A代码段条件的数据,且DSP运行程序重新复位。由于RAM单元X数据满足加载A代码段的条件,故DSP复位后在运行加载程序时将加载A代码段的起始码地址,A代码段的程序进入DSP运行环境运行。
如此反复,便实现了程序的动态加载。
ADSP21065 DSP处理器复位的实现,根据实时性要求的高低,可利用硬件系统的看门狗超时实现,加载时间较长,一般为500ms左右;也可利用DSP的片上IO口,用上拉电阻上拉,管脚通过外部延时逻辑实现,加载时间可控制的非常短,达到小于50ms。
在生成ROM中,代码A、B、C的起始地址一定要和其软件本身设置的条件复位地址一致。即应注意加载程序ROM中A、B、C的位置和A、B、C中软件设置的条件复位地址保持一致性,否则程序将不能正常运行。
这样实现在不需要额外的RAM开销情况下程序的动态加载,最大限度地利用DSP的内存空间,有利于大量的程序放入DSP内运行。
                     具体实施方式
本发明是利用ADSP21065本身的加载程序和软件复位程序,修改其加载起始地址而实现。
实施例1:
(1)将DSP外接的ROM存放的程序按功能模块化,模块化程序分为代码A、B、C段。
ROM存储器代码放置:加载程序代码段、A代码段、B代码段、C代码段。
(2)将DSP连接RAM的一个空间X定义为加载程序中的加载起始码地址和加载条件的空间,其余为程序运行空间;
(3)修改加载程序中的加载起始码地址,并确定模块化的代码段的加载条件;
定义单元X为十六进制0X12345678时,加载程序代码运行后跳至代码B加载程序;单元X十六进制0X87654321时,加载程序代码运行后跳至代码B加载程序;如单元X是不为上述两数,即加载代码A。
1)设备在初次加电时,RAM单元X的数为随机数,不满足加载B和C代码段,加载代码A,进入DSP运行环境运行。当外部选择信号要求DSP运行代码B时,DSP运行程序将RAM单元X数改写为0X12345678,且让DSP重新复位。
2)由于RAM单元X数据为0X12345678,故DSP复位后在运行加载程序时根据判断的条件将加载代码B,即代码B进入DSP运行环境运行。当外部选择信号要求DSP运行代码C时,DSP运行程序将RAM单元X数改写为0X87654321,且让DSP重新复位。
3)由于RAM单元X数据为0X87654321,故DSP复位后在运行加载程序时根据判断的条件将加载代码C,即代码C进入DSP运行环境运行。当外部选择信号要求DSP运行代码A时,DSP运行程序将RAM单元X数改写为不是0X12345678和0X87654321的以外的数,且程序重新复位,则DSP将加载代码A,并运行。
如此反复,便实现了程序的动态加载。
在生成ROM中,代码A、B、C的起始地址一定要和其软件本身设置的条件复位地址一致。即应注意加载程序ROM中A、B、C的位置应和A、B、C中软件设置的条件复位地址保持一致性,否则程序将不能正常运行。
这样实现在不需要额外的RAM开销情况下程序的动态加载,最大限度地利用DSP的内存空间,有利于大量的程序放入DSP内运行。
实施例2:
(1)将DSP外接的ROM存放的程序按功能模块化,模块化程序分为代码A、B段。
ROM存储器代码放置:加载程序代码段、A代码段、B代码段。
(2)将DSP连接RAM的一个空间X定义为加载程序中的加载起始码地址和加载条件的空间,其余为程序运行空间;
(3)修改加载程序中的加载A代码段、B代码段起始码地址,并确定模块化的代码段A代码段、B代码段的加载条件;
实施例3:
(1)将DSP外接的ROM存放的程序按功能模块化,模块化程序分为代码A、B、C段、D段、E段。
ROM存储器代码放置:加载程序代码段、A代码段、B代码段、C代码段。D代码段、E代码段。
(2)将DSP连接RAM的一个空间Y设置为存储加载程序中的加载起始码地址和加载条件的空间;其余为程序运行空间;
(3)修改加载程序中的加载起始码地址,并确定模块化的代码段的加载条件;
定义:单元Y为十六进制0X00ABCDEF时,加载程序代码运行后跳转至代码B加载程序;单元Y为十六进制0X00FEDCBA时,加载程序代码运行后跳转至代码C加载程序;单元Y为十六进制0XABCDEF00时,加载程序代码运行后跳转至代码D加载程序;单元Y为十六进制0XFEDCBA00时,加载程序代码运行后跳转至代码E加载程序;单元Y为非十六进制0X00ABCDEF、0X00FEDCBA、0XABCDEF00、0XFEDCBA00时,加载程序代码运行后跳转至代码A加载程序。
1)设备在初次加电时,RAM单元Y的数为随机数,不满足加载B、C、D和E代码段,加载代码A,进入DSP运行环境运行。当外部选择信号要求DSP运行代码B时,DSP运行程序将RAM单元Y数改写为0X00ABCDEF,且DSP重新复位。
2)由于RAM单元Y数据为0X00ABCDEF,故DSP复位后在运行加载程序时根据判断的条件将加载代码B,即代码B进入DSP运行环境运行。当外部选择信号要求DSP运行代码C时,DSP运行程序将RAM单元Y数改写为0X00FEDCBA,且DSP重新复位。
3)由于RAM单元Y数据为0X00FEDCBA,故DSP复位后在运行加载程序时根据判断的条件将加载代码C,即代码C进入DSP运行环境运行。当外部选择信号要求DSP运行代码E时,DSP运行程序将RAM单元Y数改写为0XFEDCBA00,且DSP重新复位。
4)由于RAM单元Y数据为0XABCDEF00,故DSP复位后在运行加载程序时根据判断的条件将加载代码D,即代码D进入DSP运行环境运行。当外部选择信号要求DSP运行代码B时,DSP运行程序将RAM单元Y数改写为0X00ABCDEF,且DSP重新复位。
5)由于RAM单元Y数据为0X00ABCDEF,故DSP复位后在运行加载程序时根据判断的条件将加载代码B,即代码B进入DSP运行环境运行。当外部选择信号要求DSP运行代码A时,DSP运行程序将RAM单元Y数改写为不是0X00ABCDEF、0X00FEDCBA、0XABCDEF00、0XFEDCBA00的以外的数,且DSP重新复位,则DSP将加载代码A,并运行。
如此反复,任何一段代码运行时均可通过改写RAM单元Y的数据实现对其他代码段的加载,实现了程序的动态加载。
在生成ROM中,代码A、B、C、D、E的起始地址一定要和其软件本身设置的条件复位地址一致。即应注意加载程序ROM中A、B、C、D、E的位置和A、B、C、D、E中软件设置的条件复位地址保持一致性,否则程序将不能正常运行。
这样实现在不需要额外的RAM开销情况下程序的动态加载,最大限度地利用DSP的内存空间,有利于大量的程序放入DSP内运行。

Claims (2)

1、一种运用于DSP的动态加载方法,其操作步骤为:
(1)DSP外接的ROM存放的程序按功能模块化,模块化程序分为代码段,在代码段中必须有加载其它代码段程序的条件;
(2)定义与DSP连接RAM的一个RAM空间X作为加载程序中的加载起始码地址和加载条件的RAM空间,其余为程序运行空间;
(3)修改加载程序中的加载起始码地址,并确定模块化的代码段的加载条件。
2、如权利要求1所述的运用于DSP的动态加载方法,其特征在于:所述的代码段为至少为二段。
CNB2003101040510A 2003-12-18 2003-12-18 运用于dsp的动态加载方法 Expired - Lifetime CN100365570C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2003101040510A CN100365570C (zh) 2003-12-18 2003-12-18 运用于dsp的动态加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2003101040510A CN100365570C (zh) 2003-12-18 2003-12-18 运用于dsp的动态加载方法

Publications (2)

Publication Number Publication Date
CN1629805A true CN1629805A (zh) 2005-06-22
CN100365570C CN100365570C (zh) 2008-01-30

Family

ID=34842931

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003101040510A Expired - Lifetime CN100365570C (zh) 2003-12-18 2003-12-18 运用于dsp的动态加载方法

Country Status (1)

Country Link
CN (1) CN100365570C (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100464297C (zh) * 2007-01-26 2009-02-25 北京中星微电子有限公司 一种实现软件移植的方法、系统及芯片
CN101834608A (zh) * 2009-03-10 2010-09-15 华为技术有限公司 一种多通道编解码器运行方法及装置
CN101685421B (zh) * 2008-09-24 2011-11-23 大唐移动通信设备有限公司 一种dsp内存的获取方法和装置
CN101441572B (zh) * 2007-11-21 2012-04-11 上海摩波彼克半导体有限公司 Dsp芯片中实现运行代码加载的方法
CN103345456A (zh) * 2013-06-21 2013-10-09 烽火通信科技股份有限公司 调节BootLoader启动地址的电路及方法
CN109656628A (zh) * 2018-12-24 2019-04-19 中国科学院电子学研究所 一种基于网络接口的数据加载方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101546267B (zh) * 2008-03-24 2012-08-22 大唐移动通信设备有限公司 向数字信号处理器的外存加载程序的方法、系统及装置
CN101833464A (zh) * 2010-04-16 2010-09-15 深圳市五巨科技有限公司 一种移动终端分段加载应用程序的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446165B1 (en) * 1999-07-30 2002-09-03 International Business Machines Corporation Address dependent caching behavior within a data processing system having HSA (hashed storage architecture)
US6745386B1 (en) * 2000-03-09 2004-06-01 Sun Microsystems, Inc. System and method for preloading classes in a data processing device that does not have a virtual memory manager
CN1183710C (zh) * 2003-03-28 2005-01-05 港湾网络有限公司 通信设备微处理器代码多块业务板在线同时加载方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100464297C (zh) * 2007-01-26 2009-02-25 北京中星微电子有限公司 一种实现软件移植的方法、系统及芯片
CN101441572B (zh) * 2007-11-21 2012-04-11 上海摩波彼克半导体有限公司 Dsp芯片中实现运行代码加载的方法
CN101685421B (zh) * 2008-09-24 2011-11-23 大唐移动通信设备有限公司 一种dsp内存的获取方法和装置
CN101834608A (zh) * 2009-03-10 2010-09-15 华为技术有限公司 一种多通道编解码器运行方法及装置
CN101834608B (zh) * 2009-03-10 2014-05-07 华为技术有限公司 一种多通道编解码器运行方法及装置
CN103345456A (zh) * 2013-06-21 2013-10-09 烽火通信科技股份有限公司 调节BootLoader启动地址的电路及方法
CN103345456B (zh) * 2013-06-21 2015-12-02 烽火通信科技股份有限公司 调节BootLoader启动地址的电路及方法
CN109656628A (zh) * 2018-12-24 2019-04-19 中国科学院电子学研究所 一种基于网络接口的数据加载方法

Also Published As

Publication number Publication date
CN100365570C (zh) 2008-01-30

Similar Documents

Publication Publication Date Title
CN1629805A (zh) 运用于dsp的动态加载方法
CN1185582C (zh) 调度无用单元收集的方法
CN1290897A (zh) 可动态调节而且可配置的废料收集程序用的方法和系统
CN1271524C (zh) 一种静态内存管理方法
CN1357124A (zh) 执行处理器语境切换和重调度的系统和方法
CN1700601A (zh) 逻辑电路装置
WO2003060715A3 (en) Value recycling facility for multithreaded computations
CN1043401A (zh) 在计算机存储空间增加定位rom的选择
CN100340983C (zh) 对非易失可编程逻辑器件在线升级的方法及装置
CN1296836C (zh) 用以于嵌入程序只读存储器中实施修正机制的电路与方法
CN1770125A (zh) 一种分配内存的方法
CN1852146A (zh) 一种热备份系统和方法
CN1499374A (zh) 一种单元测试自动化方法
CN1851676A (zh) 一种嵌入式系统缓冲式内存分配方法
CN1477512A (zh) 嵌入式软件任务死循环监控方法
CN1801086A (zh) 应用于Java操作系统中设备支持的实现方法
CN1786910A (zh) 一种bios在线升级方法
CN1584844A (zh) 一种单片机在线升级方法和装置
CN2743897Y (zh) 基于can总线的燃料电池汽车整车控制器监控系统
CN1110919C (zh) 下载数据以向声码器添加功能的方法
CN1749953A (zh) 格式支持能力可无限扩充式多媒体播放系统
CN101063939A (zh) 可更新操作系统程序的嵌入式装置及其方法
CN1556472A (zh) 一种嵌入式系统中可执行文件的压缩及其加载方法
CN101059774A (zh) 动态存储管理装置及方法
CN1723485A (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
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200914

Address after: Room 101, No. 88, Shangpo street, Shangpo village, Rongcheng County, Baoding City, Hebei Province

Patentee after: CETC Cyberspace Security Research Institute Co.,Ltd.

Address before: 610041, No. 6, pioneering Road, hi tech Zone, Sichuan, Chengdu

Patentee before: The 30th Research Institute of China Electronics Technology Group Corporation

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20080130