STM32::Algunas preguntas sobre el inicio del proyecto

I. Descripción general:

El archivo de inicio realiza las siguientes funciones principales

This module performs:
- Set the initial SP                    //设置初始化堆栈空间
- Set the initial PC == Reset_Handler   //设置PC指针
- Set the vector table entries with the exceptions ISR address              //设置中断向量表
    - Configure the clock system                                            //设置系统时钟
    - Branches to __main in the C library (which eventually calls main()).  //进入C语言 main()

Para obtener más información, consulte:
 Explicación detallada del archivo de inicio SCM STM32 (análisis del lenguaje ensamblador)_Archivo de inicio MCU_Blog de KaminLuo-Blog CSDN

Análisis de código de inicio STM32F4_equipo de aplicación mcd_Blog de JXDZ-Blog CSDN 

2. Varios puntos y cuestiones clave 

Punto clave 1: configurar la tabla de vectores

        Cuando el kernel responde a una excepción que ocurre, se ejecuta el controlador de excepciones correspondiente. Para determinar la dirección de entrada del programa de servicio de excepción, el kernel utilizará la tabla de vectores para realizar consultas, al igual que una matriz de punteros, cada subíndice representa una excepción y el valor dentro es la dirección del programa. Debido a que después del reinicio, el valor del registro es 0, se necesita una tabla de vectores en 0x0000 0000 para determinar el siguiente salto del programa, por lo que la tabla se asigna a la dirección 0x0000 0000

Pregunta 1: ¿Cómo corresponde el evento anormal a la función de procesamiento de interrupción correspondiente, es decir: cómo se genera el subíndice para encontrar la dirección de la función de interrupción?

La correspondencia entre los eventos de interrupción y las funciones de interrupción está determinada tanto por el hardware como por el software.

        A nivel de hardware, los periféricos del microcontrolador (como temporizadores, puertos serie, etc.) generarán señales de interrupción específicas, y estas señales de interrupción activarán los eventos de interrupción correspondientes . Por ejemplo, cuando el temporizador se desborda, se activará un evento de interrupción del temporizador; cuando el puerto serie reciba datos, se activará un evento de interrupción de recepción del puerto serie. (interrupción fuerte)

        A nivel de software, los desarrolladores deben configurar controladores de interrupciones (como NVIC, controlador de interrupciones vectoriales anidadas) para permitir que interrupciones específicas se activen correctamente y especificar las funciones de procesamiento de interrupciones correspondientes. (interrupción suave)

En términos generales, las configuraciones correspondientes a eventos de interrupción y funciones de interrupción se dividen en los siguientes pasos :

  1. Configure el módulo periférico: configure el modo de trabajo, la habilitación de interrupciones y otros parámetros del módulo periférico para que pueda generar eventos de interrupción.
  2. Configure el controlador de interrupciones: utilice los registros o interfaces de software relacionados con el controlador de interrupciones para establecer la prioridad de las interrupciones, habilitar fuentes de interrupciones específicas, etc.
  3. Escribir función de manejo de interrupciones: escriba una función de manejo de interrupciones en el código y realice las operaciones correspondientes según el tipo de evento de interrupción. La vinculación de la dirección de la función de procesamiento de interrupciones con el número de interrupción generalmente se logra escribiendo la dirección de la función de procesamiento de interrupciones en la tabla de vectores de memoria.
  4. Habilite la habilitación de interrupción global: en el lugar apropiado, encienda el interruptor de habilitación de interrupción global, para que la interrupción pueda responder normalmente.

Cabe señalar que los métodos de configuración y operación específicos pueden variar debido a diferentes plataformas de hardware, lenguajes de programación o herramientas de desarrollo. De acuerdo con los documentos y programas de muestra de la plataforma de hardware y las herramientas de desarrollo utilizadas, puede conocer los métodos de configuración y configuración específicos.

 

Supongo que te gusta

Origin blog.csdn.net/one__leaf/article/details/132412957
Recomendado
Clasificación