Hallo *,
weiß jemand von euch vllt, wie man "von außen" den ARM-state
beeinflussen kann?
Ich hab folgendes Problem:
Ich hab ein kleines Testprogramm da, was einfach ein paar LEDs zum
blinken bringt, ist nicht weiter wichtig.
Wichtig ist jedoch, dass ich eben im startup code eine Zeile verändert
habe und nun lässt sich der Controllern icht mehr flashen o_O...
Vorher:
1 | /* The vector table */
|
2 | Vectors: LDR PC, Reset_Addr
|
3 | LDR PC, Undef_Addr
|
4 | LDR PC, SWI_Addr
|
5 | LDR PC, PAbt_Addr
|
6 | LDR PC, DAbt_Addr
|
7 | NOP /* Reserved vector */
|
8 | ; LDR PC, IRQ_Addr
|
9 | LDR PC, [PC, #-0x0FF0]
|
10 | LDR PC, FIQ_Addr
|
Da mein Editor nur C Syntax anzeigt, habe ich den Code SO ändern wollen:
1 | /* The vector table */
|
2 | Vectors: LDR PC, Reset_Addr
|
3 | LDR PC, Undef_Addr
|
4 | LDR PC, SWI_Addr
|
5 | LDR PC, PAbt_Addr
|
6 | LDR PC, DAbt_Addr
|
7 | NOP /* Reserved vector */
|
8 | /* LDR PC, IRQ_Addr*/
|
9 | LDR PC, [PC, #-0x0FF0]
|
10 | LDR PC, FIQ_Addr
|
...da ich dachte, das die Art des Kommentars egal sein wird.
Danach ließ sich der Controller noch genau einmal brennen und seit dem
nicht mehr.
Beim download erhalte ich folgende Meldungen:
target state: halted
target halted in ARM state due to debug request, current mode: FIQ
cpsr: 0x600000d1 pc: 0x00009f88
usage: flash probe <num>
/cygdrive/c/DOCUME~1/magnus/LOCALS~1/Temp/arm-gdb-commands91435866734502
84387.tmp:5: Error in sourced command file:
Reply contains invalid hex digit 116
Bei einem anderen Board, das noch hinsichtlich des Flashens funktioniert
erscheint:
target state: halted
target halted in ARM state due to debug request, current mode: User
.
.
.
Wie kann ich nun bewirken, dass das andere Board sich nicht mehr im FIQ
state befindet?
Ich verwende die GNU ARM Toolchain, allerdings in Verbindung mir der
RapidiTTy 1.5 IDE, die von Olimex auch verlinkt wird.
Hardware: Olimex Baord LPC-P212x-B, Olimex ARM-USB-OCD