Projekt

Obecné

Profil

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/