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.
您好!
我正在尝试将 Msp430G2 Launchpad 与命令行配合使用。 我要使用的工具是用于编译的 MSP430 GCC 编译器和用于闪存的 MSP4430Flasher。 gcc 编译器的输出是.out-file。 但我需要一个 TI-txt 文件或一个 hex 文件。
如何获取此类文件之一? 我在文档中找不到任何内容。
提前感谢。 此致、
Guenther
感谢您的快速回复。
我尝试使用 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
十六进制文件格式非常标准。 如果您在文本编辑器中查看这两个十六进制文件、它们是否看起来是相同的格式?
我对 GCC 一无所知、但我想知道您是否正在将该过程结束-链接等 -生成实际的 hex 文件。 在任何情况下、第二个文件显然不是十六进制文件、Flasher 不知道如何处理它。
TI 编译器如何填充所有未使用的中断矢量并将其指向我认为是从中断指令返回的内容、这很有趣。 另外有趣的是、它将该字保留在0xFFDEas 0xFFFF 处、这样、如果发送了不正确的 BSL 密码、就有可能会使芯片起作用。 一个空字可以防止这种情况发生。 嗯、可能闪烁代码正在执行该操作。
以下是 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; }