主题中讨论的其他器件:C2000WARE、 TMS320F280025C、 TMS320F280049C
您好!
我无法使用 LAUNCH-XLF28027F 从闪存启动任何程序。 我使用的是 C2000Ware 中的 driverlib 示例、甚至是 LaunchPadDemo 都无法正常工作。 我是说我可以使用闪存配置加载程序、但加电后程序无法启动。 我尝试将 S1切换到开关位置、但仍然没有结果。 如何处理此问题?
BR、
Dawid。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我无法使用 LAUNCH-XLF28027F 从闪存启动任何程序。 我使用的是 C2000Ware 中的 driverlib 示例、甚至是 LaunchPadDemo 都无法正常工作。 我是说我可以使用闪存配置加载程序、但加电后程序无法启动。 我尝试将 S1切换到开关位置、但仍然没有结果。 如何处理此问题?
BR、
Dawid。
您好!
这是新电路板吗? 以前编程的"GetMode"选项是否可能不是闪存? 有关更多信息、请参阅技术参考手册-"引导加载程序模式"部分"GetMode 的 OTP 值"表。
如果对 GetMode 进行了编程、则可以对其他位进行编程、使 OTP_KEY 无效。 这将恢复到引导至闪存。 很遗憾、您无法擦除 OTP。
如果这不是现有设计、我还建议改用我们的较新器件之一-例如 TMS320F280049C 或 TMS320F280025C 系列。 多年来、我们已经取得了很大的进步。
此致
Lori
Dawid、
是的、它看起来是正确的。
我应该问-您是否正在使用为闪存构建的项目?
本应用手册将指导您如何从闪存与 RAM www.ti.com/lit/spra958中运行程序
此致、
Lori
我的项目基于创建者提供的典型项目:

我将使用版本构建选项。 老实说、我认为它已经准备好闪烁了。
即使它不是从 Resource Explorer 导入的原始 LaunchPadDemo、看起来也是这样的:

我也无法从闪存引导它。
下面是内存分配图:

和*。cmd 文件:
e2e.ti.com/.../0508.TMS320F28027.txt
如果该设置不正确、可能有人有闪存应用程序的示例 cmd 文件?
我会怀疑"发布"版本具有所需的所有挂钩。 这些挂钩在我提到的应用手册中进行了说明。
它看起来 LP 示例具有闪存支持。
链接器命令文件中的关键位是存储器开始位-看起来它位于正确的位置。 然后是要开始的分支、即段 codestart。 这在链接器命令文件中看起来也是正常的。
我不确定问题是什么。 尝试使用随附的 Code Composer Studio (CCS)调试该问题。
首先、您可能会发现本技术讲座对您有所帮助: https://training.ti.com/c2000-f28004x-microcontroller-workshop?context=1137755-1139641-1137780
遗憾的是、材料的日期与 CCS 版本的日期相同。 但这些概念仍然适用。
以下是此闪存的一些常见问题解答、包括从闪存运行
此致
Lori
最后、我处理了正确的*。cmd 文件。 我将其附加给其他用户:
e2e.ti.com/.../F2802x_5F00_generic_5F00_flash_5F00_txt.txt
e2e.ti.com/.../F2802x_5F00_Headers_5F00_nonBIOS_5F00_txt.txt
重要说明:这些文件适用于非 BIOS 项目。
在具有相同 F2802x_generic_flash.cmd 和 Headersa_BIOS.cmd 的 SYS/BIOS 工程中(我在此附上):
e2e.ti.com/.../F2802x_5F00_Headers_5F00_BIOS_5F00_txt.txt
(注:头文件我取自: C:\ti\C2000Ware_3_04_00_00_Software\device_support\f2802x\headers\cmd)
我有以下信息:

这是否意味着我无法将很少的 SYS/BIOS 项目写入 F28027F 器件、因为它太大了?
在 SYS/BIOS 项目中、这个*。cmd 文件是正确的:
e2e.ti.com/.../6648.TMS320F28027.txt
但最重要的是检查启动选项中的 CHECBOX:

之后、我的程序从闪存中触发... 但发生了另一个问题、我在另一个线程中对其进行了描述。