CN104866357A - 数字信号处理器的boot启动方法及其启动装置 - Google Patents

数字信号处理器的boot启动方法及其启动装置 Download PDF

Info

Publication number
CN104866357A
CN104866357A CN201510290867.XA CN201510290867A CN104866357A CN 104866357 A CN104866357 A CN 104866357A CN 201510290867 A CN201510290867 A CN 201510290867A CN 104866357 A CN104866357 A CN 104866357A
Authority
CN
China
Prior art keywords
signal processor
digital signal
page
boot
program
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
CN201510290867.XA
Other languages
English (en)
Other versions
CN104866357B (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 58 Research Institute
Original Assignee
CETC 58 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 58 Research Institute filed Critical CETC 58 Research Institute
Priority to CN201510290867.XA priority Critical patent/CN104866357B/zh
Publication of CN104866357A publication Critical patent/CN104866357A/zh
Application granted granted Critical
Publication of CN104866357B publication Critical patent/CN104866357B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明涉及一种数字信号处理器的boot启动方法及其启动装置。一种数字信号处理器的boot启动方法,boot程序存储在应用程序存储页内,启动页与存储boot程序的应用程序存储页页共享,通过地址译码器,启动页与存储boot程序的应用程序存储页的地址空间映射在同一块外部存储器上。所述boot启动方法具有如下步骤:MP/MC=1、OVLY=1、DROM=0,上电或复位数字信号处理器,根据与数字信号处理器连接的外部存储器的指令,执行启动页程序,根据页共享机制,跳转到存储boot程序的应用程序存储页执行boot程序。有效节约了存储器的容量空间,提高了信号处理速度,实现了实时处理的效果。

Description

数字信号处理器的boot启动方法及其启动装置
技术领域
本发明属于嵌入式软硬件系统领域,具体涉及一种数字信号处理器的boot启动方法和一种boot程序的启动装置。
背景技术
Boot loader是嵌入式系统在加电后执行的第一段代码,它完成CPU和相关硬件的初始化之后,再将固化的嵌入式应用程序装载到内存中,然后跳转到应用程序所在的内存空间的入口地址,启动应用程序运行。
对于嵌入式系统,boot loader是基于特定硬件平台来实现的。因此,几乎不可能为所有的嵌入式系统建立一个通用的boot loader,不同的处理器架构都有不同的boot loader。Boot loader不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置。
对于数字信号处理器,一般片上的ROM空间内芯片生产商会固化相应的boot loader,方便用户使用。例如TI公司C54x系列处理器上电自举方式有:1)处理器通信口HPI方式,通过DSP芯片与PC机或DSP芯片之间的主机通信端口实现;2)8位或16位并行EPROM,通过DSP内核的DMA通道实现;3)8位或16位并行I/O方式,通过DSP外部并行 I/O接口实现;4)8位或16位串行口方式,通过DSP的串行端口实现。
以上各种方式的boot loader程序都有其固定格式的boot表,用来实现用户程序的上电自举。这些自举加载方法牵涉到了外设接口和外围芯片,用户需要严格遵守相关的设计要求,才能成功自举加载相应程序,对于复杂的应用程序,使用起来不灵活。当处理数据量较大的应用程序,很难达到实时处理的效果。
发明内容
本发明要解决的技术问题是:提供一种能够节约内存空间、实时加载应用程序的数字信号处理器的boot启动方法。
本发明要解决的另一技术问题是:提供一种能够实时加载应用程序的boot程序的启动装置。
本发明解决其技术问题所采用的技术方案是:一种数字信号处理器的boot启动方法,所述boot程序存储在数字信号处理器的应用程序存储页内,启动页与存储boot程序的应用程序存储页页共享,通过地址译码器,启动页与存储boot程序的应用程序存储页的地址空间映射在同一块外部存储器上,所述boot启动方法包括如下步骤:
1)、外部MP/MC Pin拉高,MP/MC=1、OVLY=1、DROM=0,上电或复位数字信号处理器,根据与数字信号处理器连接的外部存储器的指令,执行启动页程序,根据页共享机制,跳转到存储boot程序的应用程序存储页执行boot程序;
 2)、初始化数字信号处理器和相关外围设备;
 3)、重新映射数字信号处理器的内存空间,为应用程序准备RAM空间;
 4)、启动DMA,将外部存储器上的代码和数据分别搬移到相应的内部存储器上;
 5)、设置堆栈;
 6)、跳转到应用程序所在的内存空间的入口地址,启动应用程序运行。
