【问题标题】:MSP430F5529 | MSPGCC Building/Compiling manually | Cannot execute Simple ProgramMSP430F5529 | MSPGCC 手动构建/编译 |无法执行简单程序
【发布时间】:2023-01-01 19:25:09
【问题描述】:

我刚刚开始使用 MSP430F5529。 我已经下载了 msp430-gcc 编译器并尝试编译以下短程序:

#include <msp430f5529.h>

int main(void)
{
    WDTCTL = WDTPW | WDTHOLD;

    P1DIR = BIT0;
    P1OUT = 0x00;
    P1REN = 0x00;
    while(1)
    {
        P1OUT = BIT0;
    };
    return 0;
}

我通过以下方式编译了它: C:\ProgrammingTools\ti\msp430-gcc\bin\msp430-elf-gcc.exe -Wall main.c -IC:\ProgrammingTools\ti\msp430-gcc\include\ -o MSP430.out

我已经用 MSPFlasher 1.3.20 将它刷到板上,它没有显示任何错误,但 LED 没有亮起。我还尝试使用 UniFlash 工具 (V8.1.1.41.46) 验证并刷新它。验证成功,但是闪烁的结果是一样的,LED没有做任何事情。有没有人有同样的问题?

【问题讨论】:

  • 如果在第一行设置断点,是否命中?
  • 不,似乎 main 没有被调用!同时我发现有专门针对 MSP430 GCC 工具链的用户指南。它有一个关于如何手动构建的简短描述。

标签: c compilation embedded msp430 mspgcc


【解决方案1】:

看来你必须链接正确的链接脚本.

正确的建造方式应该是:

C:ProgrammingTools	imsp430-gccinmsp430-elf-gcc.exe -I C:ProgrammingTools	imsp430-gccinclude -L C:ProgrammingTools	imsp430-gccinclude -mmcu=msp430f5529 -O2 -g main.c -o MSP430.out

它也被描述在MSP430 GCC 工具链用户指南在部分4.6.2 使用 gcc 手动构建.

【讨论】:

    最近更新 更多