疑问1:
C6645 复位后的 引导模式 – EMIFA 8-bit ROM boot 下,
程序是否是从 FLASH中的地址0xB000 0000处开始执行,
而不是,通过内部 bootloader 把 FLASH中的代码 loaded into on-chip memory L2 SRAM,再运行L2 SRAM中的代码?
(当然,如果FLASH中的代码,自己也可以 把代码某些Load进L2 SRAM,再跳转去运行,这个算直接从FLASH运行。)
疑问2:
C6645 复位后的 引导模式 的理解如下,是否有误?请指正!
引导模式,有6种。
AEA[19:16]:
0000 – No boot (default mode)
0001 – Host boot (HPI)
0100 – EMIFA 8-bit ROM boot
0101 – Master I2C boot
0110 – Slave I2C boot
0111 – Host boot (PCI)
1000 thru 1111 – Serial Rapid I/O boot configurations
1、No boot
该模式下,DSP内的 bootloader 不运行,直接运行 L2 SRAM中的代码。
L2 SRAM中的代码在DSP进入 该模式之前,已经由相关工具写入了。
入口地址,默认是0x80 0000,但是特别是的,simulator 模拟的时候,入口地址为 c_int00 地址。
2、Host boot
该模式下,DSP内的 bootloader 不运行。
外部主机,自己把 代码和数据,直接写入内部L2 SRAM 和 寄存器;
完成后,外部主机通过中断 让 DSP 从 L2 SRAM的开始地址0x80 0000 开始执行代码。
3、EMIFA 8-bit ROM boot
该模式下,DSP内的 bootloader 不运行。(也可能是 the bootloader simply branches to the base address of EMIFA CE3 (0xB000 0000))
直接从外部FLASH的 0xB000 0000 开始取指、译码、执行。
4、Master I2C boot
该模式下,DSP内的 bootloader 运行。
主动从外部 I2C EEPROM中读取数据和代码 放到内部L2 SRAM中。
DSP依据读取的 boot table,来决定什么时候结束,然后从什么地址开始执行。
5、Slave I2C boot
该模式下,除了 主动之间通信不同之外, 启动引导过程一样。
6、Serial RapidIO boot
该模式下,DSP内的 bootloader 运行,配置相应的硬件。
然后,与Host boot 类似,一个外部主机通过 RapidIO接口,直接把代码和数据写入DSP内部。
完成后,外部主机通过中断 让 DSP 从 L2 SRAM的开始地址0x80 0000 开始执行代码。
对于C6455引导模式的上述理解,是否准确,请指导!
新手,问题比较简单,但是没有实际做板子,所以需要请教,在此先谢过!
——————————————
原文引用:
tms320c6455-Fixed-Point Digital Signal Processor.pdf
spruec6g-C645xC647x Bootloader User's Guide.pdf
hongkun ma:
回复 Shine:
谢谢!
非常感谢您的答复,消除了我对于这部分的疑惑。