使用 arm-none-eabi-g++ 验证 Arduino Due

Verifying Arduino Due with arm-none-eabi-g++

我很感兴趣 command/s 在我 运行

的幕后 运行
arduino -verify /path/to/file.ino

我问这个是因为我正在使用 Arduino Due 板,虽然我可以使上面的命令工作并成功验证我的代码,但它会短暂打开 Arduino GUI,这有点烦扰我的 Continuos Integration 系统因为 OS X 机器 运行ning 它是无头的。从 CI 系统解决这个问题很痛苦,所以我只是想弄清楚 command/s 在幕后 运行 是什么。这样我就可以使用 g++ 或类似的方式验证我的程序,没有 windows 提示。

到目前为止,我已经弄清楚 arduino 验证命令使用 arm-none-eabi-g++,因为这是 SAM 板(如 Arduino)的编译器到期的。我还添加了所有这些参数:

arm-none-eabi-g++ -c -g -Os -w -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -Dprintf=iprintf -mcpu=cortex-m3 -DF_CPU=84000000L -DARDUINO=151 -D__SAM3X8E__ -mthumb -DUSB_PID=0x003e -DUSB_VID=0x2341 -DUSBCON -I/some/includes mainProjectFile.cpp

我发现 here

但是我在使用一些低级变量和函数时遇到错误,例如:

error: 'digitalWriteDirect' was not declared in this scope
     digitalWriteDirect(indpins[iInd], 0);

所以我想还有一些东西要包括在内,我只是不知道是什么。当 arduino 验证代码时,运行 在幕后执行了哪些命令?

非常感谢你的帮助。

干杯, 拉奎尔

如果您在 Arduino IDE 中进入文件-> 首选项,您可以在编译期间打开详细输出。

这将向您准确显示日志中发生的事情 window。