Obsah:
- Zásoby
- Krok 1: Otevřete Keil UVision IDE
- Krok 2: Vyberte zařízení
- Krok 3: Správa prostředí run-time
- Krok 4: Zkopírujte FreeRTOS do složky projektu
- Krok 5: Přidejte do projektu soubory FreeRTOS
- Krok 6: Konfigurujte cestu k souborům záhlaví FreeRTOS
- Krok 7: Přidejte do projektu soubor „FreeRTOSConfig.h“
- Krok 8: Přidejte soubor „main.c“se základní šablonou
- Krok 9: Připojte sadu STM32F407 Discovery Kit k počítači/notebooku
- Krok 10: Vyberte ST-Link Debugger v konfiguraci kompilátoru
- Krok 11: Konfigurace ladicího programu ST-Link
- Krok 12: Vytvořte a nahrajte kód
- Krok 13: Přejděte do okna ladění a otevřete sériový monitor
- Krok 14: Spusťte kód a podívejte se na okno Ouput on Debug Printf
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Výběr FreeRTOS jako operačního systému v reálném čase pro váš vložený projekt je skvělá volba. FreeRTOS je skutečně zdarma a poskytuje mnoho jednoduchých a efektivních funkcí RTOS. Ale nastavení freeRTOS od začátku může být obtížné, nebo mohu říci, že je to trochu matoucí, protože to vyžaduje určité přizpůsobení, jako je přidání souborů specifických pro mikrokontrolér, nastavení cest k hlavičkovým souborům atd. V tomto Instructable vás provedu, jak nastavit FreeRTOS na váš kit STM32F407 Discovery podrobně pomocí Kiel uVision IDE.
Zásoby
- Více o FreeRTOS najdete na freertos.org
- Návod ke stažení FreeRTOS Pokyny ke stažení zdrojového kódu RTOS
- Kompletní podrobnosti o STM32F407 Discovery Kit Začínáme s STM32F407 Discovery KIt
- Github Repository FreeRTOS na STM32F407 Discovery Kit
Krok 1: Otevřete Keil UVision IDE
Otevřete Keil uVision IDE. Klikněte na projekt, vyberte Nový projekt uVision… Poté vyberte svůj pracovní adresář a zadejte preferovaný název projektu.
Krok 2: Vyberte zařízení
Jakmile projektu dáte název, v dalším kroku musíte přidat zařízení. Zde přidáváme mikronový řadič STM32F407VG od společnosti STMicroelectronics. Vyberte STM32F407VG a poté klikněte na OK.
Krok 3: Správa prostředí run-time
Dalším krokem je výběr komponenty knihovny/ovladače na kartě Správa prostředí run-time. Zde vyberte všechny komponenty, jak je znázorněno na výše uvedeném obrázku. Jakmile zaškrtnete všechna příslušná pole, klikněte na Vyřešit a poté na OK.
Krok 4: Zkopírujte FreeRTOS do složky projektu
Nyní musíte zkopírovat celou složku FreeRTOS do složky projektu.
Krok 5: Přidejte do projektu soubory FreeRTOS
Jakmile zkopírujete složku FreeRTOS do složky projektu, musíte do projektu přidat všechny potřebné soubory FreeRTOS.
- V Keilu vyberte Target1, klikněte pravým tlačítkem a poté vyberte Přidat novou skupinu. Přejmenujte tuto skupinu na FreeRTOS.
- Nyní klikněte na skupinu FreeRTOS, pravým tlačítkem klikněte na výběr Přidat existující soubory do skupiny „FreeRTOS…“
- Přidejte všechny soubory FreeRTOS, jak je znázorněno na výše uvedeném obrázku.
Cesta k nalezení těchto souborů ve složce FreeRTOS je:
- Soubory: croutine, event_groups, list, queue, stream_buffer, tasks and timers. Cesta: (…. / FreeRTOSv10.2.1 / FreeRTOS / Source)
- Soubory: heap_4 (K dispozici jsou 4 soubory pro správu paměti, které můžete přidat). Cesta: (…. / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / MemMang)
- Soubory: port.c (Toto je soubor specifický pro MCU). Cesta: (… / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / RVDS / ARM_CM4F)
Poznámka: Verze FreeRTOS se může změnit. Stačí použít nejnovější dostupnou verzi.
Krok 6: Konfigurujte cestu k souborům záhlaví FreeRTOS
Jakmile přidáte zdrojové soubory FreeRTOS, musíte kompilátoru sdělit, kde se příslušné soubory záhlaví nacházejí. Proto musíme nakonfigurovat možnost kompilátoru.
Klikněte pravým tlačítkem na volbu Target1 pro cíl Zahrnout cestu „Target1..“C/C ++. Nezapomeňte zahrnout tyto cesty:
- Zahrnout složku do FreeRTOS (… / FreeRTOSv10.2.1 / FreeRTOS / Source / include)
- Adresář RVDS (… / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / RVDS / ARM_CM4F)
Poznámka: Pokud máte nějaké hlavičkové soubory, ujistěte se, že zahrnete cestu těchto hlavičkových souborů, jak je vysvětleno výše.
Krok 7: Přidejte do projektu soubor „FreeRTOSConfig.h“
FreeRTOS má jeden důležitý soubor záhlaví s názvem FreeRTOSConfig.h. Tento soubor obsahuje přizpůsobení specifické pro aplikaci (v našem případě specifické pro Cortex M4F MCU). Pro jednoduchost jsem zkopíroval náš soubor FreeRTOSConfig.h specifický pro MCU do adresáře RVDS. A také v kroku 6 jsme již přidali cestu RVDS. Pokud ho přidáváte sami, musíte tento soubor přidat do projektu a také se ujistit, že zahrnete cestu k tomuto souboru, jak je vysvětleno v kroku 6.
Pokud chcete přidat svůj vlastní soubor FreeRTOSConfig.h do vámi preferovaného adresáře, vložil jsem tento soubor níže.
Pro více informací klikněte sem FreeRTOSConfig.h
Krok 8: Přidejte soubor „main.c“se základní šablonou
- Nyní vytvořte novou skupinu uživatelů (přejmenoval jsem ji na „Uživatelská aplikace“).
- Přidejte do této skupiny nový soubor C (přidal jsem soubor s názvem main.c).
- Toto je soubor, kde existuje funkce main (). Do tohoto souboru jsem zahrnul všechny minimální požadované funkce a záhlaví, aby se projekt úspěšně zkompiloval.
Níže najdete soubor main.c se základní šablonou.
Krok 9: Připojte sadu STM32F407 Discovery Kit k počítači/notebooku
Krok 10: Vyberte ST-Link Debugger v konfiguraci kompilátoru
Klikněte pravým tlačítkem na Target1, poté klikněte na Možnost pro cíl „Target1..“, poté přejděte na kartu Debug a vyberte ST-Link-Debugger, jak je znázorněno na výše uvedeném obrázku
Krok 11: Konfigurace ladicího programu ST-Link
Po výběru ladicího programu ST-Link v kroku 10 klikněte na Nastavení, poté vyberte Sledovat a zkontrolujte všechna pole, jak je znázorněno na výše uvedeném obrázku.
Krok 12: Vytvořte a nahrajte kód
Po dokončení všech kroků sestavte projekt a ujistěte se, že v kódu nejsou žádné chyby. Po úspěšné kompilaci nahrajte kód do sady Discovery Kit.
Krok 13: Přejděte do okna ladění a otevřete sériový monitor
Po nahrání přejděte do ladění windowviewSerial WindowsDebug (printf) Viewer, jak je znázorněno na výše uvedeném obrázku.
Krok 14: Spusťte kód a podívejte se na okno Ouput on Debug Printf
Posledním krokem je spuštění kódu podle obrázku, abyste viděli výstup v okně printf. Zde v main.c jsem implementoval 2 jednoduché úkoly s názvem task1 a task2. Oba úkoly mají stejnou prioritu a pouze vytisknou název úkolu. Vzhledem ke stejným prioritám můžete vidět, jak oba běží a tisknou jméno.