使用带有 avr-gcc 的 Atmel Studio 进行编译时出现随机段错误

Random segfaults when compiling with Atmel Studio with avr-gcc

我有一个在 Atmel Studio 中编译的包含 5 个项目的解决方案。当我这样做时,有时会出现随机段错误。如果我尝试重新编译几次,那么一切正常。段错误似乎不在某个特定的地方或项目中。有时只有一个项目出现段错误,有时是几个。

我目前正在使用 Atmel Studio 7.0.1417 和 avr-gcc (AVR_8_bit_GNU_Toolchain_3.6.0_1734) 5.4.0

我试过更新版本的 Atmel Studio: 7.0.1931 和 avr-gcc (AVR_8_bit_GNU_Toolchain_3.6.1_1750) 5.4.0,但还有更多的分段错误!

根据 Atmel Studio 的发行说明,应该有错误修复:

从这里开始: http://studio.download.atmel.com/7.0.1931/as-installer-7.0.1931-readme.pdf

我的解决方案在项目和一些与另一个解决方案共享的代码之间有链接。我认为我设置解决方案的方式一定有一些不寻常之处,否则人们会经常遇到分段错误,这将得到修复。

这是今年三月份的一个讨论,有没有人遇到过和我一样的问题: https://www.avrfreaks.net/forum/has-segmentation-faults-been-fixed

虽然没有解决办法。

有谁知道为什么会这样?除了我已经在做的旧编译器 运行 之外,还有其他解决方法吗?

这似乎是 avr-gcc 工具链中的错误。 Atmel Studio 的最新版本仍然是 7.0.1931,但他们发布了更新的工具链,AVR_8_bit_GNU_Toolchain_3.6.2_1759。你可以在这里找到它: https://www.microchip.com/mplab/avr-support/avr-and-arm-toolchains-c-compilers

然后只需替换您已安装的工具链即可。对于标准安装,这将是: C:\Program Files (x86)\Atmel\Studio.0\toolchain\avr8