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.

[参考译文] CCS/TM4C1294NCPDT:使用以太网引导加载程序加载程序

Guru**** 2454530 points
Other Parts Discussed in Thread: EK-TM4C1294XL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/635730/ccs-tm4c1294ncpdt-loading-a-program-using-ethernet-bootloader

器件型号:TM4C1294NCPDT
Thread 中讨论的其他器件:EK-TM4C1294XL

工具/软件:Code Composer Studio

您好,

我想使用以太网引导加载程序而不是使用 USB 来对 Tiva C 板进行编程。请建议是否可以加载程序,如果可以,请提供正确的文档。

谢谢,

Pavan

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

    这当然是可能的! 有关以太网引导加载程序的详细信息、请参阅我们的引导加载程序用户指南: www.ti.com/.../spmu301d.pdf

    工具方面、您可能会发现 LM 闪存编程器工具非常有用、如手动配置中所示、您可以将接口设置为以太网、然后使用它连接到 TM4C 以刷写固件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Ralph。我想这将解决这个问题

    谢谢、
    Pavan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好 Ralph。。。
    您在上述帖子中共享的文档并未深入探讨以太网引导加载。
    我尝试了各种论坛上的各种示例...但它没有帮助!!
    LM 闪存编程器有时会尝试连接、但未连接、有时也会给出错误
    BOOTP 服务器未启动。
    我还尝试了 DK 电路板示例、但它也不起作用。
    我尝试根据自己的选择编辑 enet_lwip 项目,在这里我创建了一个回调函数,当从 LM Programmar 接收到魔术包时将调用该函数,该函数将设置全局位,这将调用 SystemUpdateBegin();

    如果您能通过提供适当的文档、应用手册或编码示例来帮助我摆脱这种情况,我将不胜感激。

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

    大家好、Pavan、

    我提供的文档适用于 ROM 引导加载程序、该加载程序按所述运行。 TivaWare 中还有一个基于闪存的以太网引导加载程序的代码示例、位于:[install Path]\TivaWare_C_Series-2.1.4.178\examples\boards\ek-tm4c1294xl\boot_EMAC_FLASH

    如果您想使用您可以修改的代码、我会使用此代码开始、但我不会以 enet_lwip 开头、因为 boot_emac_flash 中已经包含引导加载程序方面的内容。

    在 boot_demo_emac_flash.c 文件中、有一个演示工作原理的说明、希望这能够足够好地为您提供指导。

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

    您好 Ralph,

    请查找包含我创建的项目.zip 的附件。如果您能为我建议特定文件中的特定更改、我将不胜感激。

    在我上传的项目中,SoftwareUpdateInit()的 callback (SoftwareUpdateRequestCallback)  将设置全局变量  g_bfFramewareUpdate 。此全局变量将在 (!g_bfFramewareUpdate)时中断循环; 调用函数  softwareUpdateInit(SoftwareUpdateRequesteUpdateUpdate.SoftwareUpdate) ,但全局变量不是   对全局变量进行调用。   根据我的想法,当收到魔术包时,回调函数将被调用,但它不是这样发生的。

    1)我正在加载引导加载程序 boot_emac_flash。

    2)在 LM Flash 程序员的帮助下,我正在加载程序偏移量为0x00004000的 enet_lwip.bin 程序和“擦除必要的页”。

    3)然后在配置选项卡中,选择手动配置->以太网-> IP 和-> MAC 地址  

    4)在程序选项卡中,选择要使用以太网加载的文件。

    5)点击 Program

    但我在这之后得到的结果是  LM Flash 程序员无限地尝试"连接"。   我不知道这种情况是什么,因为使用 UART 引导加载程序上载的代码相同。请建议我采用正确的方法来解决这种情况。

     

    谢谢、此致、

    Pavan  

     

     e2e.ti.com/.../enet_5F00_lwip.rar

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

    大家好、Pavan、

    我不确定您尝试对 enet_lwip 项目执行什么操作、尽管我现在知道我的指令不够清晰。 在您自己尝试任何自定义项目或修改之前、您应该利用我们已经设置的示例组合。

    这有两个项目。

    一个是 BOOT_EMAC_FLASH

    另一个是 BOOT_DEMO_EMAC_FLASH

    我以前没有正确地指出这一点、抱歉。

    在 BOOT_DEMO_EMAC_FLASH 中、给出了以下指令:

    //! 一个示例、演示了如何使用//
    ! 基于闪存的以太网引导加载程序。 此应用程序配置以太网
    //! 控制器并获取显示在屏幕
    上的 IP 地址//! 以及电路板的 MAC 地址。 它``m侦听"层数据包"//
    ! 告诉 IT 部门正在提出固件升级请求、以及在这个
    //! 接收到数据包、将控制权转移到引导加载程序以执行
    //! 升级。
    //!
    //! 此应用旨在与基于闪存的以太网引导
    //! 加载程序(BOOT_EMAC)。
    //!
    //! 此应用程序的链接地址设置为0x4000、链接地址
    //! 必须是闪存擦除块大小的倍数(16KB=0x4000)。
    //! 您可以将此地址更改为比最后
    一个地址高16KB 的边界//! 引导加载程序二进制文件占用的地址、只要您还重建
    //! 修改 bl_config.h 文件以设置
    //! 将 APP_START_ADDRESS 设置为相同的值。
    //!
    //! BOOT_DEMO_FLASH 应用程序可与此应用程序一同用于
    //! 轻松演示引导加载程序实际上正在更新片上
    //! 闪存。 

    这里的关键是:"此应用旨在与基于闪存的以太网引导加载程序(BOOT_EMAC)配合使用"

    实际上应该读取"boot_emac_flash"、但无论如何、重点是您需要 boot_emac_flash 项目才能与演示项目配合使用。

    boot_demo_emac_flash 项目是一个实际的以太网应用/演示、编译后将提供.bin 文件。

    boot_emac_flash 项目是引导加载程序项目本身。 这就是您加载到 TM4C 板上的内容、然后在加载该板时、您可以在 BOOT_DEMO_EMAC_FLASH 项目中引导加载。

     SW-EK-TM4C1294XL-UG-2.1.4.178.pdf 还提供了有关每个项目的基本概述信息。

    请尝试该项目组合、以验证您是否先运行引导加载程序、然后您可以尝试在之后使用自己的程序。