Inhoudsopgave:

FreeRTOS vanaf het begin instellen op STM32F407 Discovery Kit: 14 stappen
FreeRTOS vanaf het begin instellen op STM32F407 Discovery Kit: 14 stappen

Video: FreeRTOS vanaf het begin instellen op STM32F407 Discovery Kit: 14 stappen

Video: FreeRTOS vanaf het begin instellen op STM32F407 Discovery Kit: 14 stappen
Video: Part 4. Using a button - Embedded C Programming with PIC18F14K50 2024, December
Anonim
FreeRTOS vanaf nul instellen op STM32F407 Discovery Kit
FreeRTOS vanaf nul instellen op STM32F407 Discovery Kit

Het kiezen van FreeRTOS als een realtime besturingssysteem voor uw embedded project is een goede keuze. De FreeRTOS is echt gratis en biedt veel eenvoudige en effectieve RTOS-functies. Maar het helemaal opnieuw instellen van freeRTOS kan moeilijk zijn of ik kan een beetje verwarrend zeggen omdat het enige aanpassing vereist, zoals het toevoegen van Microcontroller-specifieke bestanden, het instellen van header-bestandspaden, enz. In deze Instructable zal ik u begeleiden bij het instellen van FreeRTOS op uw STM32F407 Discovery-kit in detail met behulp van Kiel uVision IDE.

Benodigdheden

  • U kunt meer over FreeRTOS vinden op freertos.org
  • FreeRTOS downloadgids RTOS Broncode Downloadinstructies
  • Volledige details over STM32F407 Discovery Kit Aan de slag met STM32F407 Discovery KIt
  • Github Repository FreeRTOS op STM32F407 Discovery Kit

Stap 1: Open Keil UVision IDE

Keil UVision IDE openen
Keil UVision IDE openen

Open Keil uVision IDE. Klik op een project en selecteer Nieuw uVision-project… Selecteer vervolgens uw werkmap en geef de gewenste projectnaam op.

Stap 2: Selecteer het apparaat

Selecteer het apparaat
Selecteer het apparaat

Nadat u het project een naam heeft gegeven, moet u in de volgende stap het apparaat toevoegen. Hier voegen we STM32F407VG Micronconroller van STMicroelectronics toe. Selecteer de STM32F407VG en klik vervolgens op OK.

Stap 3: Runtime-omgeving beheren

Runtime-omgeving beheren
Runtime-omgeving beheren

De volgende stap is het selecteren van de bibliotheek/drivercomponent op het tabblad Runtime-omgeving beheren. Selecteer hier alle componenten zoals weergegeven in de bovenstaande afbeelding. Nadat u alle juiste velden hebt aangevinkt, klikt u op Oplossen en vervolgens op OK.

Stap 4: Kopieer FreeRTOS naar uw projectmap

Kopieer FreeRTOS naar uw projectmap
Kopieer FreeRTOS naar uw projectmap

Nu moet je de hele FreeRTOS-map naar je projectmap kopiëren.

Stap 5: voeg FreeRTOS-bestanden toe aan project

FreeRTOS-bestanden aan project toevoegen
FreeRTOS-bestanden aan project toevoegen

Nadat u de FreeRTOS-map in uw projectmap hebt gekopieerd, moet u alle benodigde FreeRTOS-bestanden aan uw project toevoegen.

  1. In Keil, Selecteer Doel1, klik met de rechtermuisknop en selecteer Nieuwe groep toevoegen. Hernoem deze groep als FreeRTOS.
  2. Klik nu op de FreeRTOS-groep, klik met de rechtermuisknop op de optie Bestaande bestanden toevoegen aan groep "FreeRTOS…"
  3. Voeg alle FreeRTOS-bestanden toe zoals weergegeven in de bovenstaande afbeelding.

Het pad naar het vinden van deze bestanden in de FreeRTOS-map is:

  • Bestanden: croutine, event_groups, lijst, wachtrij, stream_buffer, taken en timers. Pad: (….\FreeRTOSv10.2.1\FreeRTOS\Bron)
  • Bestanden: heap_4 (Er zijn 4 geheugenbeheerbestanden die iedereen kan toevoegen). Pad: (….\FreeRTOSv10.2.1\FreeRTOS\Source\portable\MemMang)
  • Bestanden: port.c (Dit is een MCU-specifiek bestand). Pad: (…\FreeRTOSv10.2.1\FreeRTOS\Source\portable\RVDS\ARM_CM4F)

Opmerking: de FreeRTOS-versie kan veranderen. Gebruik gewoon de nieuwste beschikbare versie.

Stap 6: Configureer het pad van de FreeRTOS-headerbestanden

Configureer het pad van de FreeRTOS-headerbestanden
Configureer het pad van de FreeRTOS-headerbestanden

