-3

我将 arm-none-eabi-gcc 用于 ARM 控制器(STM32)。问题:源代码更改后,例如 ++var; 代码不运行。如果我对同一个文件“var2 = var1;”进行更多修改 然后代码功能正确。

可执行代码只是转移到闪存中。堆栈,链接器,启动的东西?!

非常感谢。

两个 MAP 文件都在这里:

地图确定

地图不好

4

1 回答 1

0

发现问题。如果在没有优化的情况下编译,该软件可以正常工作。随着速度优化“-Os” - 它不起作用。

解决方案是将一个变量声明为“易失性”。但是为什么编译器有时会优化它而有时不会 - 我不知道。

于 2013-10-15T12:45:06.913 回答