stonymontana
26.11.2007, 11:40
Hallo erstmal ans gesamte RoboterNetz-Forum :).
Um ein wenig in das große Gebiet der uController-Programmierung, Elektronik und Robotik rein zu kommen, habe ich mir den ASURO zugelegt und bin bisher auch sehr begeistert davon. Einzigstes Manko, er macht so gut wie garnichts :).
Komplett zusammen montiert/gelötet ist er bereits und den Self-Test hat er auch ohne Probleme bestanden. Probleme habe ich, wenn ich eigene Programme flashen möchte. Verwenden tue ich WinAVR mit GCC 4.1.2 und
avr-libc 1.4.6.
// test.c
#include "asuro.h"
int main(void)
{
Init();
MotorDIR(FWD,FWD);
MotorSpeed(200,200);
while(1);
return 0;
}
Wie man sieht, noch sehr überschaubarer Quelltext wo eigentlich keine Fehler im Syntax auftreten sollten.
Der Rest sieht nach dem ausführen von make wie folgt aus:
> "E:\Eigene Dateien\uC\ASURO_src\FirstTry\Test-all.bat"
E:\Eigene Dateien\uC\ASURO_src\FirstTry>make all
set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d; \
[ -s asuro.d ] || rm -f asuro.d
set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \
[ -s test.d ] || rm -f test.d
-------- begin --------
avr-gcc --version
avr-gcc (GCC) 4.1.2 (WinAVR 20070525)
Copyright (C) 2006 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.
avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
In file included from asuro.h:34,
from test.c:1:
e:/eigene dateien/uc/winavr/bin/../avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use <avr/interrupt.h>."
avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c -o asuro.o
In file included from asuro.h:34,
from asuro.c:29:
e:/eigene dateien/uc/winavr/bin/../avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use <avr/interrupt.h>."
avr-gcc -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.o test.o asuro.o --output test.elf -Wl,-Map=test.map,--cref -lm
avr-objcopy -O ihex -R .eeprom test.elf test.hex
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 -O ihex test.elf test.eep
e:\Eigene Dateien\uC\WinAVR\bin\avr-objcopy.exe: there are no sections to be copied!
e:\Eigene Dateien\uC\WinAVR\bin\avr-objcopy.exe: --change-section-lma .eeprom=0x00000000 never used
make: [test.eep] Error 1 (ignored)
avr-objdump -h -S test.elf > test.lss
Size after:
test.elf :
section size addr
.text 1458 0
.bss 1 8388704
.stab 888 0
.stabstr 113 0
.debug_aranges 64 0
.debug_pubnames 263 0
.debug_info 976 0
.debug_abbrev 375 0
.debug_line 1242 0
.debug_frame 288 0
.debug_str 396 0
.debug_loc 490 0
Total 6554
Errors: none
-------- end --------
> Process Exit Code: 0
Die Übertragung per Infrarot funktioiert einwandfrei aber nach ausschalten und erneutem einschalten des Asuros leuchtet nur einmal die StatusLED orange auf und wechselt dann auf grün aber nichts passiert.
Wäre super wenn mir da einer einen Tip geben könnte um den kleinen ein wenig fahren zu lassen :).
Vielen vielen Dank im Voraus.
mfg René
Um ein wenig in das große Gebiet der uController-Programmierung, Elektronik und Robotik rein zu kommen, habe ich mir den ASURO zugelegt und bin bisher auch sehr begeistert davon. Einzigstes Manko, er macht so gut wie garnichts :).
Komplett zusammen montiert/gelötet ist er bereits und den Self-Test hat er auch ohne Probleme bestanden. Probleme habe ich, wenn ich eigene Programme flashen möchte. Verwenden tue ich WinAVR mit GCC 4.1.2 und
avr-libc 1.4.6.
// test.c
#include "asuro.h"
int main(void)
{
Init();
MotorDIR(FWD,FWD);
MotorSpeed(200,200);
while(1);
return 0;
}
Wie man sieht, noch sehr überschaubarer Quelltext wo eigentlich keine Fehler im Syntax auftreten sollten.
Der Rest sieht nach dem ausführen von make wie folgt aus:
> "E:\Eigene Dateien\uC\ASURO_src\FirstTry\Test-all.bat"
E:\Eigene Dateien\uC\ASURO_src\FirstTry>make all
set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d; \
[ -s asuro.d ] || rm -f asuro.d
set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \
[ -s test.d ] || rm -f test.d
-------- begin --------
avr-gcc --version
avr-gcc (GCC) 4.1.2 (WinAVR 20070525)
Copyright (C) 2006 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.
avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
In file included from asuro.h:34,
from test.c:1:
e:/eigene dateien/uc/winavr/bin/../avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use <avr/interrupt.h>."
avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c -o asuro.o
In file included from asuro.h:34,
from asuro.c:29:
e:/eigene dateien/uc/winavr/bin/../avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use <avr/interrupt.h>."
avr-gcc -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.o test.o asuro.o --output test.elf -Wl,-Map=test.map,--cref -lm
avr-objcopy -O ihex -R .eeprom test.elf test.hex
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 -O ihex test.elf test.eep
e:\Eigene Dateien\uC\WinAVR\bin\avr-objcopy.exe: there are no sections to be copied!
e:\Eigene Dateien\uC\WinAVR\bin\avr-objcopy.exe: --change-section-lma .eeprom=0x00000000 never used
make: [test.eep] Error 1 (ignored)
avr-objdump -h -S test.elf > test.lss
Size after:
test.elf :
section size addr
.text 1458 0
.bss 1 8388704
.stab 888 0
.stabstr 113 0
.debug_aranges 64 0
.debug_pubnames 263 0
.debug_info 976 0
.debug_abbrev 375 0
.debug_line 1242 0
.debug_frame 288 0
.debug_str 396 0
.debug_loc 490 0
Total 6554
Errors: none
-------- end --------
> Process Exit Code: 0
Die Übertragung per Infrarot funktioiert einwandfrei aber nach ausschalten und erneutem einschalten des Asuros leuchtet nur einmal die StatusLED orange auf und wechselt dann auf grün aber nichts passiert.
Wäre super wenn mir da einer einen Tip geben könnte um den kleinen ein wenig fahren zu lassen :).
Vielen vielen Dank im Voraus.
mfg René