Projekt

Obecné

Profil

Mcu avr » Historie » Revize 2

Revize 1 (Jednatel J.H., 2019-09-06 12:10) → Revize 2/3 (Jednatel J.H., 2019-09-06 12:14)

h1. AVR-GCC Toolchain 

 Samontný AVR-GCC je (jak bývá pro GNU vývojáře běžné a samozřejmě nejlépe verzovatelné) rozdělen na několik nástrojů: 
 |Kategorie nástroje  	            | Vybraný nástroj  	 | Rychlý popis vybraného nástroje| 
 |Sada přakladačů  	            | gcc  	         | Aktuální překladač C/C++| 
 |Sada pro tvorbu binárních souborů | binutils  	         | Kolekce nástrojů zahrnující assembler, linker a další nástroje k manipulaci s binárními soubory| 
 |Knihovny použitých jazyků  	    | avr-libc  	         | Standardní C knihovny a hlavičkové soubory s některými rozšířeními pro specifické funkce AVR.| 
 |Nástroj pro hledání chyb            | gdb  	         |    | 
 |Nástroj pro nahrávání kódu na MCU | avrdude a dfu-programmer | 	 Programy pro download/upload/manipulaci s ROM a EEPROM AVR MCU.| 

 h3. Instalace sady nástrojů AVR-GCC: 

 *      *Debian* Debian a *Ubuntu*: Ubuntu: sudo apt-get install gcc-avr binutils-avr gdb-avr avr-libc avrdude dfu-programmer 
 *      *Fedora* Fedora a *RedHat*: RedHat: yum install avr-gcc, yum install avr-binutils, yum install avr-libc, yum install avr-gdb, yum install avrdude, yum install dfu-programmer 

 h3. Základní postup programování MCU AVR s integrovaným USB bootováním v prostředí Ubuntu: 

 * avr-gcc -g -Os -mmcu=<mcu type> -c file_name.c, this produces an object file called flash.o, which then needs to be linked using: 
 * avr-gcc -g -mmcu=<mcu type> -o file_name.elf file_name.o this has now produced a binary file called flash.elf (Executable and Linkable Format), which is a GNU executable file. Shorter combination of both commands with newest language choosen and filled fields: 
 * *avr-gcc avr-gcc -x c++ -std=c++11 -g -Os -mmcu=at90usb162 -o test.elf test.c* test.c We gotta mess with it a bit more and grab some bits out of it to make the hex file: 
 * *avr-objcopy avr-objcopy -j .text -j .data -O ihex file_name.elf file_name.hex* file_name.hex Now programing to ic using dfu: 
 * sudo dfu-programmer <microcontroller> erase erases MCU flash, 
 * sudo dfu-programmer <microcontroller> flash --suppress-bootloader-mem file_name.hex 
 * sudo dfu-programmer <microcontroller> start strats the application. 

 h3. Více informací 

 * http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_GCC_Toolchain