Galleria mappe mentale Mappa della conoscenza del processore GD32
Il processore innovativo GigaDevice, il processore GD32, è una serie di microcontrollori a 32 bit ad alte prestazioni e a basso consumo energetico con ampie prospettive applicative e un forte supporto allo sviluppo.
Modificato alle 2024-11-30 07:30:42Il s'agit d'une carte mentale sur les anévrismes intracrâniens, avec le contenu principal, notamment: le congé, l'évaluation d'admission, les mesures infirmières, les mesures de traitement, les examens auxiliaires, les manifestations cliniques et les définitions.
Il s'agit d'une carte mentale sur l'entretien de comptabilité des coûts, le principal contenu comprend: 5. Liste des questions d'entrevue recommandées, 4. Compétences de base pour améliorer le taux de réussite, 3. Questions professionnelles, 2. Questions et réponses de simulation de scénarios, 1. Questions et réponses de capacité professionnelle.
Il s'agit d'une carte mentale sur les méthodes de recherche de la littérature, et son contenu principal comprend: 5. Méthode complète, 4. Méthode de traçabilité, 3. Méthode de vérification des points, 2. Méthode de recherche inversée, 1. Méthode de recherche durable.
Il s'agit d'une carte mentale sur les anévrismes intracrâniens, avec le contenu principal, notamment: le congé, l'évaluation d'admission, les mesures infirmières, les mesures de traitement, les examens auxiliaires, les manifestations cliniques et les définitions.
Il s'agit d'une carte mentale sur l'entretien de comptabilité des coûts, le principal contenu comprend: 5. Liste des questions d'entrevue recommandées, 4. Compétences de base pour améliorer le taux de réussite, 3. Questions professionnelles, 2. Questions et réponses de simulation de scénarios, 1. Questions et réponses de capacité professionnelle.
Il s'agit d'une carte mentale sur les méthodes de recherche de la littérature, et son contenu principal comprend: 5. Méthode complète, 4. Méthode de traçabilité, 3. Méthode de vérification des points, 2. Méthode de recherche inversée, 1. Méthode de recherche durable.
GD32
GD32F307C
Avvio da SRAM
L'indirizzo di Reset_Handler deve essere 0x200001e1
Controlla il file della mappa
Regola le tabelle vettoriali nei file .s
Aggiungi prima di __Vectors_End
Il numero esatto dipende dalla situazione
Regola IROM1 IRAM1 in Target
Regola il download Flash
Inizia modificando la funzione principale
nvic_vettoriale_tabella_set(NVIC_VECTTAB_RAM, 0x00)
Configurare l'indirizzo base della tabella vettoriale degli interrupt NVIC
STM32
NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x00);
Nota: STM32 ha il controllo macro VECT_TAB_SRM
SystemInit();
Interruzione NVIC
Responsabile della gestione delle richieste di interruzione (IRQ)
Gestione della priorità degli interrupt
: NVIC supporta fino a 256 livelli di priorità di interruzione, ma GD32F307C di solito ne utilizza solo 16. Ad ogni interruzione può essere assegnato un livello di priorità, con valori di priorità più bassi che indicano una priorità più alta.
Tabella dei vettori di interruzione
: NVIC utilizza la tabella dei vettori di interruzione per memorizzare l'indirizzo della routine di servizio di interruzione (ISR). Quando si verifica un'interruzione, NVIC otterrà l'indirizzo ISR corrispondente dalla tabella vettoriale in base al numero di interruzione e salterà a questo indirizzo per eseguire l'ISR.
Rompere la nidificazione
: NVIC supporta l'annidamento degli interrupt, ovvero gli interrupt ad alta priorità possono interrompere l'elaborazione degli interrupt a bassa priorità.
Abilita e disabilita l'interruzione
: NVIC consente di controllare lo stato di attivazione e disattivazione di ciascun interrupt tramite i registri.
Registro NVIC
ISER (Interrupt Set-Enable Register): utilizzato per abilitare gli interrupt.
ICER (Interrupt Clear-Enable Register): utilizzato per disabilitare gli interrupt.
ISPR (Interrupt Set-Pending Register): utilizzato per impostare gli interrupt sullo stato in sospeso.
ICPR (Interrupt Clear-Pending Register): utilizzato per cancellare lo stato pendente degli interrupt.
IPR (Interrupt Priority Register): utilizzato per impostare la priorità degli interrupt.
SysTick
Contatore alla rovescia a 24 bit
Solitamente utilizzato per implementare il tick dell'orologio del sistema operativo o una semplice funzione di ritardo
Caratteristiche
Ricaricamento automatico: SysTick può essere configurato per ricaricare automaticamente un valore preimpostato quando il contatore scende a zero, consentendo così interruzioni periodiche.
Generazione di interruzioni: quando il contatore SysTick diminuisce a zero, è possibile attivare un'interruzione SysTick. Questa interruzione viene solitamente utilizzata per la pianificazione delle attività o la rotazione degli intervalli di tempo del sistema operativo.
Semplice e facile da usare: SysTick è molto semplice da configurare e utilizzare, di solito richiede solo l'impostazione di pochi registri.
registro
CTRL (Registro di controllo e stato): utilizzato per controllare la modalità di funzionamento e lo stato di SysTick.
LOAD (Reload Value Register): utilizzato per impostare il valore di ricarica del contatore SysTick.
VAL (Current Value Register): utilizzato per leggere il valore del contatore SysTick corrente.
CALIB (Calibration Value Register): utilizzato per fornire informazioni di calibrazione, solitamente utilizzate per il battito dell'orologio del sistema operativo.
Esempio
Polling per leggere i caratteri
porta seriale
USART
Scenari applicativi
Adatto per situazioni in cui è richiesta la comunicazione sincrona e asincrona, come la trasmissione di dati sincronizzati con l'orologio con dispositivi esterni.
modalità sincrona
modalità asincrona
Simile all'UART
UART
Scenari applicativi
Semplice comunicazione asincrona punto a punto, come la comunicazione con sensori, strumenti di debug, ecc.
modalità asincrona
Supporta solo la modalità di comunicazione asincrona
Compatibile con M3
M4 senza FP era compatibile con M3
FreeRTOS
La porta può utilizzare file CM3
Processo di trapianto
1. Preparare
Scarica il codice sorgente di FreeRTOS LTS
FreeRTOSv202406.01-LTS
Ingegneria Keil
2. Copia il file del codice del kernel FreeRTOS nella directory corrispondente del progetto
1. La directory sotto il progetto è FreeRTOS
2. Ritaglia, conserva il file
crostino.c
event_groups.c
elenco.c
coda.c
stream_buffer.c
compiti.c
timer.c
includere la directory
directory portatile
Catalogo MemMang
Elenco RVDS
Directory ARM_CM3
3. FreeRTOSConfig.h
Può essere configurato manualmente
Puoi anche copiare direttamente altre routine di riferimento
3. Modifica codice
gd32f30x_it.c
Funzione di annotazione void PendSV_Handler(void)
Funzione di annotazione void SVC_Handler(void)
Funzione di annotazione void SysTick_Handler(void)
Utilizzando l'implementazione nel file FreeRTOS port.c
4. Configura il progetto Keil
(1) Opzioni per destinazione
Percorsi di inclusione
..\FreeRTOS\include
..\FreeRTOS\portable\RVDS\ARM_CM3
(2) Gestisci gli elementi del progetto
Elementi del progetto
Gruppi
Aggiungi gruppo
FreeRTOS_Core
FreeRTOS_Port
5. Riferimento al programma API FreeRTOS
Esempio
xTimerCreate
xTaskCreate
Combattimento reale
File di intestazione di riferimento
#include "FreeRTOS.h"
altro
progetto
keil5 apre il progetto keil4
Modifica direttamente il nome del file uproj -> uprojx
Mappa della conoscenza del processore GD32
Interruzione NVIC
Responsabile della gestione delle richieste di interruzione (IRQ)
Gestione della priorità degli interrupt
L'NVIC supporta fino a 256 livelli di priorità di interruzione, ma il GD32F307C in genere ne utilizza solo 16. Ad ogni interruzione può essere assegnato un livello di priorità, con valori di priorità più bassi che indicano una priorità più alta.
Tabella dei vettori di interruzione
L'NVIC utilizza una tabella vettoriale di interruzione per memorizzare gli indirizzi delle routine di servizio di interruzione (ISR). Quando si verifica un'interruzione, NVIC otterrà l'indirizzo ISR corrispondente dalla tabella vettoriale in base al numero di interruzione e salterà a questo indirizzo per eseguire l'ISR.
Rompere la nidificazione
NVIC supporta l'annidamento degli interrupt, ovvero gli interrupt ad alta priorità possono interrompere l'elaborazione degli interrupt a bassa priorità.
Abilita e disabilita l'interruzione
L'NVIC consente di controllare lo stato di attivazione e disattivazione di ciascun interrupt tramite i registri.
Registro NVIC
ISER (Interrupt Set-Enable Register): utilizzato per abilitare gli interrupt.
ICER (Interrupt Clear-Enable Register): utilizzato per disabilitare gli interrupt.
ISPR (Interrupt Set-Pending Register): utilizzato per impostare gli interrupt sullo stato in sospeso.
ICPR (Interrupt Clear-Pending Register): utilizzato per cancellare lo stato pendente degli interrupt.
IPR (Interrupt Priority Register): utilizzato per impostare la priorità degli interrupt.
SysTick
Contatore alla rovescia a 24 bit
Solitamente utilizzato per implementare il tick dell'orologio del sistema operativo o una semplice funzione di ritardo
Caratteristiche
Ricaricamento automatico: SysTick può essere configurato per ricaricare automaticamente un valore preimpostato quando il contatore scende a zero, consentendo così interruzioni periodiche.
Generazione di interruzioni: quando il contatore SysTick diminuisce a zero, è possibile attivare un'interruzione SysTick. Questa interruzione viene solitamente utilizzata per la pianificazione delle attività o la rotazione degli intervalli di tempo del sistema operativo.
Semplice e facile da usare: SysTick è molto semplice da configurare e utilizzare, di solito richiede solo l'impostazione di pochi registri.
registro
CTRL (Registro di controllo e stato): utilizzato per controllare la modalità di funzionamento e lo stato di SysTick.
LOAD (Reload Value Register): utilizzato per impostare il valore di ricarica del contatore SysTick.
VAL (Current Value Register): utilizzato per leggere il valore del contatore SysTick corrente.
CALIB (Calibration Value Register): utilizzato per fornire informazioni di calibrazione, solitamente utilizzate per il battito dell'orologio del sistema operativo.
Esempio
porta seriale
USART
Scenari applicativi
Adatto per situazioni in cui è richiesta la comunicazione sincrona e asincrona, come la trasmissione di dati sincronizzati con l'orologio con dispositivi esterni.
modalità sincrona
modalità asincrona
Simile all'UART
UART
Scenari applicativi
Semplice comunicazione asincrona punto a punto, come la comunicazione con sensori, strumenti di debug, ecc.
modalità asincrona
Supporta solo la modalità di comunicazione asincrona