Red de conocimiento informático - Conocimiento del nombre de dominio - Cuando el procesador comienza a manejar la excepción, ¿cómo manejar el estado pendiente de la excepción?

Cuando el procesador comienza a manejar la excepción, ¿cómo manejar el estado pendiente de la excepción?

Canales populares

Página de inicio

Blog

Instituto de formación

VIP

APP

Preguntas y respuestas

Descargar

Comunidad

Canales recomendados

Actividades

Reclutamiento

Tema

Abrir aplicación CSDN

Copyright 1999-2020, CSDN.NET, todos los derechos reservados

arm

Open APP

Manejo de excepciones ARM (2): análisis de 6 situaciones de entrada de interrupción y cuelgue original

2022-12-05 14:14:43

tilblackout

Antigüedad del código 6 años

Seguir

Esta sección describirá el análisis de la entrada de interrupción y el bloqueo, que también se aplica a la entrada de NMI, NMI se ejecuta inmediatamente en la mayoría de los casos a menos que: el controlador de interrupciones NMI ya se esté ejecutando, el depurador lo haya puesto en pausa o el chip se bloquee debido a algún error grave del sistema.

1.

Cuando se ingresa una interrupción, se suspenderá y luego se colocará en un estado de espera a que el procesador procese la solicitud. En este momento, incluso si la fuente de interrupción. está deshabilitado, la fuente de interrupción se suspenderá. La interrupción iniciada aún activará su controlador de interrupción correspondiente al final, y una vez que el controlador de interrupción comience a ejecutarse, el estado pendiente se borrará automáticamente.

Inserte una descripción de la imagen aquí

2,

Sin embargo, si el estado pendiente se borra antes de que el procesador comience a responder a la interrupción pendiente (por ejemplo, porque PRIMASK /FAULTMASK se establece en 1, la interrupción no se ejecuta inmediatamente y el estado pendiente debe borrarse mediante la escritura del software en el registro de control de interrupciones NVIC), la interrupción se puede cancelar en este momento.

Inserte una descripción de la imagen aquí

El estado pendiente de la interrupción se puede leer y escribir accediendo al registro NVIC, de modo que el usuario puede borrar un bit de indicador de interrupción pendiente o establecer el estado pendiente. con software Registrarse para suspender una nueva interrupción.

3.

Cuando el procesador comienza a ejecutar una interrupción, el estado de la interrupción se activa y el bit pendiente se borrará automáticamente. La misma función de manejo de interrupciones no se puede anidar durante el procesamiento. Solo cuando su estado activo se borra mediante la salida de excepción puede continuar respondiendo a la misma interrupción.

Inserte una descripción de la imagen aquí

4.

Si la fuente de interrupción continúa enviando señales de solicitud de interrupción, la interrupción se colgará nuevamente al final del terminal. aumento de la función de procesamiento de servicios.

Inserte una descripción de la imagen aquí

5.

Si una interrupción genera múltiples pulsos en la línea de solicitud de interrupción antes de ser procesada, se procesará una vez.

Inserte una descripción de la imagen aquí

6.

Si una solicitud de interrupción se cancela y luego se activa nuevamente en la rutina del servicio de interrupción, se activará nuevamente.

Inserte una descripción de la imagen aquí

Resumen:

Incluso si las interrupciones están deshabilitadas, aún pueden ocurrir interrupciones pendientes

Una interrupción pendiente deshabilitada puede aún se activará cuando se habilite posteriormente

Por lo tanto, es útil verificar si el registro pendiente está configurado antes de habilitar la interrupción. Es posible que la fuente de interrupción se haya activado y establecido en un estado pendiente antes de que la habilitara. Si es necesario, el estado pendiente se puede borrar antes de habilitar las interrupciones.

Haga clic para leer el texto completo

Abra CSDN para una mejor experiencia de lectura

Proceso de manejo de excepciones RTOSARM Cortex-M

Cortex- M3 y Cortex -M4 1. Entrada, salida y acceso a periféricos del procesador En términos generales, los periféricos deben inicializarse antes de su uso, lo que generalmente incluye los siguientes pasos: Si es necesario, configure el bucle de control del reloj para habilitar el reloj conectado al periférico y el clavija correspondiente. Muchos microcontroladores modernos permiten un ajuste fino de la distribución de la señal del reloj, como habilitar/deshabilitar la conexión del reloj a cada periférico para ahorrar energía.

Los relojes de los periféricos generalmente están desactivados de forma predeterminada y deben habilitarse antes de programar los periféricos. En algunos casos, también puede ser necesario habilitar el reloj del sistema de bus periférico. En algunos casos, también puede ser necesario configurar el modo de funcionamiento del pin de E/S. La mayoría de los microcontroladores tienen pines de E/S multiplexados que pueden usarse para múltiples propósitos. Para utilizar periféricos, configure los pines de E/S para que coincidan

