Galería de mapas mentales Mapa de conocimiento del procesador GD32
El innovador procesador GigaDevice, el procesador GD32, es una serie de microcontroladores de 32 bits de alto rendimiento y bajo consumo de energía con amplias perspectivas de aplicación y un fuerte soporte de desarrollo.
Editado a las 2024-11-30 07:30:42,これは稲盛和夫に関するマインドマップです。私のこれまでの人生のすべての経験は、ビジネスの明確な目的と意味、強い意志、売上の最大化、業務の最小化、そして運営は強い意志に依存することを主な内容としています。
かんばんボードのデザインはシンプルかつ明確で、計画が一目で明確になります。毎日の進捗状況を簡単に記録し、月末に要約を作成して成長と成果を確認することができます。 実用性が高い:読書、早起き、運動など、さまざまなプランをカバーします。 操作簡単:シンプルなデザイン、便利な記録、いつでも進捗状況を確認できます。 明確な概要: 毎月の概要により、成長を明確に確認できます。 小さい まとめ、今月の振り返り掲示板、今月の習慣掲示板、今月のまとめ掲示板。
2025 年度計画テンプレートは、1 年間の開発を包括的に計画するためのツールであり、今後の方向性を示すことができます。このテンプレートでは、夢の実現に向けた取り組みに役立つ、年間目標の設定、四半期目標の内訳、月次計画の策定について詳しく説明しています。
これは稲盛和夫に関するマインドマップです。私のこれまでの人生のすべての経験は、ビジネスの明確な目的と意味、強い意志、売上の最大化、業務の最小化、そして運営は強い意志に依存することを主な内容としています。
かんばんボードのデザインはシンプルかつ明確で、計画が一目で明確になります。毎日の進捗状況を簡単に記録し、月末に要約を作成して成長と成果を確認することができます。 実用性が高い:読書、早起き、運動など、さまざまなプランをカバーします。 操作簡単:シンプルなデザイン、便利な記録、いつでも進捗状況を確認できます。 明確な概要: 毎月の概要により、成長を明確に確認できます。 小さい まとめ、今月の振り返り掲示板、今月の習慣掲示板、今月のまとめ掲示板。
2025 年度計画テンプレートは、1 年間の開発を包括的に計画するためのツールであり、今後の方向性を示すことができます。このテンプレートでは、夢の実現に向けた取り組みに役立つ、年間目標の設定、四半期目標の内訳、月次計画の策定について詳しく説明しています。
GD32
GD32F307C
Arrancar desde SRAM
La dirección de Reset_Handler debe ser 0x200001e1
Comprobar archivo de mapa
Ajustar tablas de vectores en archivos .s
Agregar antes de __Vectors_End
El número exacto depende de la situación.
Ajustar IROM1 IRAM1 en Target
Ajustar la descarga de Flash
Comience modificando la función principal.
nvic_vector_table_set(NVIC_VECTTAB_RAM, 0x00)
Configure la dirección base de la tabla de vectores de interrupción NVIC
STM32
NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x00);
Nota: STM32 tiene control macro VECT_TAB_SRM
Inicio del sistema();
interrupción NVIC
Responsable de gestionar las solicitudes de interrupción (IRQ)
Gestión de prioridad de interrupción
: NVIC admite hasta 256 niveles de prioridad de interrupción, pero GD32F307C generalmente solo usa 16 de ellos. A cada interrupción se le puede asignar un nivel de prioridad, donde los valores de prioridad más bajos indican una prioridad más alta.
Tabla de vectores de interrupción
: NVIC utiliza la tabla de vectores de interrupción para almacenar la dirección de la rutina de servicio de interrupción (ISR). Cuando ocurre una interrupción, NVIC obtendrá la dirección ISR correspondiente de la tabla de vectores según el número de interrupción y saltará a esta dirección para ejecutar el ISR.
Romper el anidamiento
: NVIC admite el anidamiento de interrupciones, es decir, las interrupciones de alta prioridad pueden interrumpir el procesamiento de interrupciones de baja prioridad.
Interrupción habilitar y deshabilitar
: NVIC permite controlar el estado de habilitación y deshabilitación de cada interrupción a través de registros.
registro NVIC
ISER (Registro de activación de configuración de interrupciones): se utiliza para habilitar interrupciones.
ICER (Registro de habilitación de borrado de interrupciones): se utiliza para deshabilitar interrupciones.
ISPR (Registro pendiente de configuración de interrupciones): se utiliza para establecer interrupciones en estado pendiente.
ICPR (Registro de borrado pendiente de interrupción): se utiliza para borrar el estado pendiente de las interrupciones.
IPR (Registro de prioridad de interrupciones): se utiliza para establecer la prioridad de las interrupciones.
tictac del sistema
Contador regresivo de 24 bits
Generalmente se utiliza para implementar el tic del reloj del sistema operativo o la función de retardo simple.
Características
Recarga automática: SysTick se puede configurar para recargar automáticamente un valor preestablecido cuando el contador disminuye a cero, lo que permite interrupciones periódicas.
Generación de interrupciones: cuando el contador SysTick disminuye a cero, se puede activar una interrupción SysTick. Esta interrupción se usa generalmente para la programación de tareas o la rotación de intervalos de tiempo del sistema operativo.
Simple y fácil de usar: SysTick es muy simple de configurar y usar, generalmente solo necesita configurar algunos registros.
registro
CTRL (Registro de control y estado): se utiliza para controlar el modo de trabajo y el estado de SysTick.
LOAD (Registro de valor de recarga): se utiliza para establecer el valor de recarga del contador SysTick.
VAL (Registro de valor actual): se utiliza para leer el valor del contador SysTick actual.
CALIB (Registro de valor de calibración): se utiliza para proporcionar información de calibración, generalmente utilizada para el ritmo del reloj del sistema operativo.
Ejemplo
Sondeo para leer caracteres
puerto serie
USART
Escenarios de aplicación
Adecuado para situaciones en las que se requiere comunicación síncrona y asíncrona, como la transmisión de datos sincronizada con el reloj con dispositivos externos.
modo sincrónico
modo asíncrono
Similar a UART
UART
Escenarios de aplicación
Comunicación asincrónica simple punto a punto, como comunicación con sensores, herramientas de depuración, etc.
modo asíncrono
Solo admite el modo de comunicación asíncrona
Compatible con M3
M4 sin FP era compatible con M3
RTOS gratuitos
El puerto puede utilizar archivos CM3.
Proceso de trasplante
1. Preparar
Descargue el código fuente de FreeRTOS LTS
GratisRTOSv202406.01-LTS
Ingeniería Keil
2. Copie el archivo de código del kernel de FreeRTOS al directorio correspondiente del proyecto
1. El directorio bajo el proyecto es FreeRTOS
2. Recortar, mantener archivo
croutina.c
grupos_eventos.c
lista.c
cola.c
flujo_buffer.c
tareas.c
temporizadores.c
incluir directorio
directorio portátil
Catálogo MemMang
Directorio RVDS
Directorio ARM_CM3
3. FreeRTOSConfig.h
Se puede configurar manualmente
También puedes copiar directamente otras rutinas de referencia.
3. Modificar código
gd32f30x_it.c
Función de anotación nula PendSV_Handler(void)
Función de anotación nula SVC_Handler (nulo)
Función de anotación nula SysTick_Handler(void)
Usando la implementación en el archivo FreeRTOS port.c
4. Configurar el proyecto Keil
(1) Opciones para el objetivo
Caminos de inclusión
..\FreeRTOS\incluir
..\FreeRTOS\portátil\RVDS\ARM_CM3
(2) Administrar elementos del proyecto
Elementos del proyecto
Grupos
Agregar grupo
GratisRTOS_Core
LibreRTOS_Port
5. Referencia del programa API FreeRTOS
Ejemplo
xTimerCrear
xTareaCrear
combate real
Archivo de encabezado de referencia
#incluir "FreeRTOS.h"
otro
proyecto
keil5 abre el proyecto keil4
Modifique directamente el nombre del archivo uproj -> uprojx
Mapa de conocimiento del procesador GD32
interrupción NVIC
Responsable de gestionar las solicitudes de interrupción (IRQ)
Gestión de prioridad de interrupción
El NVIC admite hasta 256 niveles de prioridad de interrupción, pero el GD32F307C normalmente solo usa 16 de ellos. A cada interrupción se le puede asignar un nivel de prioridad, donde los valores de prioridad más bajos indican una prioridad más alta.
Tabla de vectores de interrupción
El NVIC utiliza una tabla de vectores de interrupción para almacenar las direcciones de las rutinas de servicio de interrupción (ISR). Cuando ocurre una interrupción, NVIC obtendrá la dirección ISR correspondiente de la tabla de vectores según el número de interrupción y saltará a esta dirección para ejecutar el ISR.
Romper el anidamiento
NVIC admite el anidamiento de interrupciones, es decir, las interrupciones de alta prioridad pueden interrumpir el procesamiento de interrupciones de baja prioridad.
Interrupción habilitar y deshabilitar
El NVIC permite controlar el estado de habilitación y deshabilitación de cada interrupción a través de registros.
registro NVIC
ISER (Registro de activación de configuración de interrupciones): se utiliza para habilitar interrupciones.
ICER (Registro de habilitación de borrado de interrupciones): se utiliza para deshabilitar interrupciones.
ISPR (Registro pendiente de configuración de interrupciones): se utiliza para establecer interrupciones en estado pendiente.
ICPR (Registro de borrado pendiente de interrupción): se utiliza para borrar el estado pendiente de las interrupciones.
IPR (Registro de prioridad de interrupciones): se utiliza para establecer la prioridad de las interrupciones.
tictac del sistema
Contador regresivo de 24 bits
Generalmente se utiliza para implementar el tic del reloj del sistema operativo o la función de retardo simple.
Características
Recarga automática: SysTick se puede configurar para recargar automáticamente un valor preestablecido cuando el contador disminuye a cero, lo que permite interrupciones periódicas.
Generación de interrupciones: cuando el contador SysTick disminuye a cero, se puede activar una interrupción SysTick. Esta interrupción se usa generalmente para la programación de tareas o la rotación de intervalos de tiempo del sistema operativo.
Simple y fácil de usar: SysTick es muy simple de configurar y usar, generalmente solo necesita configurar algunos registros.
registro
CTRL (Registro de control y estado): se utiliza para controlar el modo de trabajo y el estado de SysTick.
LOAD (Registro de valor de recarga): se utiliza para establecer el valor de recarga del contador SysTick.
VAL (Registro de valor actual): se utiliza para leer el valor del contador SysTick actual.
CALIB (Registro de valor de calibración): se utiliza para proporcionar información de calibración, generalmente utilizada para el ritmo del reloj del sistema operativo.
Ejemplo
puerto serie
USART
Escenarios de aplicación
Adecuado para situaciones en las que se requiere comunicación síncrona y asíncrona, como la transmisión de datos sincronizada con el reloj con dispositivos externos.
modo sincrónico
modo asíncrono
Similar a UART
UART
Escenarios de aplicación
Comunicación asincrónica simple punto a punto, como comunicación con sensores, herramientas de depuración, etc.
modo asíncrono
Solo admite el modo de comunicación asíncrona