Desarrollo de AVR Amtel328P de Arduino en WSL
Referencia
Developing in C for the ATmega328P: Windows Setup Using WSL1
Para programar el AVR ATmega328P de Arduino en WSL (Ubuntu):
-
Primero se instalan los programas y librerías:
gcc-avr
: Compilador de la GNU para AVRbinutils-avr
: Herramientas de programación de la GNU para AVRgdb-avr
: Depurador de la GNU para AVRgdb-libc
: Bibliotecas deC
para el AVRavrdude
: Programador para utilizar con el bootloader del Arduino
sudo apt install gcc-avr binutils-avr gdb-avr avr-libc avrdude
- Para automatizar el proceso, se utiliza este
makefile
. -
En WSL2 es más conveniente usar el
avrdude.exe
del Arduino IDE.
Por ello es necesario realizar los cambios pertinentes en elmakefile
, el primero es añadir el archivo de configuración de Arduino aPROGRAMMER_ARGS
y especificar elCOM
al que está conectado.PROGRAMMER_TYPE = Arduino # extra arguments to avrdude: baud rate, chip type, -F flag, etc. #PROGRAMMER_ARGS = -F -V -P /dev/ttyS3 -b 115200 PROGRAMMER_ARGS = -C"C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.57.0_x86__mdqgnx93n4wt t\hardware\tools\avr/etc/avrdude.conf" -v -PCOM8 -b57600 -D
También se debe cambiar
AVRDUDE
, especificando la ruta donde se encuentra.AVRSIZE = avr-size # AVRDUDE = avrdude AVRDUDE = /mnt/c/Users/danielhj/Documents/Programas/bin/avrdude.exe
- Así, se puede trabajar con los siguiente comandos:
make
: Compilar y obtener el archivo objeto tipoELF
make all
: Compilar y obtener el archivoHEX
make flash
: Compilar y subir al Arduino