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.

[参考译文] RTOS/TM4C1294NCPDT:首次对定制板进行编程(tm4c1294ncpdt)

Guru**** 2478765 points
Other Parts Discussed in Thread: MAX3232

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/688842/rtos-tm4c1294ncpdt-programming-custom-board-for-first-time-tm4c1294ncpdt

器件型号:TM4C1294NCPDT
主题中讨论的其他器件:MAX3232

工具/软件:TI-RTOS

尊敬的先生,

                 请按相同主题引用先前的相关主题。

         我尝试使用第三种方法加载引导、但它不起作用。 在中,调试器控制转到 ROM_UpdateUART(),但之后无法跟踪。 我认为我无法访问 ROM 函数。 我在 zip 文件中附加了代码、LM 闪存编程器配置和错误捕捉。

e2e.ti.com/.../8130.bootloader.zip

此致、

Digvijay。

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

    您好!
    您在此处创建新主题帖而不在原始主题帖中继续讨论、有什么原因吗? 第三种方法是什么? 我没有参与您的原始主题。 我相信您可能已经尝试了一些建议、并取得了一定程度的成功。 请在此处明确陈述您的问题。 我无法浏览您原来的主题、其中包含50个答案。

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

    尊敬的先生,

        我正在尝试引导加载基于 RTOS 的应用程序。  我在正常嵌入式应用中成功使用了基于闪存的引导加载程序。 现在、我尝试将基于 ROM 的引导加载程序与 RTOS 应用程序结合使用。  但无法引导加载。  我正在尝试调用 ROM_updateUART 函数、但它不起作用。  我之所以创建此主题、是因为我错误地单击了"已解决问题"按钮、并且还想在 RTOS 论坛中发布主题。 我已附加代码和必要的卡扣以开机自检。

    此外、我无法使用基于 UART 和 ROM 的引导加载程序对 vergin 控制器进行编程。 我根本不想使用 JTAG。

    此致、

    Digvijay

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

    之前没有在其他线程中询问过如何确保 UART0确实已连接、并在所使用的任何操作系统中充当虚拟 COM。

    您不仅仅假定所有用户都知道自己在 hind sight 中使用的是功能型 UART0吗? 但是、当您没有提供任何此类结果的证据、甚至评论认为已经验证时、您希望大家都知道您的配置确实可以正常工作。

    这种行为对我来说似乎只是在这方面有点令人感到很不快!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的先生,

        我一再提到、我能够使用基于闪存的引导加载程序和 UART0模块对控制器进行编程。 因此、UART0模块肯定工作正常。 我还通过使用终端执行发送接收操作进行了确认。

            问题出在基于 ROM 的引导加载程序。 我认为在 RTOS 应用程序上调用基于 ROM 的引导加载程序时缺少一些内容。

    [引用 user="BP101"]配置[/quot]

    配置意味着什么?

    我已经提到过、我正在使用用于与 MAX3232进行正常 UART 通信的电路。 我已连接 LM 闪存编程器的快照。 L 已附加基于 RTOS 的代码。

    那么还有什么呢? 请告诉我,我将分享这些信息。

    此致、

    Digvijay

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

    您好!
    也许我不清楚您的问题历史、因为我没有讨论您的不同话题。 您在使用 ROM 基本引导加载程序时遇到问题吗? 您是否在任何 TivaWare 应用程序中试用过基于 ROM 的引导加载程序? 我刚刚尝试使用基于 ROM 的引导加载程序加载 TI TI-RTOS gpiointerrupt 示例项目、它适用于我。 请确保在运行基于 ROM 的引导加载程序之前、闪存已完全擦除。 我在 Windows 7计算机上测试它。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的先生,
    我还在 Windows 7上工作。 我已将代码附加到该帖子。 我不擦除整个闪存,而是尝试通过向应用程序添加一些智能(此处是 GPIO 中断)来调用 ROM_UpdateUART()函数。 但它不起作用。
    您能浏览我随附的代码吗? 我知道我确实错过了一些步骤。 但我无法找到它。 您能否分享 LM 闪存编程器配置等的步骤 这会很有帮助。

    此致、
    Digvijay
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    另一个问题是如何使用 LM 闪存编程器和 UART 模块擦除整个闪存。 我不想使用 JTAG。

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

    [引用 user="Digvijay khambe">我正在尝试通过向应用程序添加一些智能(此处为 GPIO 中断)来调用 ROM_UpdateUART()函数。 但它不起作用。 [/报价]

     请回答我的一些问题:

     1.您是否有基于闪存的 UART 引导加载程序? 引导加载程序代码将位于0x0?

     2.如果您不使用基于闪存的引导加载程序、那么您的应用程序(您的 GPIO 中断项目)将从0x0开始、对吧?

     3.如果您使用基于 ROM 的引导加载程序、那么您是否擦除了闪存? 您可以使用 CCS 或 LM 闪存编程器中的来擦除。 在 LM 闪存编程器中、转至闪存实用程序选项卡并针对整个闪存单击"擦除"按钮。

     4、如果闪存被完全擦除、那么如果你转到"Program"选项卡并点击"Program"按钮、它是否将程序映像(你的 GPIO 中断项目)载入到 MCU?  

     调用 ROM_UpdateUART 时、您是否会在 RX/TX 引脚上看到 LM 闪存编程器的 UART 活动。  

     我建议您查看中的 boot_demo_uart 示例 /examples/boards/dk_tm4c129x/boot_demo_uart. 此示例调用 ROM_UpdateUART 以更新固件。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、请参阅我在您的另一个线程上提供的示例:
    e2e.ti.com/.../685050
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Digvijay khambe">我已经提到我使用的电路用于与 MAX3232进行正常 UART 通信。 我已连接 LM 闪存编程器的快照。 L 已附加基于 RTOS 的代码。 [/报价]

    如果 UART0回路回波成功与否、您从未确认过我之前的问题其他帖子。  您的复制/粘贴图像 打开帖子 显示 LM 闪存无法对闪存0x0000.4000进行编程。 如果 LM-Flash 正在打开 POST、为什么 串行引导加载程序不起作用、然后您转移到 使用 ROMBL。 也许您不知道有两种不同的引导加载程序、不要感到每 个人 第一次跌倒是不好的。  

    也许 人们不应将粘贴的图像压缩为附件、 并期望帮助 者打开以更新您在文本中建议的内容。 花点时间将 复制/粘贴图像正确插入帖子、所有发生的情况都将清晰可见。  尤其是 因为您最终在    同一发布主题中从串行引导加载程序跳转到 ROM 引导加载程序。

    这是第一 个需要注意的问题、LM-Flash 确实可以通过 UART0 定制 PCB 写入闪存。  那么 、Bob 建议的选项3 ROM-BL 跳过检查 BOOTCFG 地址0x4 是否为0xFFFF.FFFF 在  所有情况下可能并不完全正确? 当闪存存储 器在地址0x4处为0x0时、至少 Charles 有成功的更新。 我始终从数据表文本中了解到、闪存必须为空白才能清零 BOOTCFG 寄存器中的 EN 位。 必须想知道 ROM 引导加载 程序更新固件是否有不同的嵌入式版本、或者 BOOTCFG 如何 在 POR 后清除 EN 位、以指示 应在选项3中调用或不调用该位。     通过解锁 BOOTCFG 可将 寄存器写入 EN 位域、从而将 RO EN 位清零。  

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

    尊敬的先生,

                       最终 解决了这个问题。 现在、我能够使用 ROM_updateUART 函数以及  闪存为空时启动加载、这是第一种和第三种方法。  在 RTOS 应用程序中使用配置 UART

    UARTConfigSetExpClk()函数出现问题。 当我通过创建任务并使用 UART_Params_init()、UART_open()函数配置 UART 时,它开始工作。

                      无论如何、感谢您的所有帮助。 没有它是不可能的。 我们始终对此表示赞赏。 如果有人需要、我会随附该代码。

    e2e.ti.com/.../gpiointerrupt_5F00_EK_5F00_TM4C1294XL_5F00_TI_5F00_TivaTM4C1294NCPDT.zip

    此致、

    Digvijay