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
"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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.