C6000 DSP技术深度探索(1)---关于启动方式
所谓的启动,英文名叫“Boot”,任何一个系统都离不开它,无论是CPU、DSP、ARM还是FPGA,都不可跳过这个流程,其本质就是向存储器加载程序和数据并初始化寄存器文件的过程,只是不同的处理器有其各自的特点,这里只针对TI公司的C6000系列DSP进行探究。对于C6000系列的DSP,其启动方式较多,但总的来说主要分为两类,一类是软件启动方式,另一类是硬件启动方式,对于前者,其本质是:当DSP完成复位后,存储在ROM 中的DSP 代码(片上bootloader-一级bootloader)将应用程序从外部存储(非易失性存储器)搬到内部或外部存储器,以TMS320C6455来说,这段代码永远存储在片上ROM的0x00100000h起始地址处;对于硬件启动方式,指的是不依赖软件,而是通过硬件启动配置逻辑实现DSP启动的过程,同样以TMS320C6455来说,它主要支持以下几种启动方式:
NoBOOT 启动:对于这种启动方式,上电复位后,CPU 直接从片上L2地址0x800000h地址开始执行,这种启动方式就属于硬件启动方式,通常使用仿真器调试时使用这种方式
Host Boot启动:在这种启动方式下,CPU复位后,其他外设退出了复位状态,但是CPU会“停止”在这里,此时主机设备(HPI或PCI设备)将完成DSP中存储器及寄存器的初始化工作,当主机设备完成这些初始化工作后,它将产生一个“DSPINT”中断&#x