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