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.

[参考译文] TM4C123GH6PZ:使用 uniflash 和命令行进行编程

Guru**** 2445440 points
Other Parts Discussed in Thread: UNIFLASH, TM4C123GH6PZ, SEGGER

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/632565/tm4c123gh6pz-programming-using-uniflash-and-the-command-line

器件型号:TM4C123GH6PZ
主题中讨论的其他部件:UNIFLASHSEGGER

大家好、我在论坛上玩了很长时间、但从未找到我想要的答案。

我正在尝试 使用命令行中的 XDS100v2对 TM4C123GH6PZ 芯片进行编程。 我发现了 Uniflash、这似乎可以正常工作、但只能在 GUI 中工作。 当我"生成独立命令行包"时、这不起作用。 它会生成相当大的代码位、但.sh 文件中的关键行是:

"$scriptDir"/ccs_base/DebugServer/bin/DSLite $mode -c user_files/configs/tm4c123gh6pz.ccxml -l user_files/settings/generated.ufsettings -e -f -v user_files/images/blinky.bin、未定义

它返回错误"FAILED:Cannot convert "undefined" to address"(失败:无法将"未定义"转换为地址)。 我不知道为什么"、未定义"在行的末尾结束。 当我删除"、未定义"时、我会进一步得到一个步骤、但会得到另一个错误。

"失败:加载文件时遇到问题:USER_FILES/IMES/blinky.bin 无法确定文件的目标类型"

如果您能提供任何建议、我们将不胜感激。

最好

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    命令行工具看起来不像"bin"格式。 请重试、但选择"Blinky.out"。 它应该位于同一个"调试"目录中。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Bob、

    感谢你的答复。 您是否知道从命令行刷写.bin 文件的任何方法? 我正在使用 arm-gcc 从命令行编译、但没有.out 文件。 我们正在尝试将 CCS 迁移到面向命令行、与平台无关的开发工具链。

    最棒的

    Alex

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

    您可以尝试 Segger 的 J-Link。 我以这种方式使用了它。

    Robert
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将此主题推送到 Code Composer 组。 他们可能会帮助您了解为何不加载.bin 文件。

    当我使用 GCC v6.3.1时、我会得到.out 文件和.bin 文件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    如果使用 ARM-gcc、编译结果为.elf (或.AXF)文件、请查找此类文件。 若要获取.bin 文件、您需要编译后阶段;您可以使用以下命令获取该文件:

    arm-none-eabi-objcopy -o 二进制${ProjName}.elf ${ProjName}。 二进制文件

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

    好朋友 Petrei -我可以(和海报)******  (你错过了...)

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

    您好!

    我确实得到了一个.AXF 文件! 我完全理解实现该功能的过程。 但是、我从某人那里借用的 makefile 文件随后会从.AXF 创建.bin 文件、如上所述。 不过、我需要创建.out 文件而不是.bin 文件。 objcopy 是否可用于此操作?

    谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    .out 文件和.AXF 文件都应该是 ELF 文件。 尝试将该文件与 UniFlash 命令行工具结合使用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    @CB1:谢谢...

    @Alex:如果 未指定扩展名/名称、.out 格式只是默认格式。 因此、只需将.AXF 重命名为.out 即可。

    若要查看支持的所有可能文件格式:

    arm-none-eabi-objdump - i

    从 gcc 手册:

    -o 文件

    将输出放在文件中。 这适用于正在生成的任何类型的输出、无论是可执行文件、目标文件、汇编器文件还是预处理的 C 代码。

    如果未指定-o、则默认情况下将可执行文件放入 a.out 中、将 source.suffix 的目标文件放入 source.o 中、将其汇编器文件放入 source.s 中、将预编译头文件放入 source.suffix.gch 中、并将所有预处理的 C 源放在标准输出上。