Uživatelské nástroje

Nástroje pro tento web


cs:avr_programming

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verzeObě strany příští revize
cs:avr_programming [2015/04/14 21:26] – [Nahrání programu do MCU] kaklikcs:avr_programming [2016/11/18 10:09] kaklik
Řádek 5: Řádek 5:
 ==== Vývojové prostředí ==== ==== Vývojové prostředí ====
  
-  * [[http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725|AVRstudio]] +[[http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725|AVRstudio]] obsahuje všechny potřebné softwarové nástroje pro práci s MCU AVR většinou tak není potřeba instalovat další softwareJeho nevýhodou je velikost malá flexibilita
- +
-==== Knihovny ==== +
- +
- +
-==== Nahrávání programu ==== +
- +
-Vedle klasického způsobu pálení firmwaru [[http://cs.wikipedia.org/wiki/In_System_Programming|ISP módu]] je také možné využít bootloader. Tento způsob využívá Arduino jeho příznivci jistě ocení jeho variaci [[cs:labduino|LABduino]], která se díky bootloaderu chová identicky.+
  
 ===== Linux ===== ===== Linux =====
Řádek 19: Řádek 12:
  
     $ sudo apt-get update     $ sudo apt-get update
-    $ sudo apt-get install gcc build-essential+    $ sudo apt-get install gcc build-essential gcc-avr gdb-avr binutils-avr avr-libc avrdude
  
 === Code Blocks IDE === === Code Blocks IDE ===
Řádek 25: Řádek 18:
 [[http://stringofthoughts.wordpress.com/2009/11/06/code-blocks-ide-for-avr-gcc-and-avrdude-ubuntu/ [[http://stringofthoughts.wordpress.com/2009/11/06/code-blocks-ide-for-avr-gcc-and-avrdude-ubuntu/
 |Code Blocks IDE for avr-gcc and avrdude (Ubuntu)]] |Code Blocks IDE for avr-gcc and avrdude (Ubuntu)]]
-==== 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 ==== ==== Nahrání programu do MCU ====
Řádek 47: Řádek 33:
 Stažený balík pak nainstalujeme příkazem Stažený balík pak nainstalujeme příkazem
   sudo dpkg -i  název_balíku.deb   sudo dpkg -i  název_balíku.deb
 +
 === Známé problémy === === Známé problémy ===
  
Řádek 58: Řádek 45:
  
 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// 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//
 +
 +==== Bootloader ====
 +
 +Vedle klasického způsobu pálení firmwaru v [[http://cs.wikipedia.org/wiki/In_System_Programming|ISP módu]] je také možné využít bootloader. Tento způsob využívá Arduino a jeho příznivci jistě ocení jeho variaci [[cs:labduino|LABduino]], které díky boatloaderu hardwarový programátor nepotřebuje. Bootloaderů existuje ale mnoho druhů. 
 +
 +=== Xboot ===
 +
 +[[https://github.com/alexforencich/xboot|Xboot]] je velmi flexibilní bootloader, který kromě v celku běžného způsobu nahrávání firmware přes UART rozhraní dovede firmware aktualizovat i přes rozhraní jako [[cs:i2c|I²C]], [[cs:spi|SPI]], nebo paralelní FIFO. Bootloader do procesoru nahrajeme následujícím způsobem. 
 +
 +Stáhneme zdrojové soubory bootloaderu z githubu.
 +
 +  git clone https://github.com/alexforencich/xboot.git
 +  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:atmegatq32|]]
 +
 +  cp conf/arduino328p.conf.mk .
 +  
 +V kopii konfiguračního souboru je třeba změnit proměnnou ''AVRDUDE_PROGRAMMER = avrispmkII'' na avrdude identifikaci programátoru, který bude skutečně použit pro první programování bootloaderu do MCU. Pak můžeme spustit příkaz pro vygenerování úplné konfigurace bootloaderu.
 +  
 +  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 /dev/ttyACM0 -c avr109 -b 115200 -p m328p  -U flash:w:Blink.cpp.hex
 +  
 +Kde soubor Blink.cpp.hex je vygenerovaný testovací program z Arduino IDE. 
 +  
 +
 +
 +
  
 ==== Reference ==== ==== Reference ====
cs/avr_programming.txt · Poslední úprava: 2022/01/28 16:21 autor: kaklik