主题中讨论的其他器件:MAX3232
工具/软件:TI-RTOS
尊敬的先生,
请按相同主题引用先前的相关主题。
我尝试使用第三种方法加载引导、但它不起作用。 在中,调试器控制转到 ROM_UpdateUART(),但之后无法跟踪。 我认为我无法访问 ROM 函数。 我在 zip 文件中附加了代码、LM 闪存编程器配置和错误捕捉。
e2e.ti.com/.../8130.bootloader.zip
此致、
Digvijay。
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.
工具/软件:TI-RTOS
尊敬的先生,
请按相同主题引用先前的相关主题。
我尝试使用第三种方法加载引导、但它不起作用。 在中,调试器控制转到 ROM_UpdateUART(),但之后无法跟踪。 我认为我无法访问 ROM 函数。 我在 zip 文件中附加了代码、LM 闪存编程器配置和错误捕捉。
e2e.ti.com/.../8130.bootloader.zip
此致、
Digvijay。
尊敬的先生,
我正在尝试引导加载基于 RTOS 的应用程序。 我在正常嵌入式应用中成功使用了基于闪存的引导加载程序。 现在、我尝试将基于 ROM 的引导加载程序与 RTOS 应用程序结合使用。 但无法引导加载。 我正在尝试调用 ROM_updateUART 函数、但它不起作用。 我之所以创建此主题、是因为我错误地单击了"已解决问题"按钮、并且还想在 RTOS 论坛中发布主题。 我已附加代码和必要的卡扣以开机自检。
此外、我无法使用基于 UART 和 ROM 的引导加载程序对 vergin 控制器进行编程。 我根本不想使用 JTAG。
此致、
Digvijay
尊敬的先生,
我一再提到、我能够使用基于闪存的引导加载程序和 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计算机上测试它。
[引用 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 以更新固件。
[引用 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