Hallo! Bin gerade leider völlig ratlos... Ich habe ein Prototype-Board LPC-P2148 von Olimex. Dazu den ARM-USB-TINY. Arbeite mit Yagarto. Debuggen im RAM funktioniert einwandfrei. Allerdings möchte ich aufgrund der Programmgröße jetzt für einen Test des Gesamtprogramms das Ganze mal in den Flash schreiben. Habe es zuerst mit dem Philips Flash Utility versucht, allerdings hat es mir lediglich die ID ausgelesen, flashen ging nicht. Liegt wohl an einer Abneigung gegenüber USB-Seriell-Konvertern... Daraufhin habe ich Flashmagic ausprobiert. Laut Flashmagic hat es auch funktioniert, allerdings schaut es letztlich so aus, dass mein Programm wohl startet, aber die Ausgabe auf mein LCD-Display nicht richtig funktioniert, es blinkt mal kurz was auf und dann geht nix mehr. Wenn ich dann das Board resete, erscheint was auf meinem Display, allerdings um fünf oder sechs Zeichen nach rechts verschoben. Da ich einen Fehler meinerseits natürlich nicht vollkommen ausschließen kann, würde ich jetzt gerade über meinen JTAG-Adapter den µC flashen und idealerweise mal im Flash debuggen. Ich habe auch schon diverse Seiten nach passenden Infos durchsucht. Allerdings nicht wirklich was gefunden, dass mich weitergebracht hat. Habe mal ein Dokument mit meinem Config-File und dem Flashscript angehängt. Würde mich sehr über Tipps und Ratschläge freuen! Vielleicht kennt sich von Euch ja einer gut damit aus, oder hatte schonmal das gleiche oder ein ähnliches Problem. Viele Grüße Jansus
Wenn Flashmagic sagt, dass die Programmierung erfolgreich war, dann solltest du erst einmal davon ausgehen, dass dies stimmt. Und dass dein Programm das Problem ist.
Da hast Du recht! Habe es inzwischen auch hinbekommen, dass mein LCD das Richtige ausgibt. Aber so ein paar Kleinigkeiten im späteren Verlauf meines Programms funktionieren noch nicht. Daher würde ich es eben gerne mal im Flash debuggen, denn wenn ich es im RAM debugge funktioniert alles. Weißt Du wie ich das mit Yagarto realisieren kann? Oder hast Du einen Tipp für mich wo ich es herausfinden kann?
Ich hatte es mit GNUARM/Eclipse/OpenOCD hinbekommen (war vor Yagarto). Ist etwas hakliger, weil im Flash nur 2 Breakpoints existieren und davon einer für den Trace draufgeht. Aber ist zu lange her. Schau mal bei http://en.mikrocontroller.net/forum/17 vorbei.
Vielen Dank für Deinen Tipp! Habe dort leider nix gefunden, habe auch diverse andere Foren durchsucht, zwar Anstöße bekommen, aber nichts erfolgreiches. Leider besteht mein Problem immer noch. Habe auch keine Ahnung was der Fehler ist. Gibt es irgendeinen Grund weshalb was im RAM läuft und im Flash nicht mehr? Mein Programmabschnitt, der Probleme macht, schaut in etwa so aus: Ein Taster, via EXTINT, kann eine Funktion starten (beim ersten drücken) und wieder beenden (beim zweiten drücken). Im RAM funktioniert das einwandfrei. Im Flash allerdings funktioniert es nicht mehr. Merkwürdigerweise kann ich den Taster aber an anderer Stelle nutzen. Nur beim Starten dieser einen Funktion klappt nix. Daher gehe ich davon aus, dass es an der folgenden Funktion liegen muss. Hier werden Variablen (static) hochgezählt und entsprechend ihrem Wert Softwareinterrupts ausgelöst. Aber kann das mein Fehler/Problem sein? Verzweifelte Grüße Jansus
Auf der Yagoarto Webseite gibt es ein "how to" tutorial fuer open OCD und fuer J-Link. Da funktioniert debugging im Flash sehr gut. Solltest Du Stdent sein, dann gibt es J-Link fuer 99 Euro. http://yagarto.de/howto/jlink/index.html Robert
Danke auch für Deinen Tipp! Leider bin ich eben Student und kann mir daher nicht mal eben 100Euronen für nen neuen Adapter leisten. Muss es irgendwie mit meinem ARM-USB-OCD-TINY hinbekommen. Habe inzwischen rausgefunden, dass es mit meinen Softwareinterrupts zusammenhängt. Wenn ich sie mit MEMMAP=2 in den RAM verschieben lasse, gehts, wenn ich sie allerdings im Flash lasse, MEMMAP=1, funktionieren nur die EXTINTs aber meine SW-Interrupts nicht mehr. Ist das was bekanntes?
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.