Innholdsfortegnelse:

Sette opp FreeRTOS From Scratch på STM32F407 Discovery Kit: 14 trinn
Sette opp FreeRTOS From Scratch på STM32F407 Discovery Kit: 14 trinn

Video: Sette opp FreeRTOS From Scratch på STM32F407 Discovery Kit: 14 trinn

Video: Sette opp FreeRTOS From Scratch på STM32F407 Discovery Kit: 14 trinn
Video: STM32F4 Discovery board - Keil 5 IDE with CubeMX: Tutorial 40 - UART DMA (PC to STM) 2024, November
Anonim
Sette opp FreeRTOS From Scratch på STM32F407 Discovery Kit
Sette opp FreeRTOS From Scratch på STM32F407 Discovery Kit

Å velge FreeRTOS som et sanntidsoperativsystem for ditt innebygde prosjekt er et godt valg. FreeRTOS er virkelig gratis og har mange enkle og effektive RTOS -funksjoner. Men det kan være vanskelig å sette opp freeRTOS fra bunnen av, eller jeg kan si litt forvirrende, da det krever litt tilpasning, for eksempel å legge til mikrokontroller -spesifikke filer, angi baner for overskriftsfiler, etc. I denne instruksjonsguiden vil jeg veilede deg om hvordan du konfigurerer FreeRTOS på STM32F407 Discovery -settet ditt i detalj ved hjelp av Kiel uVision IDE.

Rekvisita

  • Du finner mer om FreeRTOS på freertos.org
  • FreeRTOS nedlastingsguide RTOS kildekode nedlasting instruksjoner
  • Komplett informasjon om STM32F407 Discovery Kit Komme i gang med STM32F407 Discovery KIt
  • Github Repository FreeRTOS på STM32F407 Discovery Kit

Trinn 1: Åpne Keil UVision IDE

Åpne Keil UVision IDE
Åpne Keil UVision IDE

Åpne Keil uVision IDE. Klikk på et prosjekt, velg Nytt uVision -prosjekt … Velg deretter arbeidskatalogen og oppgi ønsket prosjektnavn.

Trinn 2: Velg enheten

Velg enheten
Velg enheten

Når du har gitt prosjektnavnet, må du legge til en enhet i neste trinn. Her legger vi til STM32F407VG Microncontroller fra STMicroelectronics. Velg STM32F407VG, og klikk deretter OK.

Trinn 3: Administrer kjøretidsmiljø

Administrer kjøretidsmiljø
Administrer kjøretidsmiljø

Det neste trinnet er å velge biblioteket/driverkomponenten i kategorien Manage Run-Time Environment. Her velger du alle komponentene som vist på bildet ovenfor. Når du har merket av alt passende felt, klikker du på Løs og deretter på OK.

Trinn 4: Kopier FreeRTOS til prosjektmappen

Kopier FreeRTOS til prosjektmappen
Kopier FreeRTOS til prosjektmappen

Nå må du kopiere hele FreeRTOS -mappen til prosjektmappen.

Trinn 5: Legg til FreeRTOS -filer i Project

Legg til FreeRTOS -filer i Project
Legg til FreeRTOS -filer i Project

Når du har kopiert FreeRTOS -mappen inne i prosjektmappen, må du legge til alle nødvendige FreeRTOS -filer i prosjektet.

  1. Velg Keil1 i Keil, høyreklikk og velg Legg til ny gruppe. Gi nytt navn til denne gruppen som FreeRTOS.
  2. Klikk nå på FreeRTOS-gruppen, høyreklikk på velg Legg til eksisterende filer til gruppen "FreeRTOS …"
  3. Legg til alle FreeRTOS -filene som vist på bildet ovenfor.

Veien til å finne disse filene i FreeRTOS -mappen er:

  • Filer: croutine, event_groups, list, kø, stream_buffer, oppgaver og tidtakere. Sti: (…. / FreeRTOSv10.2.1 / FreeRTOS / Source)
  • Filer: heap_4 (Det er 4 minnehåndteringsfiler som legger til noen). Sti: (…. / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / MemMang)
  • Filer: port.c (Dette er en MCU -spesifikk fil). Sti: (… / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / RVDS / ARM_CM4F)

Merk: FreeRTOS -versjonen kan endres. Bare bruk den siste tilgjengelige versjonen.

Trinn 6: Konfigurer banen til FreeRTOS -toppfilene