具体的,步骤2)中对数字信号处理器的时钟和外部总线频率功能进行初始化。
具体的,步骤3)中设置PMST=0x01a8,MP/MC=0。
一种boot程序的启动装置包括:具有分页存储功能数字信号处理器、地址译码器和多个外部存储器,所述数字信号处理器的地址线分为两部分,一部分地址线直接外部存储器的地址线连接,用于读写数据;另一部分地址线与地址译码器连接,地址译码器分别与外部存储器连接,地址译码器进行译码处理,选择外部存储器。
本发明的有益效果在于:本发明将boot程序通过页机制放入应用程序的存储页中,通过页共享将放有boot程序的应用程序存储页与启动页实现共享,通过地址译码器实现启动页与放有boot程序的应用程序存储页的地址空间映射在同一块的固态存储器上,有效节约了存储器的容量空间,提高了信号处理速度,实现了实时处理的效果。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是boot程序的启动装置的结构示意图。
图2是boot启动程序流程图。
图3是本发明中应用程序的存储空间分配图。
图4是本发明中boot程序共享映射存储器的示意图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
如图1所示,本发明所述的一种boot程序的启动装置包括:具有分页存储功能数字信号处理器、地址译码器和多外部部存储器,所述数字信号处理器的地址线分为两部分,一部分地址线直接外部存储器的地址线连接,用于读写数据;另一部分地址线与地址译码器连接,地址译码器分别与外部存储器连接,地址译码器进行译码处理,选择外部存储器。
本发明的实施例中采用的数字信号处理器为TI公司C54x系列处理器。所述C54x系列处理器包含3个独立的存储空间,程序、数据和I/O空间。程序空间的可寻址范围为8M×16bit;数据空间的可寻址范围为64K×16bit,I/O空间的可寻址范围为64K×16bit。该C54x系列处理器片上存储器包含可屏蔽ROM,单访问SARAM,双访问DARAM。ROM存放了已固化的boot loader程序,ROM是否映射在内存空间,由PMST寄存器的MP/MC 位决定;SARAM用于存放应用程序和数据,DARAM读写速度快,常用作栈空间和存放常用数据。SARAM和DARAM均以8K×16bit为单位分为8块,分别为:SARAM0~SARAM7,DARAM0~DARAM7。该C54x系列处理器的程序空间采用分页机制,可寻址的8M×16bit空间以64K×16bit大小为一页,共分128页。页寻址寄存器XPC(XPC=0~127)确定选择的页,程序计数器PC仅在每页的64K地址范围内跳转。
如图3所示,本实施例中加载使用的应用程序需要256K×16bit的存储空间。在C54x系列处理器外部接8块外部存储器,每块大小32K×16bit,8块外部存储器的存储空间共256K×16bit。为避免反复更改地址映射引起不必要的错误,将256K×16bit的外部存储空间映射在C54x系列处理器中的Page4、5、6、7、8、9、a、b的高32K地址空间。这些地址空间映射关系不受任何寄存器位的影响(不受PMST的OVLY/ROM等位的影响)。程序代码和数据分块放在这些地址空间中。
如图4所示,本实施例中的boot程序较小,约12Kbit大小,将boot程序和应用程序的一块码本数据合并放入应用程序存储页的某一页,本实施例选择第八页page8的高32K地址空间,boot程序放入0x8f800~8ffff地址空间。将程序空间启动页Page0和第八页Page8空间进行页共享。
 为了将存储应用程序的程序存储页即Page4、5、6、7、8、9、a、b内的高32K地址空间映射在8块外部存储器上,8页程序空间共需要占用20根地址线即A0-A19。本实施例选择5根地址线即A15-A19与地址译码器相连,其他地址线即A0-A14分别与外部存储器的地址线连接。A15-A19进行译码处理,确定选择哪一块外部存储器,其他15根地址线即A0-A14用于读写数据。
