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.

[参考译文] MSP430G2553:尝试使用 msp430gcc us 和 msp430Flasher 生成的文件对 MSP430G2 Launchpad 进行编程

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/789386/msp430g2553-trying-to-program-the-msp430g2-launchpad-with-a-file-produced-by-msp430gcc-us-with-msp430flasher

器件型号:MSP430G2553

您好!

我正在尝试将 Msp430G2 Launchpad 与命令行配合使用。 我要使用的工具是用于编译的 MSP430 GCC 编译器和用于闪存的 MSP4430Flasher。 gcc 编译器的输出是.out-file。 但我需要一个 TI-txt 文件或一个 hex 文件。

如何获取此类文件之一? 我在文档中找不到任何内容。

提前感谢。 此致、

Guenther

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

    您好、Guenther、

    请参阅此 E2E 主题

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

    感谢您的快速回复。

    我尝试使用 Code Composer Studio 9编译文件(blink.c)。 在“项目属性”中,我启用了 GNU objcopy 实用程序。 因此、我有一个.hex 文件作为输出。

    然后、我使用 PowerShell 打开 Debug_GNU 文件夹并输入:

    msp430flaser -n msp430g2xx3 -w blink.hex 

    壳牌说:

    退出:59
    错误:无法确定文件类型 

    我还记得我已经使用 TI 编译器生成的十六进制文件测试了 msp430Flasher、但也失败了。 然后、我构建一个有效的 TI-txt 文件。

    我将再次进行测试。 但关于 SLAU654E 第4页、msp430Flasher 应同时接受 TI-txt 和十六进制(Intel-hex)。 可能生成的十六进制不是 int-hex?

    此致、

    Guenther

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

    由于我的 CCS 安装在更改现有工程中的编译器时存在问题、我创建了两个新的编译器、一个是 TI 编译器、另一个是 GCC 编译器。 两个项目都包含来自 MSP430 gcc 示例文件夹的 blink.c 文件。

    在使用 TI 编译器的项目中、我激活了 MSP430 Hex 实用程序并在输出选项中选择"输出 Intel hex 格式"。 成功的建筑完成后、我尝试用 MSP430Flasher 刷写它、并且它正常工作。 按下复位按钮后、LED 开始闪烁。 它还适用于 Intel hex 文件、不仅适用于 TI-txt 文件!

    然后、我使用 GCC 编译器测试了项目、只有一种类型的十六进制文件可供选择。 我在这里得到了与上述相同的按摩:"无法确定文件类型"。

    MSP430Flasher 能否仅处理 TI 编译器创建的十六进制文件?

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

    十六进制文件格式非常标准。  如果您在文本编辑器中查看这两个十六进制文件、它们是否看起来是相同的格式?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好主意、这里是 TI 编译器生成的 hex 文件的内容:

    20C000002183B240805A2001D2D32200D2E32100B1401027000091830081930000F62785
    20C02000FA3F31400004B01244C00C43B01200C01C43B0123EC032D01000FD3F03430343C2
    :08C04000FF3F03431C433041A4
    :02FFDE00FFFF23
    :02FFE00036C029
    :02FFE40036C025
    :02FFE60036C023
    :02FFEA0036C01F
    :02FFEC0036C01D
    :02FFEE0036C01B
    :02FFF00036C019
    :02FFF20036C017
    :02FFF40036C015
    :02FFF60036C013
    :02FFF80036C011
    :02FFFA0036C00F
    :02FFFC0036C00D
    :02FFFE0022C01F
    :00000001FF

    (笑声) GCC 生成的文件内容要大得多(11、7 KB)、我不会发布所有内容:

    ELFÿ μ A I à¨4 μ A、 4 ( L¿L¿D D â F
    (笑声)
    Ã μ A
    (笑声)
    ÓE (ÔE ^ÖE L×E ØE ü ÙE ¾†E à‡E e
    (笑声)
    TA1CCTL1 TA1CCTL2 UCB0CTL0 P2IES ADC10SA UCB0BR0 ADC10MEM P2IN TA0CCR1 P3SEL TA0CTL W:\PMI\board_TEST\BLINK _GCC\Debug
    (笑声)

    我想我必须再次查看 GCC 编译器选项。

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

    我对 GCC 一无所知、但我想知道您是否正在将该过程结束-链接等 -生成实际的 hex 文件。  在任何情况下、第二个文件显然不是十六进制文件、Flasher 不知道如何处理它。

    TI 编译器如何填充所有未使用的中断矢量并将其指向我认为是从中断指令返回的内容、这很有趣。  另外有趣的是、它将该字保留在0xFFDEas 0xFFFF 处、这样、如果发送了不正确的 BSL 密码、就有可能会使芯片起作用。  一个空字可以防止这种情况发生。  嗯、可能闪烁代码正在执行该操作。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Guenther、
    我们还能为您做些什么吗? 请问您一侧的编程选项有何用途? CCS IDE 是免费提供的、因此我们想了解您为什么要花这么多时间在不舒服且复杂的编程方法上。

    此致
    Peter
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Peter、
    我只想使用命令行对 MSP430进行编程。
    可以、可以选择使用 CCS IDE、但在 MSP430G2 Launchpad 和 Code Composer Studio 的内部终端之间建立连接时遇到问题。

    最棒的地方
    Guenther
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Guenther、
    当谈到终端时、您是指终端进行 UART/RS232通信、还是指从终端连接到 LP 的意图?

    此致
    Peter
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    以下是 blink.c 的源代码: 

    int main (void){
    WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
    P1DIR |= 0x01;//将 P1.0设置为
    
    (;){
    volatile unsigned int I;// volatile to prevent optimization
    
    P1OUT ^= 0x01;//使用 exit-or
    
    I = 10000来切换 P1.0;// SW delay
    DO I -;
    while (i!= 0);
    }
    
    返回0;
    } 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Guenther、
    我假设这与 George 在中断矢量等上的帖子有关 但是、他提到的要点与 C 代码无关、而是 blink.c 的项目选项

    此致
    Peter
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Guenther、
    我认为您的问题已得到充分回答。 因此、我将关闭该线程。

    此致
    Peter
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Hallo Peter、
    我的问题是如何获得 MSP430 GCC 编译器中可与 MSP430Flasher 搭配使用的文件、但实际上没有得到解答。 我必须使用 code composer studio。
    您可以关闭该线程。

    此致、
    Guenther
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Guenther、
    很抱歉。 通常、我建议您使用主要的工具流和程序来进行调试和编程。 在这里、您可以假设操作更简单、步骤经过全面测试。 使用非常见选项时、遇到问题的风险越高。 调试 CCS 标准配置和编译器以及使用 MSP430-FET 是最佳方法;对于生产编程、e、g 是 TI 提供的生产编程器 、即 Gang 编程器 www.ti.com/.../MSP-GANG

    此致
    Peter