Herramientas de Software y Hardware
El sistema operativo linux de su agrado
Compilador avr-gcc, binutils-avr y avr-libc
Debian y derivados:
$ sudo apt-get install gcc-avr binutils-avr avr-libc
Fedora y RedHat:
$ sudo yum install avr-gcc avr-binutils avr-libc
Arch Linux, Manjaro y derivados:
$ sudo pacman -Sy avr-gcc avr-binutils avr-libc
Probar la instalación:
$ avr-gcc --version
$ sudo apt-get install avrdude
Fedora y RedHat:
$ sudo yum install avrdude
Arch Linux, Manjaro y derivados:
$ sudo pacman -Sy avrdude
Probar la instalación:
$ avrdude -v
Para mostrar los ejemplos de programación se utiliza el editor Visual Studio Code, que cuenta con una terminal integrada
https://code.visualstudio.com/
$ code -v
Software para crear plantillas de proyectos
para microcontroladores AVR
$ git clone https://github.com/alfreedom/apos.git
$ cd apos
$ make && sudo make install
Probar la instalación:
$ apos -v
Existen gran variedad de programadores USB, desde los profecionales hasta los OpenSource
Ejecutar en una terminal:
$ sudo adduser USUARIO dialout
Este comando agrega al usuario USUARIO al grupo dialout
Crear y editar las reglas de los programadores
$ sudo touch /etc/udev/rules.d/99-avr.rules
$ sudo code /etc/udev/rules.d/99-avr.rules
Agregar las reglas de los programadores
# Programmers for avrdude
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", GROUP="dialout", MODE="0660" # AVRISP mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2107", GROUP="dialout", MODE="0660" # AVR-Dragon
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", GROUP="dialout", MODE="0660" # JTAG ICE mkII
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2106", GROUP="dialout", MODE="0660" # STK600
ATTR{idVendor}=="16c0", ATTR{idProduct}=="05dc", GROUP="dialout", MODE="0660" # USBASP von www.fischl.de
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ffa", GROUP="dialout", MODE="0660" # AT90USB
ATTR{idVendor}=="10c4", ATTR{idProduct}=="ea60", GROUP="dialout", MODE="0660" # AVR910
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2105", GROUP="dialout", MODE="0660" # AVR ONE
ATTR{idVendor}=="03eb", ATTR{idProduct}=="210d", GROUP="dialout", MODE="0660" # Atmel XPLAIN CDC Gateway
ATTR{idVendor}=="03eb", ATTR{idProduct}=="2ffb", GROUP="dialout", MODE="0660" # AT90USB AVR DFU bootloader
ATTR{idVendor}=="1781", ATTR{idProduct}=="0c9f", GROUP="dialout", MODE="0660" # usbtiny
Actualizar las reglas con los comandos
$ sudo udevadm control --reload
$ sudo udevadm trigger --action=add