DSP2812上电与Flash启动流程解析

需积分: 10 2 下载量 102 浏览量 更新于2024-09-26 收藏 68KB PDF 举报
"DSP2812处理器在上电时的启动流程涉及到多个关键步骤,包括硬件或软件复位、微计算机模式检查、引导程序的加载以及根据GPIO状态确定启动模式。在编程和调试过程中,需要注意对CMD文件的修改、.MAP文件的检查、RAM初始化错误以及正确设置启动选项。在确保所有条件满足后,才能断开仿真器并进行上电自动运行。" DSP2812是一款高性能数字信号处理器,其上电处理过程主要包括以下几个环节: 1. **硬件或软件复位**:系统在上电或复位后,会进入一个初始状态,此时程序计数器PC指向固定的复位地址。 2. **微计算机模式检查**:DSP2812会检查MP/MC寄存器的值。若MP/MC为0,系统将进入微计算机模式,从内部BootROM启动;若MP/MC为1,则表示微处理器模式,此时不使用BootROM,而是从外部设备加载引导程序。 3. **BootROM启动**:在微计算机模式下,程序计数器PC指向0x3FFFC0,从BootROM的复位向量开始执行。BootROM中包含了一个名为Iniboot的引导程序。 4. **Iniboot功能**:Iniboot会分析GPIO引脚的状态,如SPICLKA、SCITXA、GPIO34等,以确定系统应采用的启动模式。例如,当这些引脚都为高电平时,系统将选择从内部Flash启动。 5. **启动模式判断**:根据GPIO引脚电平的不同组合,2812支持多种启动模式,包括Flash启动、SPI启动、SCI启动和并行启动。 6. **执行引导程序**:确定启动模式后,Iniboot会跳转到相应的引导程序入口地址,执行后续的初始化和加载操作。 在编程和调试过程中,需要注意以下几点: - 不必更换GEL.LIB文件,通常使用默认的即可。 - 修改FLASH的CMD文件后,查看.MAP文件,确保0X3F7FF8处没有写入内容,以防止意外覆盖BootROM。 - 如果.MAP文件显示0X3FFFC0处有内容,可能需要调整CMD文件,直至该位置无内容。 - 确保在正确模式下烧录程序,并在烧录后通过RESETCPU检查是否能正确跳转到0X3FFFC0。 - 如果出现RAM初始化错误或找不到BOOT.ASM的提示,这通常是配置问题,可以通过检查项目构建选项来解决。 - 烧录完成后,断电并拔掉仿真器接口(注意拔掉USB线),然后重新上电,系统应能自动运行。 了解并掌握这些步骤和注意事项,有助于避免在开发过程中遇到不必要的问题,确保DSP2812能够顺利地从内部Flash启动并执行程序。对于新手来说,遵循这些步骤可以减少出错的概率,提高开发效率。