Forum: Mikrocontroller und Digitale Elektronik Cortex-A8 Debugging


von Christoph L. (chrlo) Benutzerseite


Lesenswert?

Hallo Leute,

 ich bin dabei eine Software zu schreiben welche über JTAG einen 
Cortex-A8 (OMAP35xx) programmieren soll. Ich weiß es gibt OpenOCD und 
diverse andere aber ich will und muss das selber machen, also bitte 
keine Ratschläge ich soll doch folgendes Tool usw. nehmen. Danke

So nun zum Problem:
Ich schaffe es die ROM Table der AP auszulesen und dann bekomme ich die 
Adresse von den CoreSight Modulen (und event. andere). Der LESENDE 
Zugriff auf die Debugregister, also die Register DBGDIDR, DBGDSCR usw. 
gelingt ebenfalls, teilweise auch Schreibzugriffe. Nun hab ich versucht 
den Prozessor anzuhalten. Setzen des BIT0 auf 1 im DBGDRCR Register. 
Doch auch nach einigen Sekunden hält der Prozessor nicht an. Vom ARM7, 
ARM9, ARM11 und Cortex-M3 weiß ich das es niemals so lange dauern kann, 
also wenn er nach 2 Sekunden nicht angehalten hat dann mach ich was 
falsch. Also normalerweise sollte das deutlich weniger als ne halbe 
Sekunde dauern.

Hab dann weiter die Dokumente durch geackert und mir ist aufgefallen das 
im DBGDSCR Register ein Bit existiert welches den Halt Debug Mode 
anzeigt (Bit14). Also ist das Bit14 = 1 dann ist er aktiv, nun find ich 
aber nix darüber wie ich es auf eins setzen kann. Also das DEVICEEN Bit 
im CSW Register des AP hab ich kontrolliert, das ist 1. Doch es reicht 
nicht, aber was fehlt denn da noch? Das setzen des Bits direkt im 
DBGDSCR ist doch nicht erlaubt, zumindest geht es nicht bei mir.

Vielen Dank für alle sachdienliche Hinweise, ich bin schon am 
verzweifeln..

Christoph

von Marcus H. (mharnisch) Benutzerseite


Lesenswert?

Christoph Loohß schrieb:

> Das setzen des Bits direkt im DBGDSCR ist doch nicht erlaubt, zumindest
> geht es nicht bei mir.

Doch, das ist ein R/W bit. Schreiben ist aber nur erlaubt, wenn die 
diversen DBGEN und SPIDEN am Prozessorkern auch high sind. Ob das bei 
Deinem SoC auch der Fall ist, und wie man das ggf. umschaltet, müsstest 
Du mal im Datenblatt nachschlagen.

Gruß
Marcus

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.