Instructions
55
> “make.exe” all
-------- begin --------
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Size before:
AVR Memory Usage
----------------
Device: atmega64
Program: 3074 bytes (4.7% Full)
(.text + .data + .bootloader)
Data: 68 bytes (1.7% Full)
(.data + .bss + .noinit)
EEPROM: 14 bytes (0.7% Full)
(.eeprom)
Compiling C: Robot Arm_Leds.c
avr-gcc -c -mmcu=atmega64 -I.
-gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -fpackstruct
-fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=./Robot Arm_Leds.lst -std=gnu99 -MMD -MP -MF
.dep/Robot Arm_Leds.o.d Robot Arm_Leds.c -o Caterpillar_Leds.o
Linking: Robot Arm_Leds.elf
avr-gcc -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsignedbitfields
Creating load file for Flash: Robot Arm_Leds.hex
Creating load file for EEPROM: Robot Arm_Leds.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom=”alloc,load” \
--change-section-lma .eeprom=0 --no-change-warnings -O ihex Robot Arm_Leds.elf
Robot Arm_Leds.eep || exit 0
Size after:
AVR Memory Usage
----------------
Device: atmega64
Program: 3074 bytes (4.7% Full)
(.text + .data + .bootloader)
Data: 68 bytes (1.7% Full)
(.data + .bss + .noinit)
EEPROM: 14 bytes (0.7% Full)
(.eeprom)
-------- end -------->
Process Exit Code: 0
> Time Taken: 00:04
56
Velmi důležité je sdělení zcela dole „Process Exit Code: 0“. Tato zpráva znamená, že se při kompilaci
(překladu) programu neobjevila žádná syntaktická chyba. Pokud se v této zprávě (v tomto řádku)
zobrazí jiný kód než „0“, zaregistroval kompilátor ve zdrojovém textu zásadní chybu syntaxe programu,
kterou musíte odstranit.
Důležité upozornění: Při provádění kompilace (překladu) programu ovládání robota zobrazí editor
(kompilátor) „PN2“ další doplňující informace a varování v barevném provedení, které Vás upozorní na
důležité problémy a chyby v sestaveném programu. Kompilátor zobrazuje rovněž čísla právě
překládaných řádků. Kliknete-li myší na barevně zobrazenou informaci, zobrazí se na monitoru počítače
příslušný řádek programu. Dejte přitom pozor na to, že sdělení „Process Exit Code: 0“ nemusí
znamenat, že je program zcela v pořádku. Chyby v postupu ovládání robota tento kompilátor nedokáže
odhalit (například nesmyslné pohyby robota atd.).
Velmi důležité je také sdělení „
AVR Memory Usage
“ (Využití paměti AVR).
----------------
Size after:
AVR Memory Usage
----------------
Device: atmega64
Program: 3074 bytes (4.7% Full)
(.text + .data + .bootloader)
Data: 68 bytes (1.7% Full)
(.data + .bss + .noinit)
Toto znamená, že při použití mikroprocesoru robota „Atmega64“ zaujímá vytvořený program ovládání
robota 3074 bytů a 68 bytů paměti RAM pro rezervaci statických proměnných. Dále je ještě nutno
počítat s dynamickými oblastmi „Heap“ a „Stack“. S těmito oblastmi se nemusíte zabývat. Zajistěte
pouze, aby zůstalo v paměti počítače několik stovek bytů volných.
Máte k dispozici celkem 64 kB (65536 bytů) v paměti „Flash ROM“ a 2 KB (2048 bytů) v paměti „RAM“.
Z těchto 64 kB jsou vyhrazeny 2 KB funkci „Bootloader“, takže můžete použít celkem 62 KB. Dejte
přitom pozor na to, aby se program ovládání robota vešel do této paměti. Software „RobotLoader“
nepřenese do mikroprocesoru robota žádný ovládací (prováděcí) program, pokud bude příliš velký!
U výše uvedeného ukázkového programu ovládání robota zůstává k dispozici 60414 volných bytů. Tento
velmi krátký ukázkový program „Example_01_Leds.c“ je takto velký z toho důvodu, protože je svázán
s knihovnou „Robot ArmBaseLibrary“. Takže se nemusíte obávat toho, že Vám nezůstane volné místo
k vytvoření vlastních programů ovládání robota. Knihovna funkcí vyžaduje sice několik KB (kilobajtů)
z paměti „Flash“, ale ulehčí Vám mnoho práce. Z tohoto důvodu budou Vaše vlastní programy zaujímat
poměrně málo místa ve srovnání s knihovnou „Robot ArmBaseLibrary“.
Nyní můžete zkompilovaný (přeložený) program ovládání robota přenést do jeho mikroprocesoru pomocí
programu software „RobotLoader“. Poté můžete kliknutím myší na nabídku „Hinzufügen“ („Add“)
(Přidat, vložit) v příslušném okně programu „RobotLoader“ uložit tento program v hexadecimální
podobě do seznamu prováděcích programů a dále kliknout myší na nabídku „Upload!“
Pokud budete chtít, zvolte kliknutím myší nabídku „Terminal“ a prohlédněte si výstup programu
prováděcího programu ovládání robota. Povedení (spuštění) programu ovládání robota můžete provést
v menu „Terminal“ stisknutím kombinace kláves „Ctrl + S“ na klávesnici osobního počítače (notebooku)
nebo můžete k tomuto účelu použít menu.
Dále můžete vyslat písmeno „s“ – po provedení zpětného nastavení „Reset“ musíte chvíli počkat, dokud
se v menu „Terminal“ nezobrazí hlášení „[READY]“ (Připraveno, hotovo).
Také stisknutí kombinace kláves „Ctrl + Y“ na klávesnici osobního počítače (notebooku) může být
důležité. Touto akcí přenesete aktuálně vybraný prováděcí program do mikroprocesoru robota a tím
tento program přímo spustíte.