Toto je starší verze dokumentu!
Obsah
Programování procesorů AVR
Windows
Vývojové prostředí
Knihovny
Nahrávání programu
Vedle klasického způsobu pálení firmwaru v ISP módu je také možné využít bootloader. Tento způsob využívá Arduino a jeho příznivci jistě ocení jeho variaci LABduino, která se díky bootloaderu chová identicky.
Linux
Vývojové prostředí
$ sudo apt-get update $ sudo apt-get install gcc build-essential
Code Blocks IDE
Kompilátor
sudo apt-get install gcc-avr
Knihovny
$ sudo apt-get install gcc-avr gdb-avr binutils-avr avr-libc avrdude
Nahrání programu do MCU
Pro nahrávání přeloženého programu do mikrokontrolérů Atmel je potřeba hardwarový programátor ATprog, který je připojen k MCU přes programovací kablík a k počítači přes USB.
V Ubuntu se pro nahrání programu do AVR obvykle používá program avrdude. Následujícím způsobem:
avrdude -P /dev/ttyUSB0 -c stk500v2 -B 50 -p atmega8 -U lfuse:w:0x9f:m -U hfuse:w:0xc9:m -U flash:w:firmware.hex
Nastavení pojistek je třeba upravit pro konkrétní aplikaci. Nevhodným nastavením si můžete mikroprocesor zablokovat proti dalšímu zápisu
Nové verze avrdude nefungují a je potřeba použít starší verzi programu avrdude (5.10). Stažený balík pak nainstalujeme příkazem
sudo dpkg -i název_balíku.deb
Známé problémy
avrdude: stk500v2_recv(): checksum error
avrdude: stk500v2_recv(): checksum error avrdude: stk500v2_recv(): checksum error avrdude: stk500v2_recv(): checksum error avrdude: stk500v2_recv(): checksum error avrdude: stk500v2_recv(): checksum error
Přes to, že tato chybová hláška vypadá podivně, tak obvykle znamená, že se s programátorem pokoušíte komunikovat na jiném portu, než na který je fyzicky připojen. Tj. např. /dev/ttyUSB1 místo /dev/ttyUSB1