Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Otwórz Keil UVision IDE
- Krok 2: Wybierz urządzenie
- Krok 3: Zarządzaj środowiskiem wykonawczym
- Krok 4: Skopiuj FreeRTOS do folderu projektu
- Krok 5: Dodaj pliki FreeRTOS do projektu
- Krok 6: Skonfiguruj ścieżkę plików nagłówkowych FreeRTOS
- Krok 7: Dodaj plik „FreeRTOSConfig.h” do projektu
- Krok 8: Dodaj plik „main.c” z szablonem podstawowym
- Krok 9: Podłącz zestaw STM32F407 Discovery do komputera/laptopa
- Krok 10: Wybierz debuger ST-Link w konfiguracji kompilatora
- Krok 11: Skonfiguruj debuger ST-Link
- Krok 12: Zbuduj i prześlij kod
- Krok 13: Przejdź do okna debugowania i otwórz monitor szeregowy
- Krok 14: Uruchom kod, aby zobaczyć wyniki w oknie debugowania Printf
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Wybór FreeRTOS jako systemu operacyjnego czasu rzeczywistego dla projektu wbudowanego to świetny wybór. FreeRTOS jest naprawdę darmowy i zapewnia wiele prostych i skutecznych funkcji RTOS. Ale konfiguracja freeRTOS od podstaw może być trudna lub mogę powiedzieć nieco myląca, ponieważ wymaga pewnych dostosowań, takich jak dodanie plików specyficznych dla mikrokontrolera, ustawienie ścieżek plików nagłówkowych itp. W tej instrukcji poprowadzę Cię, jak skonfigurować FreeRTOS na Twój zestaw Discovery STM32F407 szczegółowo za pomocą Kiel uVision IDE.
Kieszonkowe dzieci
- Więcej informacji o FreeRTOS znajdziesz na freertos.org
- Przewodnik pobierania FreeRTOS Instrukcje pobierania kodu źródłowego RTOS
- Pełne informacje na temat zestawu Discovery STM32F407 Rozpoczęcie pracy z zestawem Discovery STM32F407
- Repozytorium Github FreeRTOS na zestawie Discovery STM32F407
Krok 1: Otwórz Keil UVision IDE
Otwórz Keil uVision IDE. Kliknij projekt i wybierz Nowy projekt uVision… Następnie wybierz swój katalog roboczy i podaj preferowaną nazwę projektu.
Krok 2: Wybierz urządzenie
Gdy już nadałeś nazwę projektowi, w kolejnym kroku musisz dodać urządzenie. Tutaj dodajemy STM32F407VG Micronconroller firmy STMicroelectronics. Wybierz STM32F407VG, a następnie kliknij OK.
Krok 3: Zarządzaj środowiskiem wykonawczym
Następnym krokiem jest wybranie składnika biblioteki/sterownika na karcie Zarządzaj środowiskiem wykonawczym. Tutaj wybierz wszystkie komponenty, jak pokazano na powyższym obrazku. Po sprawdzeniu wszystkich odpowiednich pól kliknij Rozwiąż, a następnie kliknij OK.
Krok 4: Skopiuj FreeRTOS do folderu projektu
Teraz musisz skopiować cały folder FreeRTOS do folderu projektu.
Krok 5: Dodaj pliki FreeRTOS do projektu
Po skopiowaniu folderu FreeRTOS do folderu projektu musisz dodać wszystkie niezbędne pliki FreeRTOS do swojego projektu.
- W Keil wybierz Cel1, kliknij prawym przyciskiem myszy, a następnie wybierz Dodaj nową grupę. Zmień nazwę tej grupy na FreeRTOS.
- Teraz kliknij grupę FreeRTOS, kliknij prawym przyciskiem myszy opcję Dodaj istniejące pliki do grupy „FreeRTOS…”
- Dodaj wszystkie pliki FreeRTOS, jak pokazano na powyższym obrazku.
Ścieżka do znalezienia tych plików w folderze FreeRTOS to:
- Pliki: croutine, event_groups, list, queue, stream_buffer, zadania i timery. Ścieżka: (….\FreeRTOSv10.2.1\FreeRTOS\Źródło)
- Pliki: heap_4 (Istnieją 4 pliki zarządzania pamięcią, które dodają kogokolwiek). Ścieżka: (….\FreeRTOSv10.2.1\FreeRTOS\Źródło\przenośny\MemMang)
- Pliki: port.c (jest to plik specyficzny dla MCU). Ścieżka: (…\FreeRTOSv10.2.1\FreeRTOS\Źródło\przenośny\RVDS\ARM_CM4F)
Uwaga: wersja FreeRTOS może ulec zmianie. Wystarczy skorzystać z najnowszej dostępnej wersji.
Krok 6: Skonfiguruj ścieżkę plików nagłówkowych FreeRTOS
Po dodaniu plików źródłowych FreeRTOS musisz poinformować kompilator, gdzie znajdują się odpowiednie pliki nagłówkowe. Dlatego musimy skonfigurować opcję kompilatora.
Kliknij prawym przyciskiem myszy opcję Cel1 dla celu „Target1..” C/C++ Dołącz ścieżkę. Upewnij się, że uwzględniasz te ścieżki:
- Uwzględnij folder we FreeRTOS (…\FreeRTOSv10.2.1\FreeRTOS\Source\include)
- Katalog RVDS (…\FreeRTOSv10.2.1\FreeRTOS\Source\portable\RVDS\ARM_CM4F)
Uwaga: Jeśli masz jakieś pliki nagłówkowe, upewnij się, że podałeś ścieżkę do tych plików nagłówkowych, jak wyjaśniono powyżej.
Krok 7: Dodaj plik „FreeRTOSConfig.h” do projektu
FreeRTOS ma jeden ważny plik nagłówkowy o nazwie FreeRTOSConfig.h. Ten plik zawiera dostosowanie specyficzne dla aplikacji (w naszym przypadku specyficzne dla MCU Cortex M4F). Dla uproszczenia skopiowałem nasz specyficzny dla MCU plik FreeRTOSConfig.h do katalogu RVDS. A także w kroku 6 dodaliśmy już ścieżkę RVDS. Jeśli dodajesz go samodzielnie, musisz dodać ten plik do swojego projektu, a także upewnij się, że zawiera ścieżkę do tego pliku, jak wyjaśniono w kroku 6.
Jeśli chcesz samodzielnie dodać plik FreeRTOSConfig.h do preferowanego katalogu, zamieściłem ten plik poniżej.
Aby uzyskać więcej informacji Kliknij tutaj FreeRTOSConfig.h
Krok 8: Dodaj plik „main.c” z szablonem podstawowym
- Teraz utwórz nową grupę użytkowników (zmieniłem jej nazwę na "Aplikacja użytkownika").
- Dodaj nowy plik C do tej grupy (dodałem plik o nazwie main.c).
- Jest to plik, w którym istnieje funkcja main(). W pliku tym umieściłem wszystkie minimalne wymagane funkcje i nagłówki, aby projekt pomyślnie się kompilował.
Plik main.c z podstawowym szablonem znajdziesz poniżej.
Krok 9: Podłącz zestaw STM32F407 Discovery do komputera/laptopa
Krok 10: Wybierz debuger ST-Link w konfiguracji kompilatora
Kliknij prawym przyciskiem myszy Cel1, a następnie kliknij opcję Cel „Target1..”, następnie przejdź do zakładki Debug i wybierz ST-Link-Debugger, jak pokazano na powyższym obrazku
Krok 11: Skonfiguruj debuger ST-Link
Po wybraniu debugera ST-Link w kroku 10, kliknij Ustawienia, a następnie wybierz Śledź i sprawdź wszystkie pola, jak pokazano na powyższym obrazku.
Krok 12: Zbuduj i prześlij kod
Po wykonaniu wszystkich kroków zbuduj projekt i upewnij się, że w kodzie nie ma błędów. Po udanej kompilacji prześlij kod do zestawu Discovery Kit.
Krok 13: Przejdź do okna debugowania i otwórz monitor szeregowy
Po przesłaniu przejdź do debugowania windowviewSerial WindowsDebug(printf) Viewer, jak pokazano na powyższym obrazku.
Krok 14: Uruchom kod, aby zobaczyć wyniki w oknie debugowania Printf
Ostatnim krokiem jest uruchomienie kodu, jak pokazano na rysunku, aby zobaczyć dane wyjściowe w oknie printf. Tutaj w main.c zaimplementowałem 2 proste zadania o nazwach task1 i task2. Oba zadania mają ten sam priorytet i po prostu drukują nazwę zadania. Ze względu na te same priorytety możesz zobaczyć, jak obaj biegają i drukują nazwę.