Arexx RA2-MINI Robot Arm RA2-MINI User Manual
Product codes
RA2-MINI
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
-------- 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.
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
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.