Instructions

Soubor “Robot ArmExamples.ppg“
Jde o skupinový projekt pro PN2, který nahraje všechny příklady ukázkových programů
a knihovnu robotického ramene do seznamu projektů ("Projects").
Na levé straně se zobrazují všechny ukázkové projekty, na pravé straně editor zdrojového textu
(se zmíněm zvýrazněním syntaxe) a ve spodní části výstupy nástrojů (v tomto případě výstup
kompilátoru).
V PN2 můžete konvertovat mnoho dalších věcí a nabízí rovněž mnoho užitečných funkcí.
Otevření a kompilace ukázkového projektu
Pojďme vyzkoušet, jestli všechno běží správně a otevřeme
ukázkový projekt:
V menu "File" vyberte položku "Open Project(s)".
Objeví se normální souborová sekce. Ve složce, do které
jste uložili příklady programů, vyhledejte složku “Robot
Arm_Examples [MINI]\“.
Otevřete soubor “Robot ArmExamples.ppg“.
Jde o skupinový projekt pro PN2, který nahraje všechny
příklady ukázkových programů a knihovnu robotického
ramene do seznamu projektů ("Projects").
Nyní máte všechny ukázkové projekty pohodlně po ruce
a můžete na ně odkazovat, nebo vyhledávat funkce
v knihovně robotického ramene.
Otevřete první ukázkový program v horní části seznamu
("01_Leds" a vyberte soubor "01_Leds"), který se objeví
na levé straně okna programu. Klikněte jen 2x na “01_Leds.c"
a v okně uvnitř programu se zobrazí editor zdrojového textu.
Ve spodní části programového okna PN2 by se měla objevit výstupní oblast. Pokud se nezobrazí,
musíte tuto oblast povolit v nabídce "View" > "Enable Output", NEBO když je oblast příliš malá,
zvětšit její velikost potažením okrajů pomocí myši (na horním okraji šedé oblasti označené jako
"output" ve spodní části programového okna, se kurzor myši změní na dvojitou šipku).
Můžete se krátce podívat na program, který jste právě otevřeli editorem zdrojového textu,
ale nepotřebujete mu okamžitě rozumět. Nicméně první informace zní: Zelený text představuje
komentář, který není součástí aktuálního programu. Slouží pouze k popisu a k zadokumentování
účelu.
Podrobnější vysvětlení uvádíme níže (je tam rovněž verze stejného programu bez poznámek, takže
uvidíte, jak je program ve skutečnosti krátký. Komentáře program značně nafukují, ale jsou potřebné
pro pochopení. Nekomentována verze se hodí pro kopírování kódu do vašich vlastních programů).
Nejdříve si chceme vyzkoušet, jestli správně funguje
kompilace programů.
V nabídce nástrojů by se v horní části měly objevit právě
nainstalované položky menu (viz obrázek), (nebo vstupy
[WinAVR], které jsou v PN jako standard).
Klikněte na položku "MAKE ALL"!
PN2 nyní načte výše zmiňovaný dávkový soubor
“make_all.bat“, čímž se sám o sobě načte program "make".
Více informací o "make" uvádíme níže.
Ukázkový program se nyní zkompiluje. Vygenerovaný hex
soubor obsahuje program ve formátu přeloženém pro
mikroprocesor, který lze načíst a spustit později.
Během kompilace se vytváří mnoho dočasných souborů (s koncovkami jako “.o, .lss, .map, .sym, .elf,
.dep“). Jednoduše je ignorujte. Nově vytvořený nástroj "make clean" je všechny vymaže. Zajímá nás
jen hex soubor. Mimochodem funkce "make clean" tento program nevymaže.
Když se aktivovala položka menu MAKE ALL, měl by se zobrazit následující výstup (viz níže ve
značně zkrácené verzi. Některé řádky mohou samozřejmě vypadat odlišně):
> “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 -fpack-struct -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 -funsigned-
bitfields
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
Nejdůležitěí je výstupní kód operace "0" (“Process Exit Code: 0“) na konci. Znamená to, že během
kompilace nedošlo k žádné chybě. Objeví-li se tam jiné číslo, tak zdrojový kód obsahuje chybu, které
se musí opravit, aby program fungoval. V případě chyby, se ve výstupu kompilátoru objeví ještě další
zprávy, která vám poskytnou více informací.