Hallo MCF's (Micro Controller Fans),
habe da ein dickes Problem bei meiner Entwicklungsumgebung.
Ich arbeite unter SuSE 11.3.
Ich habe mir jetzt Eclipse installiert (funzt super).
Zum Debuggen, was bei AVR ein echtes Thema zu sein scheint, habe ich mir
AVR-GDB (Version 6.8) und simulavr (Version 0.1.2.6-4.3) aus den
SuSE-Repos installiert.
Leider funktioniert das Zusammenspiel der Programme nicht. Ich habe
danach schon gegoogelt und auch hier im Forum schon einiges gefunden,
was aber nicht zu einer Lösung geführt hat. was passiert:
Ich rufe simulavr mit folgendem Kommando auf:
1 | simulavr -g -p 1212 -P simulavr-disp -d atmega8
|
Dann starte ich den GDB mit
Bedient wird der GDB mit folgenden Befehlzeilen:
1 | GNU gdb 6.8
|
2 | Copyright (C) 2008 Free Software Foundation, Inc.
|
3 | License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
|
4 | This is free software: you are free to change and redistribute it.
|
5 | There is NO WARRANTY, to the extent permitted by law. Type "show copying"
|
6 | and "show warranty" for details.
|
7 | This GDB was configured as "--host=i686-pc-linux-gnu --target=avr".
|
8 | (gdb) file /home/andreas/workspace/SinusSynchron/Debug/SinusSynchron.elf
|
9 | Reading symbols from /home/andreas/workspace/SinusSynchron/Debug/SinusSynchron.elf...done.
|
10 | (gdb) target remote :1212
|
11 | Remote debugging using :1212
|
12 | 0x00000000 in __vectors ()
|
13 | (gdb) load
|
14 | Loading section .text, size 0x15d2 lma 0x0
|
15 | Loading section .data, size 0x2 lma 0x15d2
|
16 | Start address 0x0, load size 5588
|
17 | Transfer rate: 227 KB/sec, 31 bytes/write.
|
18 | (gdb) break main
|
19 | Breakpoint 1 at 0x534: file ../Source/SinusSynchron.c, line 152.
|
20 | (gdb) continue
|
21 | Continuing.
|
22 | Remote connection closed
|
23 | (gdb)
|
Nach dem target-Befehl reagiert simulavr wie folgt:
1 | Connection opened by host 127.0.0.1, port -27779
|
Was mich schon erst einmal wundert, weil der Port nicht stimmt
(confused?). Scheint aber alles zu funktionieren, da die Verbindung
besteht. Erst nach dem continue-Befehl bricht simulavr mit folgender
Meldung ab:
1 | storage.c:97: ERROR: address out of bounds: 0x4ff
|
Und nichts geht mehr.
Ich würde auch gerne meinen richtigen atmega simulieren (Atmega168), der
wird aber von dieser simulavr-Version nicht unterstützt. Ich habe auch
versucht, mir eine aktuelle Version herunterzuladen (0.8..) konnte
dieser aber nicht compilieren, da hier autoconf und automake irgendwie
nicht richtig funktionieren und eine configure ist dort nicht, wie in
der README erwähnt, enthalten.
Ich weiß, das ist jetzt ein bischen viel auf einmal. Kann mir trotzdem
jemand helfen??
Danke, Andreas