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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.