STM32 --- BOOT0 y BOOT1


prefacio

Cómo descargar el programa para la placa base más pequeña de STM32F103C8T6.
Y al descargar el programa, la influencia de boot0 y boot1.


1. Mapa mental

inserte la descripción de la imagen aquí

2. Asuntos que requieren atención

1. Para los diferentes modos de cableado de BOOT0 y BOOT1 (nivel alto, nivel bajo, sin cableado), el análisis de la situación de descarga de la placa de desarrollo es el siguiente: ("x" significa sin cableado, "√" significa descarga exitosa)

inserte la descripción de la imagen aquí

Resumir:

1. En la imagen se puede ver que el programa debe descargarse correctamente, pero es posible que no pueda ejecutarse correctamente. Además, en el modo de descarga de ST-Link, si BOOT0=1, el código no se puede ejecutar. ¿Por qué? Debido a que J-Link descarga el código a Flash, y las configuraciones BOOT0 y BOOT1 que determinan el modo de inicio no se inician desde Flash, por lo que el código no se puede leer
2. En el modo de descarga del puerto serie (tenga en cuenta que los circuitos DTR y RTS son no se usa para descargar), el programa también se escribe en Flash;
3. No importa qué método se use para descargar el programa, la ubicación de almacenamiento del programa está en Flash, pero BOOT0 y BOOT1 determinan dónde comienza a procesarse el programa (el valor inicial del puntero de la PC está configurado como What); por lo tanto, si se descarga el programa, debe configurar el cableado de BOOT0 y BOOT1 para que el programa comience desde Flash, por ejemplo: BOOT0 = 0, BOOT1 = 1;

2. El modo determinado por BOOT

inserte la descripción de la imagen aquí

1. La memoria flash principal es la Flash incorporada de STM32. Generalmente, cuando usamos el modo JTAG o SWD para descargar el programa, se descarga a este y el programa se
inicia directamente desde aquí después de reiniciar .

2. Memoria del sistema
Comience desde la memoria del sistema, y ​​el fabricante establece la función del programa iniciado en este modo. En términos generales, este método de inicio se usa menos. La memoria del sistema es un área específica dentro del chip. Cuando el STM32 sale de fábrica, ST preestablece una sección de BootLoader en esta área, que es lo que a menudo llamamos el programa ISP. Esta es una pieza de ROM que no se puede modificar después de salir la fábrica. En términos generales, cuando elegimos este modo de inicio, es para descargar el programa desde el puerto serie, porque el BootLoader proporcionado por el fabricante proporciona firmware para descargar el programa a través del puerto serie , y el programa se puede descargar al Flash del sistema a través de este cargador de arranque. Pero este método de descarga requiere los siguientes pasos:

Paso 1: Configure BOOT0 a 1, BOOT1 a 0, y luego presione el botón de reinicio para iniciar BootLoader desde la memoria del sistema.
Paso 2: Finalmente, con la ayuda de BootLoader,
descargue el programa a Flash a través del puerto serial. Es necesario configurar BOOT0 a GND y restablecer manualmente , para que STM32 pueda iniciarse desde Flash.

3. SRAM incorporada
La SRAM incorporada, dado que es SRAM, naturalmente no tiene la capacidad de almacenar programas.Este modo se usa generalmente para la depuración de programas. Si solo modifico una pequeña parte del código, entonces necesito volver a borrar todo el Flash, lo que requiere mucho tiempo. Puede considerar iniciar el código desde este modo (es decir, en la memoria de STM32) para un programa rápido depuración, etc. Después de completar la depuración del programa, descargue el programa a Flash.

Supongo que te gusta

Origin blog.csdn.net/a919964703/article/details/124072915
Recomendado
Clasificación