Mcu avr » Historie » Verze 1
Jednatel J.H., 2019-09-06 12:10
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 | Instalace sady nástrojů AVR-GCC: |
||
12 | |||
13 | * 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 | |||
16 | Základní postup programování MCU AVR s integrovaným USB bootováním v prostředí Ubuntu: |
||
17 | |||
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 | * 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 | * 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 | Více informací |
||
27 | |||
28 | * http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_GCC_Toolchain |