Spisu treści:

Konfiguracja Blue Pill Board w STM32CubeIDE: 8 kroków
Konfiguracja Blue Pill Board w STM32CubeIDE: 8 kroków

Wideo: Konfiguracja Blue Pill Board w STM32CubeIDE: 8 kroków

Wideo: Konfiguracja Blue Pill Board w STM32CubeIDE: 8 kroków
Wideo: STM32 - программирование для начинающих. Пошагово. CubeMX CubeIDE 2024, Listopad
Anonim
Konfigurowanie niebieskiej tablicy pigułek w STM32CubeIDE
Konfigurowanie niebieskiej tablicy pigułek w STM32CubeIDE
Konfigurowanie niebieskiej tablicy pigułek w STM32CubeIDE
Konfigurowanie niebieskiej tablicy pigułek w STM32CubeIDE

Blue Pill to bardzo tania płytka rozwojowa ARM. Posiada procesor STM32F103C8, który ma 64 kB pamięci flash i 20 kB pamięci RAM. Działa do 72 MHz i jest najtańszym sposobem na rozpoczęcie tworzenia oprogramowania wbudowanego ARM.

Większość przykładowych projektów i opisów programowania płytki Blue Pill w środowisku Auduino. Chociaż to działa i jest sposobem na rozpoczęcie, ma swoje ograniczenia. Środowisko Arduino chroni cię trochę przed podstawowym sprzętem - to jest jego cel projektowy. Z tego powodu nie będziesz w stanie wykorzystać wszystkich funkcji oferowanych przez procesor, a integracja systemu operacyjnego czasu rzeczywistego nie jest tak naprawdę obsługiwana. Oznacza to, że środowisko Arduino nie jest szeroko stosowane w przemyśle. Jeśli chcesz zrobić karierę w tworzeniu oprogramowania wbudowanego, Arduino jest dobrym miejscem startowym, ale musisz przejść dalej i korzystać ze środowiska programistycznego, które jest używane przemysłowo. ST pomogło zapewnić całkowicie darmowy pakiet środowiska programistycznego dla swoich procesorów o nazwie STM32CubeIDE. Jest to szeroko stosowane w przemyśle, więc warto się nim zająć.

Jednak, i to jest duże, STM32CubeIDE jest przerażająco skomplikowany i jest zniechęcającym oprogramowaniem. Obsługuje wszystkie funkcje wszystkich procesorów ST i pozwala na ich szczegółową konfigurację, czego nie można znaleźć w Arduino IDE, ponieważ wszystko jest zrobione za Ciebie.

Musisz skonfigurować swoją płytę jako pierwszy krok w STM32CubeIDE. IDE wie o własnych płytach rozwojowych ST i ustawia je dla Ciebie, ale Blue Pill, używając procesora ST, nie jest produktem ST, więc jesteś tutaj sam.

Ta instrukcja poprowadzi Cię przez proces konfigurowania płyty Blue Pill, włączania portu szeregowego i pisania tekstu. To niewiele, ale to ważny pierwszy krok.

Kieszonkowe dzieci

STM32CubeIDE - do pobrania ze strony ST. Musisz się zarejestrować, a pobieranie zajmuje trochę czasu.

Tablica z niebieską pigułką. Możesz je dostać z serwisu eBay. Potrzebujesz takiego, który ma prawdziwy procesor ST, a niektórzy nie. W serwisie eBay powiększ zdjęcie i poszukaj logo ST na procesorze.

Debuger/programator ST-LINK v2 dostępny w serwisie eBay za kilka funtów.

Kabel szeregowy FTDI TTL do USB 3.3 V do wyjścia i 2 przewody męskie do żeńskich do podłączenia.

Program terminala szeregowego, taki jak PuTTY.

Krok 1: Tworzenie nowego projektu

Tworzenie nowego projektu
Tworzenie nowego projektu
Tworzenie nowego projektu
Tworzenie nowego projektu
  1. Uruchom STM32CubeIDE a następnie z menu wybierz File|New|STM32 Project.
  2. W polu wyszukiwania numeru części wpisz STM32F103C8.
  3. Na liście MCU/MPU powinieneś zobaczyć STM32F103C8. Wybierz tę linię jak na powyższym obrazku.
  4. Kliknij Następny.
  5. W oknie dialogowym Ustawienia projektu nadaj projektowi nazwę.
  6. Pozostaw wszystko inne bez zmian i kliknij Zakończ. Twój projekt pojawi się po lewej stronie w panelu Eksplorator projektów.

Krok 2: Konfiguracja procesora

Konfiguracja procesora
Konfiguracja procesora
Konfiguracja procesora
Konfiguracja procesora
Konfiguracja procesora
Konfiguracja procesora
Konfiguracja procesora
Konfiguracja procesora
  1. W panelu Project Explorer otwórz swój projekt i kliknij dwukrotnie plik.ioc.
  2. Na karcie Projekt i konfiguracja rozwiń System Core, a następnie wybierz SYS.
  3. W obszarze SYS Mode and Configuration w rozwijanym menu Debug wybierz Serial Wire.
  4. Teraz wybierz RCC na liście System Core tuż nad SYS wybranym powyżej.
  5. W sekcji Tryb i konfiguracja RCC z menu rozwijanego High Speed Clock (HSE) wybierz Rezonator kryształowy/ceramiczny.
  6. Teraz ponownie w sekcji Kategorie otwórz Łączność i wybierz USART2.
  7. W obszarze Tryb USART2 i Konfiguracja z menu rozwijanego Tryb wybierz Asynchroniczny.
  8. Teraz wybierz zakładkę Konfiguracja zegara i przejdź do następnego kroku.

