cs:avr_programming
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Předchozí verze | |||
cs:avr_programming [2016/11/18 10:09] – kaklik | — | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | ====== Programování procesorů AVR ====== | ||
- | |||
- | ===== Windows ===== | ||
- | |||
- | ==== Vývojové prostředí ==== | ||
- | |||
- | [[http:// | ||
- | |||
- | ===== Linux ===== | ||
- | |||
- | ==== Vývojové prostředí ==== | ||
- | |||
- | $ sudo apt-get update | ||
- | $ sudo apt-get install gcc build-essential gcc-avr gdb-avr binutils-avr avr-libc avrdude | ||
- | |||
- | === Code Blocks IDE === | ||
- | |||
- | [[http:// | ||
- | |Code Blocks IDE for avr-gcc and avrdude (Ubuntu)]] | ||
- | |||
- | ==== Nahrání programu do MCU ==== | ||
- | |||
- | Pro nahrávání přeloženého programu do mikrokontrolérů Atmel je potřeba hardwarový programátor [[cs: | ||
- | |||
- | |||
- | V Ubuntu se pro nahrání programu do AVR obvykle používá program [[http:// | ||
- | |||
- | avrdude -P / | ||
- | |||
- | **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 ([[http:// | ||
- | Stažený balík pak nainstalujeme příkazem | ||
- | sudo dpkg -i název_balíku.deb | ||
- | |||
- | === Známé problémy === | ||
- | |||
- | == avrdude: stk500v2_recv(): | ||
- | |||
- | avrdude: stk500v2_recv(): | ||
- | avrdude: stk500v2_recv(): | ||
- | avrdude: stk500v2_recv(): | ||
- | avrdude: stk500v2_recv(): | ||
- | avrdude: stk500v2_recv(): | ||
- | |||
- | 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ř. /// | ||
- | |||
- | ==== Bootloader ==== | ||
- | |||
- | Vedle klasického způsobu pálení firmwaru v [[http:// | ||
- | |||
- | === Xboot === | ||
- | |||
- | [[https:// | ||
- | |||
- | Stáhneme zdrojové soubory bootloaderu z githubu. | ||
- | |||
- | git clone https:// | ||
- | cd xboot | ||
- | |||
- | Dále je potřeba vytvořit konfiguraci bootloaderu podle požadované aplikace. V tomto případě si zkopírujeme referenční konfiguraci pro MCU ATMEGA328P, který je například v modulu [[cs: | ||
- | |||
- | cp conf/ | ||
- | | ||
- | V kopii konfiguračního souboru je třeba změnit proměnnou '' | ||
- | | ||
- | make arduino328p.conf.mk | ||
- | |||
- | Pokud proces proběhl bez chyb, tak bootloader zkompilujeme a nahrajeme do MCU. | ||
- | make | ||
- | make program | ||
- | |||
- | Pokud předchozí krok proběhl bez chyb, tak by jsme nyní v MCU měli mít nahraný funkční bootloader Xboot, kterým je možné do MCU nahrát aplikační firmware. To uděláme například následujícím příkazem. | ||
- | |||
- | avrdude -P / | ||
- | | ||
- | Kde soubor Blink.cpp.hex je vygenerovaný testovací program z Arduino IDE. | ||
- | | ||
- | |||
- | |||
- | |||
- | |||
- | ==== Reference ==== | ||
- | |||
- | * [[http:// | ||
cs/avr_programming.txt · Poslední úprava: 2022/01/28 16:21 autor: kaklik