Forum: Compiler & IDEs Debug-Monitor für AVR/ARM/...


von Hans (Gast)


Lesenswert?

ich darf mich jetzt mit ARM7 beschäftigen und will mir aber keinen
fetten jtag zulegen... und 2 schnittstellen belegen ist irgendwie auch
dumm (wiggler zum debuggen und rs232 zum uploaden) wobei man damit auch
nicht richtig debuggen kann weil man über den lustigen wiggler
anscheinend den flash nicht schreiben kann (=>keine breakpoints im
flash)

meine idee wäre nun eine isp soft zu schreiben die auch noch BPs setzen
kann.. sprich einfach dort wo ein bp sein soll einen call auf den
bp-handler.. der sichert die register und meldet dem pc wo er in einen
bp gelaufen ist.. das sollte eigentlich ja kein großes problem
darstellen.. nur wenn dann würde ich doch gerne auf source-basis
debuggen... daher müsste man ein interface für den gdb schreiben wenn
ich das richtig sehe.. nur hab ich in der doku auf die schnelle nix
gefunden...

und bevor ich jetzt viel zeit in probieren, infos suchen udgl
investiere würde ich mal wissen ob schon mal jemand ähnliches
verbrochen hat und ggf. nützliche ratschläge hat...

prinzipiell hab ich mir das bp-setzen so vorgestellt wie viren ihren
code einpflanzen... zu überschreibende daten speichern.. überschreiben
mit call auf handler.. im handler alles sichern was wichtig ist
(register, flags,...) dann bp handling machen.. und beim resume state
wiederherstellen, und überschriebenencode +jump auf den nächsten code
ausführen...

möglich ist sowas sicher (hab ähnliches am x86 schon öfter fabriziert)
einzige frage die sich mir stellt.. gibts sowas schon oder gehts mit
weniger aufwand auch über open-source und jtag (wiggler vorhanden)

73

von A.K. (Gast)


Lesenswert?

"keine breakpoints im flash"

Genauer: Nur 2 Breakpoints im Flash, nämlich diejenigen, die von der
Debug-Hardware realisiert werden.

Das ist sicher einer der Gründe für die Popularität vom LPC2106: Genug
RAM um allerlei Debugging dorthin zu verlegen. Im RAM sind die
Soft-Breakpoints nämlich kein Problem, und strapazieren auch das Flash
nicht so.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Mit geeigneten Werkzeugen ist es sehr wohl möglich, mit einem Wiggler
auch Breakpoints im Flash anzulegen.
Das kann einerseits Rowley Crossworks, und andererseits auch OCD Remote
in einer der neueren Inkarnationen sogar in Zusammenarbeit mit GDB;
zumindest wurde dies in der lp2000-Yahoo-Group in letzter Zeit
diskutiert.

Mindestens mit Crossworks kann sowohl das Programmieren des Flash-ROMs
als auch das Debuggen über das JTAG-Interface erfolgen, so daß keine
serielle Schnittstelle benötigt wird.

Mit welchen frei verfügbaren Werkzeugen über JTAG das Flash-ROM
programmiert werden kann, entzieht sich jedoch meiner Kenntnis.

Du solltest Dich bei der lpc2000-Group anmelden, da gibt es recht viele
Informationen über die LPC-ARMe und auch allgemeine ARM-Informationen.
http://groups.yahoo.com/group/lpc2000/

Leute sowohl von Philips als auch Rowley sind dort aktiv, Fragen werden
i.d.R. recht kompetent beantwortet.

von mthomas (Gast)


Lesenswert?

Es gibt einige Monitor-Programme fuer ARM, die von der Funktion her
sowohl Schnittstellen zum gdb als auch zum Flash-Programmieren
bereitstellen. Meistens ausgelegt fuer Kommunikation ueber UART,
sollten sich aber auch relativ einfach auf den
Debug-Communication-Channel und Wiggler anbinden. Meines Wissens sind
diese bisher jedoch noch nicht auf LPC2000 oder AT91SAM portiert,
bieten aber sicher brauchbare Vorlagen. google-Futter: redboot  angel,
uboot.

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
Noch kein Account? Hier anmelden.