所述地址译码器将启动页Page0和第八页Page8的地址空间映射在同一块的固态存储器上,执行0xff80即是执行0x8ff80地址开始的程序。这样做有效的节省了存储器存储空间。
如图2所示,本发明的boot的启动过程如下:
1)、外部MP/MC Pin拉高,MP/MC=1、OVLY=1、DROM=0,上电或复位数字信号处理器,程序从0xff80指向的外部存储器空间开始执行,此时PC=0xff80,XPC=0。做了地址映射后,0xff80执行的代码,即为空间0x8ff80内的boot程序,boot程序第一条指令执行跳转,跳转到0x8f80地址执行数字信号处理器。
 2)、初始化数字信号处理器和相关外围设备,即初始化芯片时钟,外部总线频率等功能。
 3)、设置PMST=0x01a8,MP/MC=0,重新映射数字信号处理器的内存空间,为应用程序准备RAM空间。
 4)、启动DMA,将外部存储器上的代码和数据分别搬移到相应的内部存储器上。
 5)、设置堆栈,C54x系列处理器片上有双访问DARAM,读写速度快,常用作栈空间和存放常用数据,设计使用0x3800大小的DARAM空间为栈空间,使用0x400大小的DARAM空间为堆空间。
 6)、跳转到应用程序所在的内存空间的入口地址,启动应用程序运行,本实施例中,应用程序的C入口地址为0x200(XPC=0, PC=0x200)。
在上述的第4)步中,由于C54x系列处理器程序空间和数据空间相互独立,因此在代码搬移时,处理器内部的处理器含有对程序到程序空间,程序到数据空间,数据到程序空间的数据搬移指令,但操作起来非常复杂。而处理器片内含6通道DMA,支持数据、I/O、程序空间的数据搬移,且搬移操作不受与地址映射有关的MP/MC、DROM、OVLY寄存器位的影响。因此采用DMA来进行代码和数据的搬移,既简单又速度又快。
基于以上实施例的方法,还可以将Page9和Page1、Page A和Page2、Page B和Page3分别映射在同一块片外存储器上,实现页共享存储。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

Claims (4)

1.一种数字信号处理器的boot启动方法,其特征是:boot程序存储在数字信号处理器的应用程序存储页内,启动页与存储boot程序的应用程序存储页页共享,通过地址译码器,启动页与存储boot程序的应用程序存储页的地址空间映射在同一块外部存储器上,所述boot启动方法包括如下步骤:
1)、外部MP/MC Pin拉高,MP/MC=1、OVLY=1、DROM=0,上电或复位数字信号处理器,根据与数字信号处理器连接的外部存储器的指令,执行启动页程序,根据页共享机制,跳转到存储boot程序的应用程序存储页执行boot程序;
 2)、初始化数字信号处理器和相关外围设备;
 3)、重新映射数字信号处理器的内存空间,为应用程序准备RAM空间;
 4)、启动DMA,将外部存储器上的代码和数据分别搬移到相应的内部存储器上;
 5)、设置堆栈;
 6)、跳转到应用程序所在的内存空间的入口地址,启动应用程序运行。
2.根据权利要求1所述的数字信号处理器的boot启动方法,其特征是:步骤2)中对数字信号处理器的时钟和外部总线频率功能进行初始化。
3.根据权利要求1所述的数字信号处理器的boot启动方法,其特征是:步骤3)中设置PMST=0x01a8,MP/MC=0。
4.一种boot程序的启动装置,其特征是,包括:具有分页存储功能数字信号处理器、地址译码器和多个外部存储器,所述数字信号处理器的地址线分为两部分,一部分地址线直接外部存储器的地址线连接,用于读写数据;另一部分地址线与地址译码器连接,地址译码器分别与外部存储器连接,地址译码器进行译码处理,选择外部存储器。
CN201510290867.XA 2015-05-29 2015-05-29 数字信号处理器的boot启动方法及其启动装置 Active CN104866357B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510290867.XA CN104866357B (zh) 2015-05-29 2015-05-29 数字信号处理器的boot启动方法及其启动装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510290867.XA CN104866357B (zh) 2015-05-29 2015-05-29 数字信号处理器的boot启动方法及其启动装置

Publications (2)

Publication Number Publication Date
CN104866357A true CN104866357A (zh) 2015-08-26
CN104866357B CN104866357B (zh) 2019-08-23

Family

ID=53912206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510290867.XA Active CN104866357B (zh) 2015-05-29 2015-05-29 数字信号处理器的boot启动方法及其启动装置

Country Status (1)

