主题中讨论的其他器件: TM4C123、 DK-TM4C123G、 EK-TM4C123GXL
您好,
我们正在其中一个项目中使用 TM4C123GH6PM、我们想知道我们是否可以使用 UART 命令将二进制文件闪存到 TM4C 中。
如果可能、请告知我们执行相同操作的命令和过程。
谢谢、
Deepanraj
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.
您好,
我们正在其中一个项目中使用 TM4C123GH6PM、我们想知道我们是否可以使用 UART 命令将二进制文件闪存到 TM4C 中。
如果可能、请告知我们执行相同操作的命令和过程。
谢谢、
Deepanraj
[引用 user="Deepanraj Anbarasan"]请告诉我们如何对二进制文件进行编程
是否要为 PC 编写自己的程序、或使用现有程序? 您可以使用 LMFlashProgrammer 通过串行引导加载程序将二进制文件加载到器件中。 如果您想编写自己的代码、TivaWare 中有一个示例代码、位于 C:\ti\TivaWare_C_Series-2.1.4.178\tools\sflash
[引用 user="Deepanraj Anbarasan"]此外,我们如何使器件从闪存中检索数据并对其他器件进行编程。
您可以使用引导加载程序上载器件的闪存内容、但该器件必须运行引导加载程序。 除非器件中的应用程序代码能够调用引导加载程序、否则它将运行应用程序、而不是引导加载程序。 在这种情况下、您需要使用电路内仿真器(JTAG 或 SWD)来读取器件的内容。 另外请注意、器件可能禁用调试端口、或将闪存的一部分配置为"仅执行"。 在这种情况下、您无法读取闪存的内容。
也许如果你告诉我你正试图做什么,我可以给你更好的建议。
尊敬的 Bob:
我们希望通过 PC (Linux)对 TM4C 进行编程。 是否可以从基于 Linux 的机器对 TM4C 进行编程。
实际上、我们无法找到起始地址和大小。 从何处获取应用程序的起始地址和大小。
可为应用程序提供的最大大小是多少。是否存在任何限制?
请告诉我们、在您建议的应用中、C:\ti\TivaWare_C_Series-2.1.4.178\examples\boards\dk-tm4c123g\boot_demo1。 引导加载程序是否存在?
我们如何刷写引导加载程序和应用程序。
下面是我们遵循的过程:
将 boot_serial 刷写到器件中、使用 LM 闪存编程器、我们尝试刷写二进制文件、但波特率同步会出错。
谢谢、
Deepanraj
[引用 user="Deepanraj Anbarasan">我们希望通过我们的 PC (Linux)对 TM4C 进行编程。 是否可以从基于 Linux 的计算机对 TM4C 进行编程。
如果您使用的是 JTAG 扫描控制 器、则可以在 Linux 计算机上使用 UniFlash。 如果您计划使用串行引导加载程序、则需要创建您自己的应用程序。 C :\ti\TivaWare_C_Series-2.1.4.178\tools\sflash 中提供了示例源代码
[引用 user="Deepanraj Anbarasan">实际上,我们无法找到起始地址和大小。 从何处获取应用程序的起始地址和大小。
这取决于您的应用。 通常应用从地址0开始、但如果使用闪存引导加载程序、则应用程序启动可能会偏移。 示例串行引导加载程序将应用程序偏移到地址0x2800。 您应该在 Code Composer 生成的.map 文件中看到应用程序的起始地址和大小。
[引用 user="Deepanraj Anbarasan">请在您建议的应用中告知我们 C:\ti\TivaWare_C_Series-2.1.4.178\examples\boards\dk-tm4c123g\boot_demo1。 引导加载程序是否存在?[/quot]
否、引导加载程序位于 boot_serial 中。 boot_demo1和 boot_demo2是偏移量从地址0x2800开始的应用程序、因此它们可以由引导加载程序进行编程、而不会覆盖引导加载程序。
[引用 user="Deepanraj Anbarasan"]将 boot_serial 刷写到器件中,使用 LM 闪存编程器,我们尝试刷写二进制文件,但波特率同步出错
编程 boot_serial.out 后复位器件。 然后、使用设置为115200波特的 LM 闪存编程器使用0x2800的起始地址对 boot_demo1.bin 进行编程。
好的、让我们验证串行连接是否正常工作。 您是否在设备管理器中看到了 Stellaris 虚拟 COM 端口? 它应如下所示:
然后从以下位置将"hello"项目导入您的工作区:
C:\ti\TivaWare_C_Series-2.1.4.178\examples\boards\ek-tm4c123gxl\hello
构建并加载"hello"。 使用器件管理器中标识的 COM 端口在 Code Composer 中配置"终端"、并将波特率设置为115200。
让程序运行。 您应该会看到"Hello、world!" 打印在终端窗口中。
您是否能够成功执行这些步骤?
好的、 您有 EK-TM4C123GXL Launchpad 吗? 我附加了一个包含三个项目的.zip 文件。 第一个只是串行引导加载程序"boot_serial"。 接下来的两个项目是简单的 LED 闪烁项目、这些项目偏移到地址0x2800、并且可以演示串行引导加载程序。 首先、使用 Code Composer Studio 将 boot_serial.out 编程到 TM4C123器件中。 接下来、使用 LM Flash Programmer 通过 115200波特的串行端口对"EK-BOOTDemoBlueBlinky.bin"或"EK-BOOTDemoRedBlinky.bin"进行编程。 您应该会看到 LED 闪烁。 按住 SW1直到 LED 停止闪烁。 您现在回到了引导加载程序中、可以为另一种颜色对例程进行编程。 这将演示如何在 PC 上使用串行引导加载程序。
/cfs-file/__key/communityserver-discussions-components-files/908/EK_2D00_SerialBootDemo.zip