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.

[参考译文] SW-TM4C:有关引导加载程序用户指南的问题

Guru**** 1630180 points
Other Parts Discussed in Thread: TM4C129ENCZAD, UNIFLASH
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1194674/sw-tm4c-question-about-boot-loader-user-guide

器件型号:SW-TM4C
主题中讨论的其他器件:TM4C129ENCZADUNIFLASH

在阅读用户指南时、我有两个问题。

什么是引导加载程序?
我认为、我们的想法是引导加载程序是在应用程序运行之前运行的程序。

顺便说一下、是否正确地认识到引导加载程序安装在处于原始状态的 TM4C129x 中?

关于 USB DFU
引导加载程序用户指南第8章中描述的 DFU 毕竟用于什么?

我想从 USB 更新应用。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [引用 userid="488655" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1194674/sw-tm4c-question-about-boot-loader-user-guide "]

    什么是引导加载程序?
    我认为、我们的想法是引导加载程序是在应用程序运行之前运行的程序。

    顺便说一下、是否正确地认识到引导加载程序安装在处于原始状态的 TM4C129x 中?

    [/报价]

    引导加载程序有两种类型。 一个基于 ROM、另一个基于闪存。 当器件处于原始状态时、闪存被完全擦除。 在这种情况下、ROM 存储器上的引导加载程序可用于下载应用程序代码。 应用程序代码通常下载到地址0x0。 复位后、应用程序将从地址0x0运行。 另一方面、基于闪存的引导加载程序与基于 ROM 的引导加载程序几乎相当、但必须先将其加载到闪存中、然后才能使用。 加载后、它将驻留在地址0x0。 基于闪存的引导加载程序通常是一个小型程序、可能只占用几 KB 的存储器。 在闪存上存在基于闪存的引导加载程序后、将绕过基于 ROM 的引导加载程序。 换言之、基于闪存的引导加载程序将在闪存上出现时接管。 基于闪存的引导加载程序可以下载您的应用程序代码。 但该应用程序将从更高的地址开始、例如0x4000。

    [引用 userid="488655" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1194674/sw-tm4c-question-about-boot-loader-user-guide ]2.About USB DFU
    引导加载程序用户指南第8章中描述的 DFU 毕竟用于什么?

     可以为不同类型的通信端口配置引导加载程序。 您可以为 UART 配置引导加载程序、以便它将与外部主机通信、从而通过 UART 端口下载您的应用程序。 您可以对 USB、以太网、SPI、I2C 和 CAN 等其他通信端口执行相同的操作。 当您为 USB 配置基于闪存的引导加载程序时、它称为 DFU。 基于 ROM 的引导加载程序已预加载、以支持 USB 和其他通信端口。  

    我们提供了足够的技术背景和文档、说明如何在此线程和过去的线程之间使用我们的 TM4C 微控制器。 请参阅为您提供的资源以进一步进行设计。

    我们无法为任何与 XDS110相关的问题提供任何支持。 此外、拥有此调试探针的 CCS 团队表示、尚未验证 XDS110是否适用于您选择的器件。

    我们仍建议您放弃将 TM4C 添加到定制板、而改用外部 JTAG 探针。

    最后一个问题是、您为什么坚持在定制电路板上构建定制 XDS110调试探针? 如果您要制造100万块电路板、则需要使用支持 XDS110的 IC 以及您的目标器件来构建所有这些电路板。 这对您来说是一个巨大的成本加法器、对吧?  如果您有外部 XDS110调试探针、则可以为您的设计创建成本更低的系统。 我不知道您的应用。 同样、如前所述、我们 无法为任何与 XDS110相关的问题提供任何支持。  我们仍建议您放弃将 TM4C 添加到定制板、而改用外部 JTAG 探针。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢你的答复。

    关于您的问题和答案、以下认可是否正确?

    关于 Bootloader
    基于闪存和基于 ROM、以及基于 ROM 的最初安装。

    这是否意味着我需要一个基于闪存的引导加载程序来放入任何应用程序?

    关于 USB DFU
    这是否意味着可以从 USB 更新应用程序和引导加载程序?

    我有一个问题是关于这个故事。

    是否需要 JTAG 将程序加载到 TM4C129ENCZAD 中?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="488655" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1194674/sw-tm4c-question-about-boot-loader-user-guide/4504423 #4504423"]这是否意味着我需要使用基于闪存的引导加载程序来放入任何应用程序?

    如果您有到器件的 JTAG 连接、则可以使用 JTAG 接口下载您的应用。 这是最简单的方法。 如果您没有目标器件的 JTAG 接口、则需要引导加载程序、无论是 ROM 基础引导加载程序还是基于闪存的引导加载程序。  

    [引用 userid="488655" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1194674/sw-tm4c-question-about-boot-loader-user-guide/4504423 #4504423"]

    关于 USB DFU
    这是否意味着可以从 USB 更新应用程序和引导加载程序?

    我有一个问题是关于这个故事。

    是否需要 JTAG 将程序加载到 TM4C129ENCZAD 中?

    [/报价]

    如前所述、如果您有一个连接到目标器件的 JTAG 连接器(这可以是任何器件、而不仅仅是 TM4C129)、那么您只能使用 CCS 或 Uniflash 通过 JTAG 将代码编程到目标器件。  

    请注意、"如何"通过 JTAG 或 USB 将程序加载到器件中与正在加载的"什么"程序完全不同。 您可能已成功将程序加载到设备。 但这并不意味着该程序将在器件上运行。 可以将 XDS110固件加载到  TM4C129ENCZAD 中、这仅仅是加载器件。 这并不意味着 XDS110固件将在 TM4C129ENCZAD 上工作和运行。 这就是我们一直在说的。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、就我听到的情况而言
    如果我在没有 JTAG 的情况下加载程序、我需要从哪个接口加载 boot_loader.bin?
    使用 JTAG、您无需加载 boot_loader.bin。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     如果没有 JTAG、如果 USB 作为 DFU 器件进行枚举、则可以通过 USB 加载 boot_loader.bin。 请参考我在其他帖子中的回答、其中我说 、由于存在基于 ROM 的引导加载程序、新开发的器件将枚举为 Stellaris 器件更新升级器件。 请再次参考我在先前的答复中所说的话。 您可以通过 USB 端口或 JTAG 成功地将 boot_loader.bin 加载到闪存中。 但这并不意味着 boot_loader.bin 将在我们的目标器件上工作。 如果 boot_loader.bin 是 XDS110的引导加载程序、那么您已经多次证明它在 TM4C129ENCZAD 器件上不起作用。   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、谢谢!