Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Åpne Keil UVision IDE
- Trinn 2: Velg enheten
- Trinn 3: Administrer kjøretidsmiljø
- Trinn 4: Kopier FreeRTOS til prosjektmappen
- Trinn 5: Legg til FreeRTOS -filer i Project
- Trinn 6: Konfigurer banen til FreeRTOS -toppfilene
- Trinn 7: Legg til "FreeRTOSConfig.h" -fil i Project
- Trinn 8: Legg til "main.c" -filen med grunnmalen
- Trinn 9: Koble STM32F407 Discovery Kit til PC/bærbar PC
- Trinn 10: Velg ST-Link Debugger i kompileringskonfigurasjon
- Trinn 11: Konfigurer ST-Link Debugger
- Trinn 12: Bygg og last opp koden
- Trinn 13: Gå til feilsøkingsvinduet og åpne seriell skjerm
- Trinn 14: Kjør koden for å se vinduet Outut on Debug Printf
Video: Sette opp FreeRTOS From Scratch på STM32F407 Discovery Kit: 14 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:22
Å 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. Klikk på et prosjekt, velg Nytt uVision -prosjekt … Velg deretter arbeidskatalogen og oppgi ønsket prosjektnavn.
Trinn 2: 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ø
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
Nå må du kopiere hele FreeRTOS -mappen til prosjektmappen.
Trinn 5: 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.
- Velg Keil1 i Keil, høyreklikk og velg Legg til ny gruppe. Gi nytt navn til denne gruppen som FreeRTOS.
- Klikk nå på FreeRTOS-gruppen, høyreklikk på velg Legg til eksisterende filer til gruppen "FreeRTOS …"
- 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
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:
- Inkluder mappe i FreeRTOS (… / FreeRTOSv10.2.1 / FreeRTOS / Source / include)
- 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
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
- 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
Trinn 10: Velg ST-Link Debugger i kompileringskonfigurasjon
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
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
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
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
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:
Hvordan sette opp en Raspberry Pi og begynne å bruke den: 4 trinn
Hvordan sette opp en Raspberry Pi og begynne å bruke den: For fremtidens lesere er vi i 2020. Året hvor du, hvis du er heldig som er frisk og ikke er smittet av Covid-19, plutselig har mye mer fritid enn du noen gang hadde forestilt deg. Så hvordan kan jeg okkupere meg selv på en ikke for dum måte? Å ja
Hvordan sette opp OSMC med Hyperion på Raspberry Pi med WS2812b Led Strip: 8 trinn
Hvordan sette opp OSMC med Hyperion på Raspberry Pi med WS2812b Led Strip: Noen ganger er jeg veldig godt engelsk, noen ganger nei … Første ting først. Dette er min første instruerbare og engelsk er ikke morsmålet mitt, så vær så snill, ikke vær for hard mot meg. Dette handler ikke om hvordan du bygger rammen, det er enkelt. Det handler om installasjon
Hvordan sette opp vin på Raspberry Pi: 8 trinn
Slik konfigurerer du vin på Raspberry Pi: Wine er et flott verktøy som hjelper til med å starte Windows -apper på Linux, Ubuntu -systemer etc. For å lære alle detaljer, gå til www.winehq.org (dette er ikke en tilknyttet lenke) Saken er at alle applikasjonene for Windows er bygget for prosessorer med s
Sette opp MotionEye OS på Raspberry Pi Zero W: 5 trinn
Sette opp MotionEye OS på Raspberry Pi Zero W: Etter å ha testet ESP32-CAM-kortet i de forrige videoene, er det trygt å si at videokvaliteten ikke akkurat er strålende. Det er et kompakt og ekstremt kostnadseffektivt brett som også er enkelt å bruke, og dette gjør det perfekt for nybegynnere. Men
Grunnleggende mobiltelefon ved bruk av STM32F407 Discovery Kit og GSM A6 -modul: 14 trinn (med bilder)
Grunnleggende mobiltelefon ved bruk av STM32F407 Discovery Kit og GSM A6 -modul: Har du noen gang ønsket å lage et kult innebygd prosjekt ?. Hvis ja, hva med å bygge en av de mest populære og alles favoritt gadget, dvs mobiltelefon !!!. I denne instruksen vil jeg guide deg til hvordan du bygger en grunnleggende mobiltelefon ved hjelp av STM