Du partage vient l’abondance.

Accueil > Microcontroleurs AVR > AVR-GCC : UART logiciel pour ATTiny85 (debug - Tx uniquement)

AVR-GCC : UART logiciel pour ATTiny85 (debug - Tx uniquement)

dimanche 10 février 2013, par l.lefebvre

Ci-joint un petit programme qui permet de mettre en place une UART logiciel sur ATTiny85. Attention, il s’agit ici uniquement de couvrir les besoins de debug aussi seul la fonction Tx est implanté. Cette UART ne peut pas recevoir, en l’état, de données.

Le fichier serial.printf.tar.gz fournit une UART interconnecté avec la librairie stdio.h de AVR-libc c’est assez puissant mais aussi assez lourd :

GZ - 2.2 ko
pi@raspberrypi ~/soft/avr/serial $ make size
avr-gcc -Wall -Os -DF_CPU=8000000UL -mmcu=attiny85 -S -o serial.s serial.c
avr-gcc -Wall -Os -DF_CPU=8000000UL -mmcu=attiny85 -s -o serial.elf serial.s
avr-size serial.elf
  text    data     bss     dec     hex filename
  1778      18      31    1827      723 serial.elf

Au total, 1796 octets de mémoire flash lié à l’utilisation de la fonction standard printf.

Le fichier serial.tiny.tar.gz fournit une UART logiciel légère (utilisation de la fonction serial_print("hello world !\r\n") au lieu de printf.

GZ - 2.2 ko
pi@raspberrypi ~/soft/avr/serial $ make size
avr-gcc -Wall -Os -DF_CPU=8000000UL -mmcu=attiny85 -S -o serial.s serial.c
avr-gcc -Wall -Os -DF_CPU=8000000UL -mmcu=attiny85 -s -o serial.elf serial.s
avr-size serial.elf
  text    data     bss     dec     hex filename
   674      14      21     709     2c5 serial.elf

Au total, 688 octets de mémoire flash c’est certainement plus adapté à la plateforme ATTiny.