您好!
我当前在 DSP TMS320C6678上开发引导软件。 该软件 加载在 FLSAH NOR SPI 中。
我正在测试引导加载程序(RBL),以便在 DSP 重置后将该软件加载到 RAM 中。
使用 TRACE32和 Lauterbach 探针完成测试。
以下是测试协议:
- 在小端字节序(DEVSTAT 寄存器的 LSB 设置为1)中配置 DSP。
- 引导参数表以大端字节序格式生成。
- 运行 .CMM 文件,将程序计数器设置为引导加载程序的入口点 (@0x20B0FC00)
- 将 DEVSTAT 寄存器(@0x02620020)设置为0x0000260D 值、这意味着 SPI 闪存开始时的 SPI 引导模式和引导参数表
SPI 中的引导参数表:
- 再次运行相同的.CMM 文件
问题1:此测试协议是否正确? 目前,我尚未实施该解决方案来设置
用于正确状态下引导模式配置的 GPIO。
以下是发生的情况:
- 引导参数表复制到 RAM 中,地址为@ 0x00873680,这是 引导加载程序在 RAM 中的存储地址 :
考虑到引导加载程序在小端字节序中工作、记忆似乎正确。
- 以下是生成的 SPI 寄存器配置:
生成的配置与 所需的配置不完全对应:
-
- 所需 C2Delay 为0。 在专用 SPI 寄存器中、C2Delay 设置为1。
- SPI 不处于主控模式且未启用
除了这些点之外、配置可用于所用的闪存 NOR。
问题2:我的配置有什么问题(请注意主 PLL 需要1GHz)?
实际上,我想知道 RAM 中存在的引导参数表 在默认情况下是否不是引导参数表!!!
问题3:是否应以小端字节序格式生成引导参数表?
我已经完成了相关的测试。
引导参数表未在@ 0x00873680…正确记忆 此区域的内容与实际引导参数表有很大不同
但在这种情况下、SPI 处于主模式、已启用、芯片选择处于保持状态
在所有情况下、引导表都不会复制到 RAM 中或 RAM 中的未知位置。
请注意、引导表是使用连续的 hex6x、bconvert64x 和 b2i2c 生成的。
闪存 SPI 中的引导表设置为@0x0800。
如果没有任何其他信息、我就无法再进行调查了。 非常感谢您将来的回答
此致
Alban


