Hallo Zusammen,
ich bin auf ein weiteres Problem bei meiner avr-gcc installation:
gdb gibt mir folgendes aus, wenn ich die .elf-Datei lade:
(gdb) disassem 0xb8
Dump of assembler code for function .do_clear_bss_start:
0x000000b8 <.do_clear_bss_start+0>: cpi r26, 0x27 ; 39
0x000000ba <.do_clear_bss_start+2>: cpc r27, r17
0x000000bc <.do_clear_bss_start+4>: brne .-8 ; 0xb6
<.do_clear_bss_loop>
0x000000be <.do_clear_bss_start+6>: call 0x4002 ; 0x4002
<lcd_sendstr+24>
0x000000c2 <.do_clear_bss_start+10>: jmp 0xb000 ; 0xb000
<vfprintf+958>
End of assembler dump.
dagegen liefert avr-objdump:
/usr/local/avr/bin/avr-objdump -d avr.elf > test.txt
folgendes ergebnis:
000000b8 <.do_clear_bss_start>:
b8: a7 32 cpi r26, 0x27 ; 39
ba: b1 07 cpc r27, r17
bc: e1 f7 brne .-8 ; 0xb6 <.do_clear_bss_loop>
be: 0e 94 41 20 call 0x4082 ; 0x4082 <main>
c2: 0c 94 90 59 jmp 0xb320 ; 0xb320 <_exit>
irgendwie ist das nicht konsistent und der code macht im Debug auch
nicht das was er soll (-;
hier die eckdaten:
GDB:
GNU gdb 6.7.1
This GDB was configured as "--host=x86_64-unknown-linux-gnu
--target=avr".
GCC:
Target: avr
Configured with: ../configure --target=avr --prefix=/usr/local/avr
--enable-languate=c --program-prefix=avr- : (reconfigured) ../configure
--target=avr --prefix=/usr/local/avr --enable-languate=c
--program-prefix=avr- --disable-libssp
Thread model: single
gcc version 4.2.3
Kompelieroptionen:
-I/usr/local/avr/avr/include -Wall -g3 -gstabs -O0 -fpack-struct
-fshort-enums -funsigned-bitfields -mmcu=atmega64 -DF_CPU=1600000UL
Weis da jemand weiter?
vielen Dank schon mal, Sebastian
Entschuldigung, der Fehler lag auf meiner Seite.... avarice hatte den controller einfach falsch programmiert.. (-; sonderbar nur, dass es das mehrmals hintereinander getan hat... benutze absofort dann wohl immer -v... gruesse, Sebastian
Noch ein kleiner Nachtrag: wenn ich avarice ohne -e benutze, sind programmierfehler reproduzierbar, mit -e (fuer erase) funktioniert alles wunderbar....
Sebastian Meuren wrote: > wenn ich avarice ohne -e benutze, sind programmierfehler reproduzierbar, > mit -e (fuer erase) funktioniert alles wunderbar.... Das Problem saß also vor dem Computer... -p, --program Program the target. Binary filename must be specified with --file option. NOTE: The old behaviour of automatically erasing the target before programming is no longer done. You must explicitly give the --erase option for the target to be erased.
Danke fuer den Hinweis (-:
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.