数字信号处理器的boot启动方法及其启动装置的制造方法
【技术领域】
[0001]本发明属于嵌入式软硬件系统领域,具体涉及一种数字信号处理器的boot启动方法和一种boot程序的启动装置。
【背景技术】
[0002]Boot loader是嵌入式系统在加电后执行的第一段代码,它完成CPU和相关硬件的初始化之后,再将固化的嵌入式应用程序装载到内存中,然后跳转到应用程序所在的内存空间的入口地址,启动应用程序运行。
[0003]对于嵌入式系统,boot loader是基于特定硬件平台来实现的。因此,几乎不可能为所有的嵌入式系统建立一个通用的boot loader,不同的处理器架构都有不同的bootloader。Boot loader不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置。
[0004]对于数字信号处理器,一般片上的ROM空间内芯片生产商会固化相应的bootloader,方便用户使用。例如TI公司C54x系列处理器上电自举方式有:1)处理器通信口HPI方式,通过DSP芯片与PC机或DSP芯片之间的主机通信端口实现;2)8位或16位并行EPR0M,通过DSP内核的DMA通道实现;3)8位或16位并行I/O方式,通过DSP外部并行I/O接口实现;4)8位或16位串行口方式,通过DSP的串行端口实现。
[0005]以上各种方式的boot loader程序都有其固定格式的boot表,用来实现用户程序的上电自举。这些自举加载方法牵涉到了外设接口和外围芯片,用户需要严格遵守相关的设计要求,才能成功自举加载相应程序,对于复杂的应用程序,使用起来不灵活。当处理数据量较大的应用程序,很难达到实时处理的效果。
【发明内容】
[0006]本发明要解决的技术问题是:提供一种能够节约内存空间、实时加载应用程序的数字信号处理器的boot启动方法。
[0007]本发明要解决的另一技术问题是:提供一种能够实时加载应用程序的boot程序的启动装置。
[0008]本发明解决其技术问题所采用的技术方案是:一种数字信号处理器的boot启动方法,所述boot程序存储在数字信号处理器的应用程序存储页内,启动页与存储boot程序的应用程序存储页页共享,通过地址译码器,启动页与存储boot程序的应用程序存储页的地址空间映射在同一块外部存储器上,所述boot启动方法包括如下步骤:
1)、外部MP/MC Pin拉高,MP/MC=1、OVLY=U DR0M=0,上电或复位数字信号处理器,根据与数字信号处理器连接的外部存储器的指令,执行启动页程序,根据页共享机制,跳转到存储boot程序的应用程序存储页执行boot程序;
2)、初始化数字信号处理器和相关外围设备;
3)、重新映射数字信号处理器的内存空间,为应用程序准备RAM空间; 4)、启动DMA,将外部存储器上的代码和数据分别搬移到相应的内部存储器上;
5)、设置堆栈;
6)、跳转到应用程序所在的内存空间的入口地址,启动应用程序运行。
[0009]具体的,步骤2)中对数字信号处理器的时钟和外部总线频率功能进行初始化。
[0010]具体的,步骤3)中设置 PMST=OxOla8,MP/MC=0。
[0011]一种boot程序的启动装置包括:具有分页存储功能数字信号处理器、地址译码器和多个外部存储器,所述数字信号处理器的地址线分为两部分,一部分地址线直接外部存储器的地址线连接,用于读写数据;另一部分地址线与地址译码器连接,地址译码器分别与外部存储器连接,地址译码器进行译码处理,选择外部存储器。
[0012]本发明的有益效果在于:本发明将boot程序通过页机制放入应用程序的存储页中,通过页共享将放有boot程序的应用程序存储页与启动页实现共享,通过地址译码器实现启动页与放有boot程序的应用程序存储页的地址空间映射在同一块的固态存储器上,有效节约了存储器的容量空间,提高了信号处理速度,实现了实时处理的效果。
【附图说明】
[0013]下面结合附图和实施例对本发明进一步说明。
[0014]图1是boot程序的启动装置的结构示意图。
[0015]图2是boot启动程序流程图。
[0016]图3是本发明中应用程序的存储空间分配图。
[0017]图4是本发明中boot程序共享映射存储器的示意图。
【具体实施方式】
[0018]现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
[0019]如图1所示,本发明所述的一种boot程序的启动装置包括:具有分页存储功能数字信号处理器、地址译码器和多外部部存储器,所述数字信号处理器的地址线分为两部分,一部分地址线直接外部存储器的地址线连接,用于读写数据;另一部分地址线与地址译码器连接,地址译码器分别与外部存储器连接,地址译码器进行译码处理,选择外部存储器。
[0020]本发明的实施例中采用的数字信号处理器为TI公司C54x系列处理器。所述C54x系列处理器包含3个独立的存储空间,程序、数据和I/O空间。程序空间的可寻址范围为8MX 16bit ;数据空间的可寻址范围为64KX 16bit,I/O空间的可寻址范围为64KX 16bit。该C54x系列处理器片上存储器包含可屏蔽ROM,单访问SARAM,双访问DARAM。ROM存放了已固化的boot loader程序,ROM是否映射在内存空间,由PMST寄存器的MP/MC位决定;SARAM用于存放应用程序和数据,DARAM读写速度快,常用作栈空间和存放常用数据。SARAM和 DARAM 均以 8KX 16bit 为单位分为 8 块,分别为:SARAM0~SARAM7,DARAM0-DARAM7ο 该C54x系列处理器的程序空间采用分页机制,可寻址的8M X 16bit空间以64K X 16bit大小为一页,共分128页。页寻址寄存器XPC (XPC=0~127)确定选择的页,程序计数器PC仅在每页的64K地址范围内跳转。
[0021]如图3所示,本实施例中加载使用的应用程序需要256KX16bit的存储空间。在C54x系列处理器外部接8块外部存储器,每块大小32KX 16bit,8块外部存储器的存储空间共256KX 16bito为避免反复更改地址映射引起不必要的错误,将25