Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| arm_interrupt_controllers [2024/05/29 16:53] – [Controlador de Interrupciones Genérico] Mejora de redaccion cnigri | arm_interrupt_controllers [2026/06/12 23:29] (actual) – cnigri | ||
|---|---|---|---|
| Línea 13: | Línea 13: | ||
| {{ : | {{ : | ||
| - | Si bien el diagrama presenta la arquitectura para múltiples núcleos (processors), | + | Si bien el diagrama presenta la arquitectura para múltiples núcleos (processors), |
| Según la fuente, hay tres tipos principales de interrupciones definidas. | Según la fuente, hay tres tipos principales de interrupciones definidas. | ||
| Línea 40: | Línea 40: | ||
| ==== CPU Interface ==== | ==== CPU Interface ==== | ||
| - | Existe una instancia por núcleo de CPU disponible e interconecta la interfaz provista por el Distributor con el núcleo correspondiente. Cada interfase | + | Existe una instancia por núcleo de CPU disponible e interconecta la interfaz provista por el Distributor con el núcleo correspondiente. Cada interfaz |
| - | * Ítem de lista desordenadaÍtem de lista desordenadaDes/habilitar la señal de IRQ al procesador | + | * Des/habilitar la señal de IRQ al procesador |
| * Dar acuse de recibo de la interrupción | * Dar acuse de recibo de la interrupción | ||
| * Indicar que el procesamiento de la interrupción se ha finalizado | * Indicar que el procesamiento de la interrupción se ha finalizado | ||
| Línea 56: | Línea 56: | ||
| CPU Interface | CPU Interface | ||
| - | < | + | El valor especifico de la dirección base se brinda en la documentación especifica de cada fabricante ([[https:// |
| + | < | ||
| #include < | #include < | ||
| - | /*GIC Register Definitions | + | /*GIC Register Definitions*/ |
| - | #define ICCICR | + | #if defined(__PB_A8__) |
| - | #define ICDDCR | + | #define GIC0_CPU_BASE |
| - | #define ICDICTR | + | #define GIC0_DISTRIBUTOR_BASE |
| - | #define ICDISER(n) | + | #elif defined(i386) |
| - | #define ICDICER(n) | + | #define GIC0_CPU_BASE |
| - | #define ICDIPR(n) | + | #define GIC0_DISTRIBUTOR_BASE |
| - | #define ICDIPTR(n) | + | #endif |
| - | #define ICDICFR(n) | + | |
| + | #define ICCICR | ||
| + | #define ICCPMR | ||
| + | #define ICCBPR | ||
| + | #define ICCIAR | ||
| + | #define ICCEOIR | ||
| + | #define ICDDCR | ||
| + | #define ICDICTR | ||
| + | #define ICDISER(n) | ||
| + | #define ICDICER(n) | ||
| + | #define ICDIPR(n) | ||
| + | #define ICDIPTR(n) | ||
| + | #define ICDICFR(n) | ||
| </ | </ | ||
| Línea 138: | Línea 151: | ||
| ===== Caso de uso PB-A8 ===== | ===== Caso de uso PB-A8 ===== | ||
| - | A los fines de la placa empleada, para la resolución de la guía de trabajos prácticos del primer cuatrimestre, | + | A los fines de la placa empleada, para la resolución de la guía de trabajos prácticos del primer cuatrimestre, |
| En forma complementaría al código, en C, presentado anteriormente para la configuración del GIC, a continuación se brinda a modo de referencia básica el equivalente en ensamblador | En forma complementaría al código, en C, presentado anteriormente para la configuración del GIC, a continuación se brinda a modo de referencia básica el equivalente en ensamblador | ||
| Línea 213: | Línea 226: | ||
| {{ : | {{ : | ||
| - | --- // | + | --- // |