User Tools

Site Tools


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:

  1. la cartella si chiama come il progetto principale, ad esempio
     prova/prova.ino 
  2. tutti gli altri file sorgente .cpp al suo interno vengono concatenati a partire da prova.ino e si concatena anche Arduino.h
  3. si aggiungono anche delle direttive #line
  4. 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
  5. i file temporanei sono generati in /tmp
  1. attivando verbose output nelle Preferenze di Arduino IDE si vede dove avviene il tutto
  2. /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 
  3. upload con avrdude
didattici/arduino.txt · Last modified: 2020/06/08 22:20 by 127.0.0.1