Continuar acceso

ARM: proceso de manejo de excepciones de interrupción de ARM

En el desarrollo de placa básica, use Este es el marco actual: ……………………………………………………………… main (void) { // Una serie de inicializaciones while (1) { // Periodicidad Cosas } } ↓+↓ Manejo de excepciones (manejo de eventos asincrónicos) ………………………

Continuar visitando

Arquitectura ARM V8A - Capítulo 10 Procesamiento de excepciones AArch64

Descripción general Estrictamente hablando, una interrupción se refiere a una interrupción en el flujo de ejecución del software. Sin embargo, en la terminología ARM esto suele denominarse excepción. Las excepciones son condiciones o eventos del sistema que requieren niveles de privilegios (controladores de excepciones) para realizar ciertas acciones para garantizar el buen funcionamiento del sistema. Cada excepción tiene un controlador de excepciones asociado. Una vez que se maneja la excepción, el software privilegiado restaurará el núcleo a la posición anterior a que se manejara la excepción para continuar procesando lo que estaba haciendo. Los tipos de excepciones que existen son los siguientes: Interrupciones: Existen dos tipos de interrupciones llamadas IRQ y FIQ. FIQ tiene mayor prioridad que IRQ. ...

Continuar visitando

Última versión del manejo de excepciones ARM (1): tipos de excepciones, agrupación de prioridades y tabla de vectores de excepciones

Cortex-M3 proporciona A Arquitectura de excepciones rica en funciones que admite muchas excepciones del sistema e interrupciones externas. Los números de excepción del 1 al 15 indican excepciones del sistema, y ​​los números 16 y superiores indican entrada de interrupción externa. La mayoría de las excepciones tienen prioridades programables y algunas tienen prioridades fijas. La excepción que se está ejecutando actualmente se puede ver a través de registros o campos especiales en . Cuando ocurre una excepción habilitada pero no se puede ejecutar inmediatamente (por ejemplo, se está procesando una rutina de servicio de interrupción de mayor prioridad), se suspenderá.

Acceso continuo

Interrupciones y excepciones ARM

Definición de interrupción: Cuando la CPU está ejecutando un programa, responde a algo que sucede en el sistema. : La CPU pausa el programa en ejecución y, después de proteger la escena, cambia automáticamente para procesar el evento correspondiente. Después de procesar el evento, volverá a la posición anterior. Ejemplo: Por ejemplo, al leer un disco, hay un problema con el disco y no se puede leer, lo que provoca una interrupción. Una vez resuelto el problema, el programa se reanuda y los errores de software también provocarán la interrupción. Características: 1) Interrumpir aleatoriamente para mejorar el rendimiento en tiempo real. 2) Las interrupciones son recuperables 3) Las interrupciones son fuentes de interrupción procesadas automáticamente

Continuar acceso

Sistema de excepción/interrupción central ARM Six Cortex-M, prioridad de interrupción/incrustación Explicación detallada

Problema Recientemente, cuando utilicé el chip STM32F3, me encontré con un problema de este tipo: si la frecuencia de las interrupciones externas llega lo suficientemente rápido y la interrupción anterior no se ha procesado, ¿cómo lidiar con la nueva interrupción? Al depurar, descubrí que hay interrupciones y estados como bloqueo, activación y desactivación. ¡Considere para qué se utilizan estos estados! Son exclusivos del núcleo Cortex-M, por lo que este artículo no se centra en la MCU STM32 específica, sino que va directamente al núcleo Cortex-M para descubrirlo. Introducción ?Las interrupciones (también llamadas "excepciones") son una característica muy común de los microcontroladores.

Interrupción 1...

Continuar visitando

Principios y aplicaciones del sistema operativo Linux 05: Interrupciones y excepciones

Contenido 1. Descripción general de las interrupciones 1.1 ¿Qué son las interrupciones 1.2? Por qué se introducen las interrupciones 1.3 Clasificación de las interrupciones 1.4 Cuándo responde la CPU a las interrupciones 2. Introducción a los controladores de interrupciones 2.1 Estructura del modelo C/S de las interrupciones 2.2 Controladores de interrupciones como intermediarios 2.3 Controlador de interrupciones programable avanzado (APIC) 2.4 Mecanismo y estrategia Mecanismo de interrupción separado 3. Marco del subsistema de interrupciones del kernel de Linux 4. Vector de interrupciones y tabla de descriptores de interrupciones 4.1 Vector de interrupciones 4.1.1 Concepto de vector de interrupciones 4.1.2 Asignación de vectores de interrupciones 4.2 Tabla de descriptores de interrupciones (IDT) 4.2.1 Tabla de vectores de interrupciones en modo real

