Проверка Arduino Due с помощью arm-none-eabi-g++

Меня интересует, какие команды / команды запускаются за кулисами, когда я запускаю

arduino -verify /path/to/file.ino

Я спрашиваю об этом, потому что я работаю с платой Arduino Due, и, хотя я могу заставить вышеуказанную команду работать и успешно проверить свой код, она на короткое время открывает графический интерфейс Arduino, и это несколько раздражает мою систему Continuos Integration, поскольку машина OS X бегать без головы. Трудно обойти эту проблему с помощью системы CI, поэтому я просто пытаюсь выяснить, какие команды выполняются за кулисами. Таким образом, я могу просто проверить свою программу, используя g++ или аналогичный, без запроса окна.

До сих пор я выяснил, что команда проверки arduino использует arm-none-eabi-g++, поскольку это компилятор для плат SAM, таких как Arduino Due. Я также добавил всю эту кучу аргументов:

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

что я нашел здесь.

Но я получаю ошибки для некоторых переменных и функций низкого уровня, которые я использую, например:

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

Так что я думаю, что еще есть что включить, я просто понятия не имею, что. Какие команды или команды выполняются за кулисами, когда arduino проверяет код?

Я очень ценю вашу помощь.

Ура, Ракель

1 ответ

Решение

Если вы войдете в File->Preferences в Arduino IDE, вы можете включить подробный вывод во время компиляции.

Это покажет вам точно, что происходит в окне журнала.

Другие вопросы по тегам