mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Cortex-A8 Debugging


Autor: Christoph Loohß (chrlo) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Marcus Harnisch (mharnisch) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.