Continuar acceso

Procesador ARM ~ Interrupciones y excepciones

Libro de texto: sistemas y aplicaciones integrados, Luo Lei, Li Yun, Chen Lirong, etc., Electronic Industry Press Interrupt and Definición de excepción Los modos de trabajo en ARM, excepto Usuario y Sistema, son todos modos de excepción. La excepción aquí es amplia e incluye los siguientes tres tipos de situaciones: Interrupción externa (interrupción externa) cambios debido a razones fuera de la CPU El flujo de ejecución del programa es. es un evento asincrónico y puede enmascarar interrupciones de software (trampas). A través de las instrucciones de software propiedad del procesador, el programa en ejecución puede cambiar de manera predecible el flujo de ejecución para ejecutar eventos explícitos del programa. La ejecución incondicional es sincrónica. Continuar visitando

Resumen de aprendizaje integrado de ARM (7): Botones e interrupciones

Resumen de aprendizaje integrado de ARM (7): Botones Interrupción 1. Botón 1. Botón del S5PV210 2 Métodos correspondientes de 2 botones: modo de sondeo y modo de interrupción 3. Configuración del modo GPIO correspondiente al botón 4. Flujo del programa de procesamiento del botón en modo de sondeo 5. Escritura de código 6. Botón anti-rebote 2. Interrupciones 1. ¿Qué es una interrupción? 2. Por qué se necesita una interrupción 3. Tabla de vectores de excepción 4. La diferencia y conexión entre excepciones e interrupciones 5. Por qué el procesamiento de interrupciones debe realizarse primero en ensamblaje 6. El proceso básico de las interrupciones 7. Interrupción S5PV210 Registros principales procesados ​​3. Interrupción código (1) Vincular la tabla de vectores de excepción de interrupción (2) Inicializar el registro básico del controlador de interrupciones (3) Vincular el isr que escribimos al registro VICnVECTADDR (4) Habilitar interrupciones (

Continuar acceso

Excepciones e interrupciones

1. Introducción a las excepciones e interrupciones Las interrupciones son generalmente eventos generados por el hardware (como periféricos y pines de entrada externos), que harán que el programa se desvíe del flujo. Proceso normal (como proporcionar servicios a periféricos). Cuando un periférico o hardware requiere servicios del procesador, generalmente ocurre el siguiente proceso: ① El periférico reconoce la solicitud de interrupción del procesador ② El procesador suspende la ejecución actual. ISR del periférico y, si es necesario, puede optar por borrar la solicitud de interrupción mediante el software. ④El procesador continúa ejecutando la tarea previamente suspendida. Todos los procesadores Cortex-m proporcionan un controlador de interrupciones vectoriales anidadas (NVIC) para el manejo de interrupciones. Además de las solicitudes de interrupción, hay otros eventos que deben atenderse, que se denominan excepciones. Según ARM, una interrupción también es una excepción.

co

Continuar visitando

10. Sistema de interrupción de aprendizaje ARM bare metal 2 (interrupción externa del botón S5PV210 y procesamiento de interrupción)

1. Referencia del botón de procesamiento del método de sondeo :\Linux\8.key_open 2. Clave de procesamiento en modo de interrupción 2017/11/21 23:30 Referencia: /9291927/1787523 1. Análisis de la tabla de vectores de excepción: (1), restablecer (

Continuar acceso

La tecla ARM K2 desencadena una interrupción e imprime una 'S' en el HyperTerminal

La tecla ARM K2 desencadena una interrupción e imprime una 'S' en el HyperTerminal

Continuar visitando

RTOS integrado---Flujo de procesamiento de interrupciones y excepciones

Sistema de interrupciones ARM explicado con S3C2440 1 Principio de hardware del sistema de interrupciones El procesamiento de interrupciones se divide en procesamiento de interrupciones unificado y procesamiento de interrupciones independientes Interrupción procesamiento; 1.1 Procesamiento unificado de excepciones e interrupciones 1.1.1 Modo de excepción de ARM La llamada excepción se refiere a la interrupción del proceso de ejecución normal del programa y la necesidad de completar algún trabajo especial (las interrupciones también son una excepción). Incluye interrupciones externas generadas por hardware externo e interrupciones internas generadas por hardware interno. Las excepciones se dividen en excepciones sincrónicas (excepciones generadas por instrucciones del software SWI) y asíncronas...

Continuar acceso

Guía del programa ARM V8 - Capítulo 10 Manejo de excepciones AArch64 (traducción)

Capítulo 10 Manejo de excepciones AArch64 Estrictamente hablando, las interrupciones se refieren al proceso de ejecución del software, pero, en terminología arm, colectivamente llamadas excepciones son una excepción. Condición o evento del sistema que requiere que un software privilegiado (un controlador de excepciones) realice alguna acción para garantizar el buen funcionamiento del sistema. Cada tipo de excepción tiene un controlador de excepciones que el software privilegiado permite que la excepción maneje. El kernel está listo para reanudar lo que sea. Hizo antes de manejar la excepción. A continuación se presentan varias excepciones: Interrupción: generalmente hay dos tipos, divididos en irq y fiq. La prioridad de fiq es mayor que la de IRQ, y estas dos excepciones generalmente están relacionadas entre sí. en el núcleo, suponiendo que las interrupciones no están deshabilitadas, el hardware externo afirma una solicitud de interrupción y continúa el acceso cuando la instrucción actual completa la ejecución. Manejo de excepciones del kernel Twelve Cortex-M de ARM, métodos de localización de excepciones, depuración en línea y El uso de Keil MDK-ARM se desarrolla en la plataforma ARM. En realidad, no hay muchas opciones de herramientas de desarrollo, que se pueden dividir básicamente en tres categorías: Keil MDK-ARM, IAR para ARM y entre las series GCC para ARM. Los más utilizados son Keil MDK-ARM e IAR para ARM. Hay muchos IDE en la serie GCC para ARM, pero todos utilizan GCC para ARM como kit de compilación e IDE. Todos están personalizados por cada empresa. Por ejemplo, ST tiene Embedded Studio y SEGGER tiene Embedded Studio.

¿Compilar? Desde archivos fuente hasta archivos ejecutables, se requiere preprocesamiento y compilación

Continuar acceso

LinuxARM Parte 8 - Experimento de interrupción

ARM Parte 8 - Experimento de interrupción 1 , Prefacio 2, Preparación 3, Interacción entre CPU y hardware 4, Método de sondeo para realizar el experimento del botón 1, Diagrama de circuito original 2, Implementación del botón 5, Principio de implementación de interrupción de RAM 6, Interrupción GPIO 1, GPX1CON2, Registro EXT_INT41CON 3, Registro EXT_INT41_MASK 7, controlador de interrupción 1, registro ICDDCR 2, registro ICDISER 3, registro ICDIPTR 8. Implementación de interrupción 1, registro ICCIAR 2, registro EXT_INT41_PEND 3, registro ICCEOIR 9, código completo y grabación en 1. Interrupción del código completo 2. Paso de grabación del programa 10. Fenómeno experimental 1. Fenómeno experimental del botón de sondeo.

Continúe visitando

Puntos de conocimiento sobre el manejo de interrupciones de excepciones de ARM

Los siete tipos de excepciones en el procesador ARM están ordenados de mayor a menor de la siguiente manera: Excepción de reinicio (Reset) Excepción de datos (Aborto por fecha) Excepción de interrupción rápida (FIQ) Excepción de interrupción externa (IRQ) Excepción de captación previa (Aborto de captación previa) Excepción de interrupción de software (SWI) Excepción de instrucción no definida (instrucción poco definida) ) Cuando se produce una excepción, el procesador...

Continuar acceso

Activar la configuración del botón de metal desnudo e interrupciones

p>

Características físicas de los botones ** (1) Cuando nadie presiona el botón, el resorte rebota el botón. Está internamente desconectado en este momento. (2) Cuando alguien lo presiona, la fuerza de la mano supera la fuerza elástica del resorte y presiona el botón. En este momento, el interior permanece cerrado (si se retira la mano, el botón se abre nuevamente debajo del); acción del resorte, y al mismo tiempo el interior se desconecta nuevamente. (3) Los botones generales tienen 4 pines, y estos 4 pines forman 2 pares: un par es un contacto normalmente abierto (como se describe arriba, se abrirá si no lo presiona y se cerrará si lo presiona); Es un contacto normalmente cerrado (se cierra cuando no se presiona y se abre cuando se presiona) ** Principio eléctrico del botón (analizado en conjunto con el diagrama esquemático) **(1) Conexión de hardware: SW5:GPH0_2 SW6:GPH0_3 SW78

Continuar acceso

Experimento de interfaz ARM—experimento de interrupción

ARM—experimento de interrupción

Continuar acceso

Interrupción ARM Control - Parte 6

La interrupción puede entenderse como cuando ocurre una situación inesperada en el sistema, puede detener automáticamente el programa que se está ejecutando actualmente y transferir la nueva situación al programa que ejecuta para su ejecución. volverá La ejecución del programa originalmente suspendido continúa.

Continuar visitando

arm

Escribir una reseña

Comentar

Recoger

Haga clic en Me gusta

No me gusta

Compartir

Abra la aplicación CSDN para una mejor experiencia de lectura