Проверка 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, вы можете включить подробный вывод во время компиляции.
Это покажет вам точно, что происходит в окне журнала.