PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : nur Self-Test läuft, sonst aber nichts



stonymontana
26.11.2007, 10: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é

Arexx-Henk
26.11.2007, 11:51
Hallo,

>leuchtet nur einmal die StatusLED orange auf und wechselt
> dann auf grün aber nichts passiert

Konnte es sein dass noch immer die Selbstest ausgefuhrt wird?
Ich meine, irgendwo funktioniert die 'Upload' nicht?

Gruss,

Henk

stonymontana
26.11.2007, 12:49
Nein ich denke das selftest-programm wird überschrieben werden. Ich kann im nachhinein den Selftest auch wieder drauf flashen und läuft dann auch wunderbar.

Ist die Meldung ...

warning: #warning "This header file is obsolete. Use <avr/interrupt.h>."

denn normal ????

damaltor
26.11.2007, 14:34
die warning ist nicht schlimm, sie bedeutet dass eine datei included wird die veraltet ist. wunderlich jedoch, dass sie included wird, denn in deinem code staht davon nichts.

wird das ganze programm denn beim flashen übertragen?

stonymontana
27.11.2007, 07:43
ja übertragen wird es und eingebunden ist die interrupt.h, soweit ich mich erinnern kann, in der asuro.h .... ich kann das gerade nur net nachschauen da ich zur Zeit nur einen Internetzugang in der FH habe... aber heute Abend werde ich das schnell noch einmal überprüfen

asuroer
27.11.2007, 17:58
hi

also da steht doch use avr/interrupt.h. vllt solltest du diese mal einbinden
und hat
make: [test.eep] Error 1 (ignored)

diese zeile irgendeine bedeutung?

MfG

Jan

damaltor
27.11.2007, 22:26
ich denke das heisst nur dass keine eeprom-hexdatei erzeut wurde...

bist du sicher dass du das programm gespeichert hast bevor du es kompiliert hast? ist ein beliebter fehler...

stonymontana
28.11.2007, 08:00
ob ich gespeichert habe ? :) ... ja öhmmm, das weiß ich garnicht so genau, ich denke nicht. Sobald ich wieder zu Hause bin werde ich das direkt testen. Vielen vielen Dank schon mal. Hoffentlich wird es das gewesen sein.

Lg René

stonymontana
29.11.2007, 11:49
und er rollt :) vielen vielen Dank für die Hilfe.... doofer Fehler ;)

damaltor
29.11.2007, 12:20
sehr gut... =) dann weiterhin viel erfolg!