您好!
我正在使用 controlCARD 板(TMDCNCD28388D)、并已在 CM 闪存上加载两个固件文件。 我将它们称为"跳线"和"固件_A"。 跳线加载在0x00200000 (SECTOR0的开头)。 Firmware_A 在0x0020C000 (SECTOR3开始)加载。 当 DSP 引导时、跳线会运行、并跳至 Firmware_A 的开头 然后、Firmware_A 从使用以太网的外部软件 API 中获取另一个固件、我称之为"Firmware_B"、并在0x00270000 (SECTOR7开始)加载 Firmware_B。 成功加载 Firmware_B 后、我将 DSP 复位。 在这种情况下、跳线应跳转至0x00270000 (Firmware_B 的开头)。 此时的问题是、在跳线跳转至0x00270000后、固件_B 将不会运行。 但是、这里有一件奇怪的事情、我无法理解。 事情是、我尝试在0x00270000处放置一个断点、然后我可以看到、程序在跳线跳转后达到这个点。 但是、每当我单击"Resume"按钮(CCS 顶部的绿色按钮)时、Firmware_B 就不会运行。 但是、当我使用"汇编单步执行"按钮时、它将成功运行 Firmware_B
如果有人能帮助我解决这个问题、我将不胜感激。
注:
1 -跳线是一个简单的非 RTOS 固件
2-固件_A 和固件_B 使用 SYS/BIOS
3-固件_B 由"ARM 十六进制实用程序"工具生成。
(可能有用的说明:假设上述情况、但这次 Firmware_B 使用以太网从外部软件 API 获取 Firmware_A。 在这种情况下、跳线会成功跳至 Firmware_A 的开头、并且 Firmware_A 将成功运行。)
此致、
Alex






