BRAS de chargeur de démarrage: Vecteur d'Interruption de la Table de Compréhension

Le code qui suit est la première partie de u-boot pour définir le vecteur d'interruption de la table, et ma question est de savoir comment chaque ligne seront utilisés. Je comprends les 2 premières lignes qui est le point de départ et la première instruction à mettre en œuvre: reset, et nous définissons réinitialiser ci-dessous. Mais quand allons-nous utiliser ces instructions ci-dessous? Selon le Système.carte, chaque instruction a une adresse fixe, de sorte _fiq est à 0x0000001C, lorsque l'on veut exécuter la fiq, nous allons copier cette adresse dans le pc, et puis l'exécuter,à droite? Mais de quelle manière pouvons-nous sauter à la présente instruction: ldr pc, _fiq? Il est réalisé par le matériel ou le logiciel? De l'espoir, je me faire comprendre correctement.

>.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  
Une réflexion plus loin: nous avons d'abord préparer tous les interrompre ici, puis à partir de "démarrer" ou "reset" de l'ordinateur, qui sont également définis comme une interruption. Puis nous continuons la routine de réinitialisation. Suivant les interruptions ne sont qu'une préparation pour l'avenir de matériel/logiciel d'interruption. droit?
ldr pc, _fiq est traduit comme ldr pc, [pc, #_fiq-offset]. Donc, le mot valeur à _fiq est chargé dans le PC. C'est à dire, vous placez un pointeur de fonction à l'adresse _fiq. Pour commencer, il sera NULL; plus tard, les gens peuvent remplir. Les interruptions ne sont pas activées dans u-boot par défaut. Voir: l'Activation des interruptions dans u-boot sur les BRAS.

OriginalL'auteur | 2014-01-23