Nadat u de FreeRTOS-bronbestanden hebt toegevoegd, moet u de compiler vertellen waar de respectieve headerbestanden zich bevinden. Daarom moeten we de compileroptie configureren.

Klik met de rechtermuisknop op de optie Doel1 voor doel "Target1.." C/C++ Pad opnemen. Zorg ervoor dat u deze paden opneemt:

  1. Map opnemen in FreeRTOS (…\FreeRTOSv10.2.1\FreeRTOS\Source\include)
  2. RVDS-map (…\FreeRTOSv10.2.1\FreeRTOS\Source\portable\RVDS\ARM_CM4F)

Opmerking: als je headerbestanden hebt, zorg er dan voor dat je het pad van deze headerbestanden opneemt, zoals hierboven uitgelegd.

Stap 7: Voeg het "FreeRTOSConfig.h"-bestand toe aan het project

Toevoegen
Toevoegen

De FreeRTOS heeft één belangrijk headerbestand genaamd FreeRTOSConfig.h. Dit bestand bevat de toepassingsspecifieke (in ons geval specifiek voor Cortex M4F MCU) maatwerk. Voor de eenvoud heb ik ons MCU-specifieke FreeRTOSConfig.h-bestand gekopieerd naar de RVDS-directory. En ook in stap 6 hebben we het RVDS-pad al toegevoegd. Als u het zelf toevoegt, moet u dit bestand toevoegen aan uw project en ervoor zorgen dat u het pad van dit bestand opneemt zoals uitgelegd in stap 6.

Als je het FreeRTOSConfig.h-bestand zelf wilt toevoegen in de directory van je voorkeur, heb ik dit bestand hieronder opgenomen.

Voor meer informatie Klik hier FreeRTOSConfig.h

Stap 8: Voeg het "main.c"-bestand toe met de basissjabloon

Voeg de. toe
Voeg de. toe
  • Maak nu een nieuwe gebruikersgroep aan (ik heb deze hernoemd naar "Gebruikerstoepassing").
  • Voeg een nieuw C-bestand toe aan deze groep (ik heb een bestand met de naam main.c toegevoegd).
  • Dit is het bestand waarin de functie main() bestaat. Ik heb alle minimaal vereiste functies en headers in dit bestand opgenomen, zodat het project met succes kan worden gecompileerd.

Je kunt het main.c-bestand met basissjabloon hieronder vinden.

Stap 9: Sluit uw STM32F407 Discovery Kit aan op uw pc/laptop

Sluit uw STM32F407 Discovery Kit aan op uw pc/laptop
Sluit uw STM32F407 Discovery Kit aan op uw pc/laptop

Stap 10: Selecteer ST-Link Debugger in Compilerconfiguratie

Selecteer ST-Link Debugger in Compilerconfiguratie
Selecteer ST-Link Debugger in Compilerconfiguratie

Klik met de rechtermuisknop op Target1, klik vervolgens op Option for Target "Target1..", navigeer vervolgens naar het tabblad Debug en selecteer ST-Link-Debugger zoals weergegeven in de bovenstaande afbeelding

Stap 11: ST-Link Debugger configureren

ST-Link Debugger configureren
ST-Link Debugger configureren

Nadat u de ST-Link Debugger in stap 10 hebt geselecteerd, klikt u op Instellingen en selecteert u vervolgens Trace en controleert u alle velden zoals weergegeven in de bovenstaande afbeelding.

Stap 12: Bouw en upload de code

Bouw en upload de code
Bouw en upload de code

Bouw na het voltooien van alle stappen het project en zorg ervoor dat er geen fouten in de code staan. Na een succesvolle compilatie uploadt u de code naar uw Discovery Kit.

Stap 13: Ga naar het foutopsporingsvenster en open de seriële monitor

Ga naar het foutopsporingsvenster en open de seriële monitor
Ga naar het foutopsporingsvenster en open de seriële monitor

Ga na het uploaden naar debug windowviewSerial WindowsDebug(printf) Viewer zoals weergegeven in de bovenstaande afbeelding.

Stap 14: Voer de code uit om de uitvoer in het Debug Printf-venster te zien

Voer de code uit om de uitvoer in het Debug Printf-venster te zien
Voer de code uit om de uitvoer in het Debug Printf-venster te zien

De laatste stap is om de code uit te voeren zoals weergegeven in de afbeelding om de uitvoer in het printf-venster te zien. Hier in main.c heb ik 2 eenvoudige taken geïmplementeerd, task1 en task2 genaamd. Beide taken hebben dezelfde prioriteit en ze drukken alleen de naam van de taak af. Vanwege dezelfde prioriteiten kunt u ze allebei zien lopen en de naam afdrukken.

Aanbevolen: