Sommario:

Configurazione di FreeRTOS da zero su STM32F407 Discovery Kit: 14 passaggi
Configurazione di FreeRTOS da zero su STM32F407 Discovery Kit: 14 passaggi

Video: Configurazione di FreeRTOS da zero su STM32F407 Discovery Kit: 14 passaggi

Video: Configurazione di FreeRTOS da zero su STM32F407 Discovery Kit: 14 passaggi
Video: Introduction to Free RTOS in STM32 || CubeIDE || Tasks || priorities 2024, Novembre
Anonim
Configurazione di FreeRTOS da zero su STM32F407 Discovery Kit
Configurazione di FreeRTOS da zero su STM32F407 Discovery Kit

La scelta di FreeRTOS come sistema operativo in tempo reale per il tuo progetto embedded è un'ottima scelta. FreeRTOS è veramente gratuito e fornisce molte funzionalità RTOS semplici ed efficaci. Ma configurare freeRTOS da zero potrebbe essere difficile o posso dire un po' confuso in quanto richiede alcune personalizzazioni come l'aggiunta di file specifici del microcontrollore, l'impostazione dei percorsi dei file di intestazione, ecc. In questo Instructable, ti guiderò su come configurare FreeRTOS su il tuo kit STM32F407 Discovery in dettaglio utilizzando Kiel uVision IDE.

Forniture

  • Puoi trovare di più su FreeRTOS su freertos.org
  • Guida al download di FreeRTOS Istruzioni per il download del codice sorgente di RTOS
  • Dettagli completi su STM32F407 Discovery Kit Iniziare con STM32F407 Discovery KIT
  • Github Repository FreeRTOS su STM32F407 Discovery Kit

Passaggio 1: aprire Keil UVision IDE

Apri Keil UVision IDE
Apri Keil UVision IDE

Apri Keil uVision IDE. Fare clic su un progetto e selezionare Nuovo progetto uVision… Quindi selezionare la directory di lavoro e assegnare il nome del progetto preferito.

Passaggio 2: selezionare il dispositivo

Seleziona il dispositivo
Seleziona il dispositivo

Una volta dato il nome al progetto, nel passaggio successivo è necessario aggiungere il dispositivo. Qui stiamo aggiungendo il Micronconroller STM32F407VG di STMicroelectronics. Selezionare l'STM32F407VG, quindi fare clic su OK.

Passaggio 3: gestire l'ambiente di runtime

Gestire l'ambiente di runtime
Gestire l'ambiente di runtime

Il passaggio successivo consiste nel selezionare il componente libreria/driver nella scheda Gestisci ambiente run-time. Qui selezionare tutti i componenti come mostrato nell'immagine sopra. Dopo aver controllato tutti i campi appropriati, fare clic su Risolvi, quindi su OK.

Passaggio 4: copia FreeRTOS nella cartella del tuo progetto

Copia FreeRTOS nella cartella del tuo progetto
Copia FreeRTOS nella cartella del tuo progetto

Ora devi copiare l'intera cartella FreeRTOS nella cartella del tuo progetto.

Passaggio 5: aggiungi file FreeRTOS al progetto

Aggiungi file FreeRTOS al progetto
Aggiungi file FreeRTOS al progetto

Dopo aver copiato la cartella FreeRTOS all'interno della cartella del progetto, devi aggiungere tutti i file FreeRTOS necessari al tuo progetto.

  1. In Keil, seleziona Target1, fai clic con il pulsante destro del mouse, quindi seleziona Aggiungi nuovo gruppo. Rinomina questo gruppo come FreeRTOS.
  2. Ora fai clic sul gruppo FreeRTOS, fai clic con il pulsante destro del mouse su Aggiungi file esistenti al gruppo "FreeRTOS…"
  3. Aggiungi tutti i file FreeRTOS come mostrato nell'immagine sopra.

Il percorso per trovare questi file nella cartella FreeRTOS è:

  • File: croutine, event_groups, list, queue, stream_buffer, task e timer. Percorso: (….\FreeRTOSv10.2.1\FreeRTOS\Source)
  • File: heap_4 (Ci sono 4 file di gestione della memoria che aggiungi chiunque). Percorso: (….\FreeRTOSv10.2.1\FreeRTOS\Source\portable\MemMang)
  • File: port.c (questo è un file specifico dell'MCU). Percorso: (…\FreeRTOSv10.2.1\FreeRTOS\Source\portable\RVDS\ARM_CM4F)

Nota: la versione di FreeRTOS potrebbe cambiare. Basta usare l'ultima versione disponibile.

Passaggio 6: configurare il percorso dei file di intestazione di FreeRTOS

Configura il percorso dei file di intestazione di FreeRTOS
Configura il percorso dei file di intestazione di FreeRTOS

Dopo aver aggiunto i file sorgente di FreeRTOS, devi dire al compilatore dove si trovano i rispettivi file di intestazione. Quindi dobbiamo configurare l'opzione del compilatore.

Fare clic con il pulsante destro del mouse sull'opzione Target1 per Target "Target1." C/C++ Include percorso. Assicurati di includere questi percorsi:

  1. Includi cartella in FreeRTOS (…\FreeRTOSv10.2.1\FreeRTOS\Source\include)
  2. Directory RVDS (…\FreeRTOSv10.2.1\FreeRTOS\Source\portable\RVDS\ARM_CM4F)

Nota: se disponi di file di intestazione, assicurati di includere il percorso di questi file di intestazione come spiegato sopra.

Passaggio 7: aggiungi il file "FreeRTOSConfig.h" al progetto

Aggiungere
Aggiungere

Il FreeRTOS ha un importante file di intestazione chiamato FreeRTOSConfig.h. Questo file contiene la personalizzazione specifica dell'applicazione (nel nostro caso specifico per Cortex M4F MCU). Per semplicità, ho copiato il nostro file FreeRTOSConfig.h specifico per MCU nella directory RVDS. E anche nel passaggio 6, abbiamo già aggiunto il percorso RVDS. Se lo stai aggiungendo tu stesso, devi aggiungere questo file nel tuo progetto e assicurati anche di includere il percorso di questo file come spiegato nel passaggio 6.

Nel caso in cui desideri aggiungere il file FreeRTOSConfig.h da solo nella tua directory preferita, ho incluso questo file di seguito.

Per maggiori informazioni Clicca qui FreeRTOSConfig.h

Passaggio 8: aggiungi il file "main.c" con il modello di base

Aggiungi il
Aggiungi il
  • Ora crea un nuovo gruppo utente (l'ho rinominato in "Applicazione utente").
  • Aggiungi un nuovo file C a questo gruppo (ho aggiunto un file chiamato main.c).
  • Questo è il file in cui esiste la funzione main(). Ho incluso tutte le funzioni e le intestazioni minime richieste in questo file in modo che il progetto venga compilato correttamente.

Di seguito puoi trovare il file main.c con il modello di base.

Passaggio 9: collegare il kit di rilevamento STM32F407 al PC/laptop

Collega il tuo Discovery Kit STM32F407 al tuo PC/Laptop
Collega il tuo Discovery Kit STM32F407 al tuo PC/Laptop

Passaggio 10: selezionare ST-Link Debugger nella configurazione del compilatore

Seleziona ST-Link Debugger nella configurazione del compilatore
Seleziona ST-Link Debugger nella configurazione del compilatore

Fare clic con il pulsante destro del mouse su Target1, quindi fare clic su Opzione per Target "Target1.", quindi accedere alla scheda Debug e selezionare ST-Link-Debugger come mostrato nell'immagine sopra

Passaggio 11: configurazione del debugger ST-Link

Configura ST-Link Debugger
Configura ST-Link Debugger

Dopo aver selezionato il debugger ST-Link al punto 10, fare clic su Impostazioni, quindi selezionare Traccia e controllare tutti i campi come mostrato nell'immagine sopra.

Passaggio 12: crea e carica il codice

Crea e carica il codice
Crea e carica il codice

Dopo aver completato tutti i passaggi, crea il progetto e assicurati che non ci siano errori nel codice. Dopo aver compilato con successo, carica il codice nel tuo Discovery Kit.

Passaggio 13: vai alla finestra di debug e apri il monitor seriale

Vai alla finestra di debug e apri il monitor seriale
Vai alla finestra di debug e apri il monitor seriale

Dopo il caricamento, vai a debug windowviewSerial WindowsDebug(printf) Viewer come mostrato nell'immagine sopra.

Passaggio 14: eseguire il codice per visualizzare l'output nella finestra di stampa di debug

Esegui il codice per vedere l'output nella finestra di stampa di debug
Esegui il codice per vedere l'output nella finestra di stampa di debug

Il passaggio finale consiste nell'eseguire il codice come mostrato nell'immagine per vedere l'output nella finestra printf. Qui in main.c ho implementato 2 semplici compiti chiamati task1 e task2. Entrambe le attività hanno la stessa priorità e stampano solo il nome dell'attività. A causa delle stesse priorità puoi vederli entrambi in esecuzione e stampare il nome.

Consigliato: