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/ |