尊敬的 C2000 Gurus:
我正在使用 ARM 主机 MCU 通过 SCI 更新 F28004x FW。 我使用默认 GPIO 28和29进行 SCIA 启动。 在启动 C28x 复位并从 SCI 引导后、我能够加载内核文件。 然而、在加载内核文件后、自动波特锁不起作用并卡在这里(请参阅下文)。
我的工作如下:
- 首先、让我们确保我正确生成了内核文件。 我使用 flashapi_ex2_sciKernel 工程的 CPU1_RAM 配置、并使用 hex2000实用程序生成.txt 十六进制文件。 请注意、此工程使用默认的 SCIA GPIO 28和29。
- 然后、我将此内核文件从主机 MCU 加载到 C28x SCI 启动时的 C28x 中。 此处自动波特率锁定无问题。 看起来#1中生成的文件已正确加载,因为读回的所有数据字节都与此文件的内容完全匹配。 您在上面看到的图像是通过与 PC 的单独串行连接从主机 MCU 接收到的数据。
- 我相信我给内核留出了足够的时间来开始运行。 我已经对这次的试验进行了试验、试验时间低至几百毫秒至十秒。
- ‘在加载此内核文件后我没有接收到"自动波特率锁定"字节(假设内核在此时运行)、则不会发生自动波特率锁定。
- 我尝试了 flashapi_ex2_sciKernel 工程的 BANK0_NO_LDFU 配置。 在这种‘下、在加载"Kernel file"后、自动波特率锁定生效、但我认为这会误导开发者。 在本例中、‘内核’似乎只是回显我发送的任何数据。 ‘、‘我发送‘Erase All’数据包、它只是回传数据包的最后一个字节"0xE4"(即228d)、而不是正确的 ACK 字节"0x2D"。

我可能会在哪里出问题?
谢谢。
黑石市