Krok 3: Konfiguracja zegarów

Konfiguracja zegarów
Konfiguracja zegarów

Możesz teraz zobaczyć dość zniechęcający schemat zegara, ale wystarczy go skonfigurować tylko raz. To najtrudniejsze do opisania tutaj, ponieważ diagram jest złożony. Wszystkie rzeczy, które musisz zmienić, są podświetlone na powyższym obrazku.

  1. Płyta Blue Pill jest dostarczana z kryształem 8 MHz na płycie i to jest domyślne ustawienie schematu konfiguracji zegara, więc nie musimy tego zmieniać.
  2. Pod PLL Source Mux wybierz niższy wybór, HSE.
  3. Po prostu w prawo ustaw PLLMul na X9.
  4. W prawo ponownie pod System Clock Mux wybierz PLLCLK.
  5. W prawo ponownie pod APB1 Preskalar wybierz /2.
  6. Otóż to. Jeśli widzisz jakiekolwiek fragmenty diagramu podświetlone na fioletowo, oznacza to, że zrobiłeś coś złego.

Krok 4: Zapisz i zbuduj

  1. Zapisz konfigurację.ioc za pomocą Ctrl-S. Gdy pojawi się pytanie, czy chcesz wygenerować kod, wybierz Tak (i zaznacz Zapamiętaj moją decyzję, aby nie pytać za każdym razem). Możesz zamknąć plik.ioc.
  2. Teraz wykonaj kompilację z menu Projekt|Buduj projekt.

Krok 5: Dodanie kodu

Dodanie kodu
Dodanie kodu
Dodanie kodu
Dodanie kodu

Teraz dodamy trochę kodu, aby użyć skonfigurowanego portu szeregowego.

  1. W Project Explorer otwórz Core\Src i dwukrotnie kliknij main.c, aby go edytować.
  2. Przewiń w dół, aż znajdziesz funkcję main() i dodaj kod pokazany poniżej tuż pod komentarzem /* KOD UŻYTKOWNIKA POCZĄTEK 3 */, a następnie wykonaj kompilację ponownie.

HAL_UART_Transmit(&huart2, (uint8_t *)"Witaj świecie!\r\n", 15U, 100U);

Następnie podłącza sprzęt i daj mu szansę.

Krok 6: Podłączanie sprzętu

Podłączanie sprzętu
Podłączanie sprzętu
Podłączanie sprzętu
Podłączanie sprzętu

Podłączanie ST-LINK v2

ST-LINK v2 powinien być wyposażony w 4-żyłowy kabel taśmowy żeńsko-żeński. Musisz wykonać następujące połączenia:

Niebieska pigułka do ST-LINK v2

GND do GND

CLK do SWCLK

DIO do SWDIO

3,3 do 3,3 V

Zobacz pierwszy obrazek powyżej.

Podłączanie kabla szeregowego

Jeśli wrócisz do pliku.ioc i spojrzysz na schemat chipów po prawej stronie, zobaczysz, że linia Tx UART2 jest na pinie PA2. W związku z tym podłącz pin oznaczony PA2 na płytce Blue Pill do połączenia z żółtym przewodem na kablu szeregowym FTDI. Podłącz również jeden z pinów uziemienia Blue Pill (oznaczony jako G) do czarnego przewodu na kablu szeregowym FTDI.

Zobacz drugi obrazek powyżej.

Krok 7: Debugowanie

Debugowanie
Debugowanie
Debugowanie
Debugowanie

Podłącz kabel szeregowy FTDI i uruchom terminal szeregowy z prędkością 115200 bodów. Następnie podłącz ST-LINK v2 i gotowe.

  1. Z STM32CubeIDE wybierz Run|Debug. Gdy pojawi się okno dialogowe Debuguj jako, wybierz aplikację STM32 Cortex-M C/C++ i OK.
  2. Gdy pojawi się okno dialogowe Edytuj konfigurację, po prostu naciśnij OK.
  3. Debuger przerwie się w pierwszym wierszu funkcji main(). Z menu wybierz Run|Resume i sprawdź komunikaty w terminalu szeregowym.

Krok 8: Robić więcej

To wszystko, Twoja pierwsza aplikacja STM32CubeIDE jest skonfigurowana i uruchomiona. Ten przykład niewiele robi - po prostu wysyła trochę danych z portu szeregowego.

Aby korzystać z innych urządzeń peryferyjnych i pisać sterowniki dla urządzeń zewnętrznych, musisz ponownie zmierzyć się z tym zniechęcającym edytorem konfiguracji! Aby pomóc, stworzyłem serię przykładowych projektów STM32CubeIDE, które konfigurują i ćwiczą wszystkie urządzenia peryferyjne procesora Blue Pill w małych, łatwych do zrozumienia projektach. Wszystkie są open source i możesz robić z nimi, co chcesz. Każde urządzenie peryferyjne jest skonfigurowane, a następnie ma przykładowy kod do wykonywania go w izolacji (prawie!), dzięki czemu możesz skoncentrować się na uruchamianiu tylko jednego urządzenia peryferyjnego na raz.

Dostępne są również sterowniki do urządzeń zewnętrznych od prostych chipów EEPROM po czujniki ciśnienia, wyświetlacze tekstowe i graficzne, modem SIM800 dla TCP, HTTP i MQTT, klawiatury, moduły radiowe, USB, a także integracja z FatFS, kartami SD i FreeRTOS.

Wszystkie można znaleźć na Github tutaj…

github.com/miniwinwm/BluePillDemo

Zalecana: