didattici:arduino
Arduino IDE
In realtà la compilazione si potrebbe fare anche dal terminale
Esistono appositi file make che aggiungono un metodo main al codice per renderlo accettabile dal compilatore
Fasi Compilazione
https://github.com/arduino/Arduino/wiki/Build-Process
- prima l'ambiente preprocessa il file .ino
- aggiunge un main per poi passarlo al compilatore avr-gcc
- poi produce un object file .o
- poi viene linkato con le librerie arduino (digitalWrite, ecc)
- produce un file .hex
dettagli:
- la cartella si chiama come il progetto principale, ad esempio
prova/prova.ino
- tutti gli altri file sorgente .cpp al suo interno vengono concatenati a partire da prova.ino e si concatena anche Arduino.h
- si aggiungono anche delle direttive #line
- la compilazione è fatta da avr-gcc e avr-g++ che si possono configurare nel file boards.txt platform.txt programmers.txt. per approfondire si veda https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-3rd-party-Hardware-specification
- i file temporanei sono generati in /tmp
- attivando verbose output nelle Preferenze di Arduino IDE si vede dove avviene il tutto
/usr/share/arduino/hardware/tools/avr/bin/avr-objcopy -O ihex -R .eeprom /tmp/build1160406297178898656.tmp/prova.cpp.elf /tmp/build1160406297178898656.tmp/prova.cpp.hex
- upload con avrdude
didattici/arduino.txt · Last modified: 2020/06/08 22:20 by 127.0.0.1