ARM bootloader: Interrupt-Vektor-Tabelle Verständnis

Der folgende code ist der erste Teil der u-boot zu definieren interrupt-Vektor-Tabelle, und meine Frage ist, wie jede Zeile verwendet werden. Ich verstehe die ersten 2 Zeilen, die den Ausgangspunkt und den ersten Unterricht zu implementieren: reset, und wir definieren reset unten. Aber wenn wir diese Anweisungen unten? Je nach System.anzeigen, jeder Befehl hat eine Feste Adresse, so _fiq ist bei 0x0000001C, wenn wir ausführen möchten, fiq, wir kopieren diese Adresse in den pc und dann ausführen,richtig? Aber in welcher Weise können wir springen auf diese Anleitung: ldr pc, _fiq? Es realisiert in hardware oder durch software? Hoffe, ich mache mich richtig verstanden.

>.globl _start  
>_start:b         reset  
>       ldr       pc, _undefined_instruction  
>       ldr       pc, _software_interrupt  
>       ldr       pc, _prefetch_abort  
>       ldr       pc, _data_abort  
>       ldr       pc, _not_used  
>       ldr       pc, _irq  
>       ldr       pc, _fiq  

>_undefined_instruction: .word undefined_instruction  
>_software_interrupt:    .word software_interrupt  
>_prefetch_abort:        .word prefetch_abort  
>_data_abort:            .word data_abort  
>_not_used:              .word not_used  
>_irq:                   .word irq  
>_fiq:                   .word fiq  
  • Weiter denken: wir bereiten Sie zuerst jedem interrupt hier, dann starten Sie aus "start" oder "reset" - computer, die sind auch definiert als ein interrupt. Dann werden wir auch weiterhin die routine zurückgesetzt. Die folgenden interrupts sind nur eine Vorbereitung für zukünftige hardware - /software-interrupt. richtig?
  • ldr pc, _fiq übersetzt ldr pc, [pc, #_fiq-offset]. So ist das Wort Wert in _fiq geladen wird, in den PC. Ie legen Sie eine Funktion Zeiger auf die Adresse _fiq. Um zu beginnen mit, es wird NULL sein; später können die Menschen Sie bevölkern. Interrupts nicht aktiviert sind, in u-Booten standardmäßig. Siehe: Aktivieren des interrupts im u-boot auf ARM.
InformationsquelleAutor | 2014-01-23
Schreibe einen Kommentar