Mcu avr » Historie » Verze 3
Jednatel J.H., 2019-09-06 13:09
| 1 | 1 | Jednatel J.H. | h1. AVR-GCC Toolchain |
|---|---|---|---|
| 2 | |||
| 3 | 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ů: |
||
| 4 | |Kategorie nástroje | Vybraný nástroj | Rychlý popis vybraného nástroje| |
||
| 5 | |Sada přakladačů | gcc | Aktuální překladač C/C++| |
||
| 6 | |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| |
||
| 7 | |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.| |
||
| 8 | |Nástroj pro hledání chyb | gdb | | |
||
| 9 | |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.| |
||
| 10 | |||
| 11 | 2 | Jednatel J.H. | h3. Instalace sady nástrojů AVR-GCC: |
| 12 | 1 | Jednatel J.H. | |
| 13 | 2 | Jednatel J.H. | * *Debian* a *Ubuntu*: sudo apt-get install gcc-avr binutils-avr gdb-avr avr-libc avrdude dfu-programmer |
| 14 | * *Fedora* a *RedHat*: yum install avr-gcc, yum install avr-binutils, yum install avr-libc, yum install avr-gdb, yum install avrdude, yum install dfu-programmer |
||
| 15 | 1 | Jednatel J.H. | |
| 16 | 2 | Jednatel J.H. | h3. Základní postup programování MCU AVR s integrovaným USB bootováním v prostředí Ubuntu: |
| 17 | 1 | Jednatel J.H. | |
| 18 | * 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: |
||
| 19 | * 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: |
||
| 20 | 2 | Jednatel J.H. | * *avr-gcc -x c++ -std=c++11 -g -Os -mmcu=at90usb162 -o test.elf test.c* We gotta mess with it a bit more and grab some bits out of it to make the hex file: |
| 21 | * *avr-objcopy -j .text -j .data -O ihex file_name.elf file_name.hex* Now programing to ic using dfu: |
||
| 22 | 1 | Jednatel J.H. | * sudo dfu-programmer <microcontroller> erase erases MCU flash, |
| 23 | * sudo dfu-programmer <microcontroller> flash --suppress-bootloader-mem file_name.hex |
||
| 24 | * sudo dfu-programmer <microcontroller> start strats the application. |
||
| 25 | |||
| 26 | 2 | Jednatel J.H. | h3. Více informací |
| 27 | 1 | Jednatel J.H. | |
| 28 | 3 | Jednatel J.H. | * "The AVR GCC Toolchain":http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_GCC_Toolchain |
| 29 | * "AVR Libc Reference Manual":https://www.microchip.com/webdoc/AVRLibcReferenceManual/index.html |
||
| 30 | * "AVR Libc Home Page":http://www.nongnu.org/avr-libc/ |