Konfigurer banen til FreeRTOS -toppfilene
Konfigurer banen til FreeRTOS -toppfilene

Når du har lagt til FreeRTOS -kildefilene, må du fortelle kompilatoren hvor de respektive toppfilene er plassert. Derfor må vi konfigurere kompilatoralternativet.

Høyreklikk på Target1 Alternativ for Target "Target1.." C/C ++ Inkluder sti. Sørg for å inkludere disse banene:

  1. Inkluder mappe i FreeRTOS (… / FreeRTOSv10.2.1 / FreeRTOS / Source / include)
  2. RVDS -katalog (… / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / RVDS / ARM_CM4F)

Merk: Hvis du har noen overskriftsfiler, må du inkludere banen til disse toppfilene som forklart ovenfor.

Trinn 7: Legg til "FreeRTOSConfig.h" -fil i Project

Legge til
Legge til

FreeRTOS har en viktig topptekstfil som heter FreeRTOSConfig.h. Denne filen inneholder den applikasjonsspesifikke (i vårt tilfelle spesifikke for Cortex M4F MCU) tilpasning. For enkelhets skyld har jeg kopiert vår MCU -spesifikke FreeRTOSConfig.h -fil i RVDS -katalogen. Og også i trinn 6 har vi allerede lagt til RVDS -banen. Hvis du legger til den selv, må du legge til denne filen i prosjektet og også sørge for at du inkluderer banen til denne filen som forklart i trinn 6.

Hvis du vil legge til FreeRTOSConfig.h -filen selv i din foretrukne katalog, har jeg tatt med denne filen nedenfor.

For mer informasjon Klikk her FreeRTOSConfig.h

Trinn 8: Legg til "main.c" -filen med grunnmalen

Legg til
Legg til
  • Lag nå en ny brukergruppe (jeg har gitt den nytt navn til "Brukerprogram").
  • Legg til en ny C-fil i denne gruppen (jeg har lagt til en fil som heter main.c).
  • Dette er filen der hovedfunksjonen () eksisterer. Jeg har inkludert alle nødvendige funksjoner og overskrifter i denne filen, slik at prosjektet blir vellykket.

Du finner main.c -filen med grunnleggende mal nedenfor.

Trinn 9: Koble STM32F407 Discovery Kit til PC/bærbar PC

Koble STM32F407 Discovery Kit til PC/bærbar PC
Koble STM32F407 Discovery Kit til PC/bærbar PC

Trinn 10: Velg ST-Link Debugger i kompileringskonfigurasjon

Velg ST-Link Debugger i kompilatorkonfigurasjon
Velg ST-Link Debugger i kompilatorkonfigurasjon

Høyreklikk på Target1, klikk deretter på Alternativ for Target "Target1..", naviger deretter til Debug-fanen og velg ST-Link-Debugger som vist på bildet ovenfor

Trinn 11: Konfigurer ST-Link Debugger

Konfigurer ST-Link Debugger
Konfigurer ST-Link Debugger

Etter å ha valgt ST-Link Debugger i trinn 10, klikk på Innstillinger, velg deretter Spor og sjekk alle feltene som vist på bildet ovenfor.

Trinn 12: Bygg og last opp koden

Bygg og last opp koden
Bygg og last opp koden

Etter å ha fullført alle trinnene, bygg prosjektet og kontroller at det ikke er noen feil i koden. Etter vellykket kompilering laster du opp koden til Discovery Kit.

Trinn 13: Gå til feilsøkingsvinduet og åpne seriell skjerm

Gå til feilsøkingsvinduet og åpne seriell skjerm
Gå til feilsøkingsvinduet og åpne seriell skjerm

Etter opplasting går du til feilsøkingsvinduevisning Seriell Windows Debug (printf) Viewer som vist på bildet ovenfor.

Trinn 14: Kjør koden for å se vinduet Outut on Debug Printf

Kjør koden for å se vinduet Outut on Debug Printf
Kjør koden for å se vinduet Outut on Debug Printf

Det siste trinnet er å kjøre koden som vist på bildet for å se utskriften i printf -vinduet. Her i main.c har jeg implementert 2 enkle oppgaver kalt task1 og task2. Begge oppgavene har samme prioritet, og de skriver bare ut navnet på oppgaven. På grunn av de samme prioriteringene kan du se at begge kjører og skriver ut navnet.

Anbefalt: