主题中讨论的其他器件:MSP-EXP430FR5994、
作为 TI MSP430/CCS 环境的新手、请原谅一个天真的问题!
简式:
我编写了一个在使用 TI C 编译器编译时能够正确执行的应用程序。 但是、当使用 GCC 编译时、它会失败、最后我假设在0x8000 (JMP 0x0000)处有一个异常。 因此、我有三个相关问题:
- GCC 编译器会导致 TI 编译器无法解决的问题、这是什么?
- 0x80000是特殊地址、还是它只是从存储器末尾运行(为什么?)
- 从何处了解有关异常处理(及其调试)的更多信息?
一些详细信息:
它似乎在延迟环路内发生故障、即(有效):
set_led_on(); while (get_counter() < desired) { asm("nop"); } set_led_off();
如果延迟很短、我就不会得到例外。 一旦发生异常、我会看到 LED 定期闪烁、调试器不再处于控制状态、这意味着处理器将持续复位。 我已禁用 WDT 并在进入循环之前验证 WDTHOLD 是否设置为1、因此这不是问题所在。
我在 CCS 10.3.1.00003中使用 GNU v9.3.1.11 (Mitto Systems Limited)编译器。 正如我提到过的、我在使用 TI v20.2.5LTS 时没有看到这个问题。