主题中讨论的其他器件:EK-TM4C129EXL、 EK-TM4C1294XL、 UNIFLASH
您好!
我们正在尝试在 TM4C129ENCPDT (修订版 A2)控制器上实现基于闪存的 USB 引导加载程序。 最终、这将位于我们的定制板上、但作为参考、我们提供了 EK-TM4C129EXL launchpad。
由于这些示例没有针对电路板的确切引导加载程序、因此参考配置来自 dk-tm4c129/boot_emac_flash/bl_config.h、其中以太网配置(线路856...904)已交换用于 USB 配置(线路916...1241)。 这是 dk-tm4c123g/boot_USB/BL_config.h 交叉参考的
其他源来自/boot_loader/for the code composer build - bl_usb.c and its dependencies、bl_startup_ccs.s 和链接器 bl_link_ccs.cmd。 Code Composer 为 v7.3.0.00019。
到目前为止:
我在 bl_config.h 中添加了#define TARGET_IS_TM4C129_RA2、以进行特定于修订版的配置。
项目属性- ARM 链接器-高级选项-运行时环境-初始化模型-更改为-ram_model。 这样就消除了链接器警告。 否则、USB 会从主机接收定期的 USB_Y_RESET 消息(BL_USB.c 第463行)。
项目使用这些设置进行编译、而不会出现任何警告或错误。 调试代码时、代码似乎通过 USB 初始化函数运行、然后卡在 UpdateUSB while (g_ui32CommandFlags =0)(BL_USB.c 第1811行)循环中。 Windows (Windows 7和10) 无法识别设备:

LaunchPad 本身切换到 OTG 电源、并断开调试 USB 电缆。 我尝试 了 http://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/p/602844/2217914 发布的#5、这似乎正常。 这表示擦除闪存后、似乎有某种基于 ROM 的引导加载程序可以正常工作。 我已附上所使用的示例项目。 作为参考、我还阅读了 spmu301d (Tivaware Bootloader 用户指南)。
我在这里错过了什么?
此致、
Keijo
e2e.ti.com/.../Flash_5F00_boot_5F00_loader_5F00_dfu.zip