Country Link
CN (1) CN104866357B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653269A (zh) * 2015-12-28 2016-06-08 北京星地恒通信息科技有限公司 一种Boot启动装置和启动方法
CN106648758A (zh) * 2016-11-30 2017-05-10 中国电子科技集团公司第五十八研究所 一种多核处理器boot启动系统及方法
CN106886425A (zh) * 2015-12-15 2017-06-23 西安富成防务科技有限公司 一种dsp启动方式的改进结构
CN111459564A (zh) * 2020-04-26 2020-07-28 深圳康佳电子科技有限公司 boot阶段初始化兼容的实现方法、系统及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0472386A2 (en) * 1990-08-20 1992-02-26 Texas Instruments Incorporated Digital signal processing control method and apparatus
CN101021794A (zh) * 2006-05-25 2007-08-22 杭州晟元芯片技术有限公司 一种芯片上电后的程序引导方法
CN101178661A (zh) * 2007-12-14 2008-05-14 华为技术有限公司 Flash集成bootrom的实现方法和装置
CN101349973A (zh) * 2008-09-05 2009-01-21 中山大学 嵌入式Java处理器微码指令集动态装载方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0472386A2 (en) * 1990-08-20 1992-02-26 Texas Instruments Incorporated Digital signal processing control method and apparatus
CN101021794A (zh) * 2006-05-25 2007-08-22 杭州晟元芯片技术有限公司 一种芯片上电后的程序引导方法
CN101178661A (zh) * 2007-12-14 2008-05-14 华为技术有限公司 Flash集成bootrom的实现方法和装置
CN101349973A (zh) * 2008-09-05 2009-01-21 中山大学 嵌入式Java处理器微码指令集动态装载方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106886425A (zh) * 2015-12-15 2017-06-23 西安富成防务科技有限公司 一种dsp启动方式的改进结构
CN105653269A (zh) * 2015-12-28 2016-06-08 北京星地恒通信息科技有限公司 一种Boot启动装置和启动方法
CN106648758A (zh) * 2016-11-30 2017-05-10 中国电子科技集团公司第五十八研究所 一种多核处理器boot启动系统及方法
CN111459564A (zh) * 2020-04-26 2020-07-28 深圳康佳电子科技有限公司 boot阶段初始化兼容的实现方法、系统及计算机设备
CN111459564B (zh) * 2020-04-26 2023-12-05 深圳康佳电子科技有限公司 boot阶段初始化兼容的实现方法、系统及计算机设备

Also Published As

Publication number Publication date
CN104866357B (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
US7340566B2 (en) System and method for initializing a memory device from block oriented NAND flash
US7500085B2 (en) Identifying code for compilation
US10120663B2 (en) Inter-architecture compatability module to allow code module of one architecture to use library module of another architecture
US6289434B1 (en) Apparatus and method of implementing systems on silicon using dynamic-adaptive run-time reconfigurable circuits for processing multiple, independent data and control streams of varying rates
US6058474A (en) Method and apparatus for DMA boot loading a microprocessor without an internal ROM
US20160034196A1 (en) Techniques to Configure a Solid State Drive to Operate in a Storage Mode or a Memory Mode
US7386653B2 (en) Flash memory arrangement
US7398383B2 (en) Method and system for using internal FIFO RAM to improve system boot times
US20140096132A1 (en) Flexible acceleration of code execution
CN104866357A (zh) 数字信号处理器的boot启动方法及其启动装置
KR20050065576A (ko) 비선형 메모리로부터의 부팅
US9046915B2 (en) Circuit and method for initializing a computer system
TW201324336A (zh) 平衡對具有不同記憶體種類的記憶體進行存取的技術
KR20150130382A (ko) 외부에서 프로그래밍 가능한 메모리 관리 유닛
US9436480B1 (en) Firmware RAM usage without overlays
CN104346132B (zh) 应用于智能卡虚拟机运行的控制装置及智能卡虚拟机
CN100570587C (zh) 虚拟机系统及其高级可编程中断控制器的访问处理方法
CN102117245B (zh) 嵌入式设备及其系统可执行文件分割加载和启动方法
JP6143841B2 (ja) コンテキストスイッチを伴うマイクロコントローラ
TW202119215A (zh) 共用代碼之系統與代碼共用方法
KR101635704B1 (ko) 대용량 입출력을 지원하는 저장장치에 기반한 가상 메모리 시스템
US20120017035A1 (en) Runtime reprogramming of a processor code space memory area
Russell ATmega328P Architecture
JPH02187881A (ja) 半導体集積回路
JP5993687B2 (ja) ワンチッププロセッサ

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