Sommario:

Configurazione di Blue Pill Board in STM32CubeIDE: 8 passaggi
Configurazione di Blue Pill Board in STM32CubeIDE: 8 passaggi

Video: Configurazione di Blue Pill Board in STM32CubeIDE: 8 passaggi

Video: Configurazione di Blue Pill Board in STM32CubeIDE: 8 passaggi
Video: Project 🟣 STM32 Programming with STM32F103C8T6 Blue Pill C++ in STM32 Cube IDE 2024, Dicembre
Anonim
Configurazione di Blue Pill Board in STM32CubeIDE
Configurazione di Blue Pill Board in STM32CubeIDE
Configurazione di Blue Pill Board in STM32CubeIDE
Configurazione di Blue Pill Board in STM32CubeIDE

La Blue Pill è una scheda di sviluppo ARM barebone molto economica. Ha come processore un STM32F103C8 che ha 64 kbyte di flash e 20 kbyte di memoria RAM. Funziona fino a 72 MHz ed è il modo più economico per entrare nello sviluppo di software embedded ARM.

La maggior parte dei progetti di esempio e come descrivono la programmazione della scheda Blue Pill utilizzando l'ambiente Auduino. Anche se funziona ed è un modo per iniziare, ha i suoi limiti. L'ambiente Arduino ti protegge un po' dall'hardware sottostante: questo è il suo obiettivo di progettazione. Per questo motivo non sarai in grado di sfruttare tutte le funzionalità offerte dal processore e l'integrazione di un sistema operativo in tempo reale non è realmente supportata. Ciò significa che l'ambiente Arduino non è ampiamente utilizzato nell'industria. Se vuoi fare carriera nello sviluppo di software embedded, Arduino è un buon punto di partenza, ma devi andare avanti e utilizzare un ambiente di sviluppo utilizzato a livello industriale. La ST fornisce utilmente una suite di ambiente di sviluppo completamente gratuita per i propri processori chiamata STM32CubeIDE. Questo è ampiamente utilizzato nell'industria, quindi è un buon punto a cui passare.

Tuttavia, e questo è il grande, STM32CubeIDE è spaventosamente complicato ed è un software scoraggiante da usare. Supporta tutte le funzionalità di tutti i processori ST e consente loro di essere configurati intimamente, cosa che non trovi nell'IDE Arduino perché è tutto fatto per te.

È necessario configurare la scheda come primo passo in STM32CubeIDE. L'IDE conosce le schede di sviluppo della ST e le imposta per te, ma Blue Pill, mentre si utilizza un processore ST, non è un prodotto ST, quindi qui sei da solo.

Questa istruzione ti guida attraverso il processo di configurazione della tua scheda Blue Pill, abilitazione di una porta seriale e scrittura del testo. Non è molto, ma è un primo passo importante.

Forniture

STM32CubeIDE - scaricare dal sito Web di ST. Devi registrarti e il download richiede un po' di tempo.

Un tabellone blu. Puoi prenderli da ebay. Hai bisogno di uno che abbia un vero processore ST su di esso come alcuni non lo fanno. In ebay ingrandisci l'immagine e cerca il logo ST sul processore.

Un debugger/programmatore ST-LINK v2 disponibile su ebay per poche sterline.

Un cavo seriale FTDI da TTL a USB da 3,3 V per l'uscita e 2 cavi di intestazione da maschio a femmina per collegarlo.

Un programma per terminale seriale come PuTTY.

Passaggio 1: creazione di un nuovo progetto

Creazione di un nuovo progetto
Creazione di un nuovo progetto
Creazione di un nuovo progetto
Creazione di un nuovo progetto
  1. Avvia STM32CubeIDE e poi dal menu scegli File|Nuovo|Progetto STM32.
  2. Nella casella Ricerca codice articolo immettere STM32F103C8.
  3. Nell'elenco MCU/MPU dovresti vedere STM32F103C8. Seleziona questa linea come nell'immagine sopra.
  4. Fare clic su Avanti.
  5. Nella finestra di dialogo Impostazioni progetto assegna un nome al progetto.
  6. Lascia tutto il resto così com'è e fai clic su Fine. Il tuo progetto apparirà a sinistra nel pannello Esplora progetti.

Passaggio 2: configurazione del processore

Configurazione del processore
Configurazione del processore
Configurazione del processore
Configurazione del processore
Configurazione del processore
Configurazione del processore
Configurazione del processore
Configurazione del processore
  1. Nel pannello Esplora progetti, apri il tuo progetto e fai doppio clic sul file.ioc.
  2. Nella scheda Progetto e configurazione espandere System Core quindi selezionare SYS.
  3. In Modalità e configurazione SYS nel menu a discesa Debug scegli Serial Wire.
  4. Ora seleziona RCC nell'elenco System Core appena sopra SYS che hai selezionato sopra.
  5. In Modalità e configurazione RCC dal menu a discesa Orologio ad alta velocità (HSE) selezionare Risonatore Crystal/Ceramic.
  6. Ora in Categorie di nuovo, apri Connettività e seleziona USART2.
  7. In Modalità e configurazione USART2 dal menu a discesa Modalità selezionare Asincrono.
  8. Ora seleziona la scheda Configurazione orologio e vai al passaggio successivo.

Passaggio 3: configurazione degli orologi

Configurazione degli orologi
Configurazione degli orologi

Ora puoi vedere un diagramma dell'orologio piuttosto scoraggiante, ma deve essere impostato solo una volta. Questo è il più difficile da descrivere qui poiché il diagramma è complesso. Tutte le cose che devi cambiare sono evidenziate nell'immagine sopra.

  1. La scheda Blue Pill è dotata di un cristallo da 8 MHz sulla scheda e questo è l'impostazione predefinita del diagramma di configurazione dell'orologio, quindi non è necessario modificarlo.
  2. In PLL Source Mux selezionare la scelta inferiore, HSE.
  3. Appena a destra, imposta PLLMul su X9.
  4. Di nuovo a destra sotto System Clock Mux selezionare PLLCLK.
  5. Di nuovo a destra sotto APB1 Prescalar selezionare /2.
  6. Questo è tutto. Se vedi parti del diagramma evidenziate in viola, hai fatto qualcosa di sbagliato.

Passaggio 4: salva e crea

  1. Salva la configurazione.ioc con Ctrl-S. Quando ti viene chiesto se desideri generare il codice, seleziona Sì (e seleziona Ricorda la mia decisione in modo che non ti venga chiesto ogni volta). Puoi chiudere il file.ioc.
  2. Ora fai una build dal menu Project|Build Project.

Passaggio 5: aggiunta di codice

Aggiungere del codice
Aggiungere del codice
Aggiungere del codice
Aggiungere del codice

Ora aggiungeremo del codice per utilizzare la porta seriale che abbiamo configurato.

  1. In Project Explorer apri Core\Src e fai doppio clic su main.c per modificarlo.
  2. Scorri verso il basso fino a trovare la funzione main() e aggiungi il codice mostrato di seguito appena sotto il commento /* USER CODE BEGIN 3 */ quindi esegui nuovamente una build.

HAL_UART_Transmit(&huart2, (uint8_t *)"Ciao mondo!\r\n", 15U, 100U);

Quindi è necessario collegare l'hardware e provarlo.

Passaggio 6: collegamento dell'hardware

Collegamento dell'hardware
Collegamento dell'hardware
Collegamento dell'hardware
Collegamento dell'hardware

Collegamento di ST-LINK v2

L'ST-LINK v2 avrebbe dovuto essere fornito con un cavo a nastro a 4 fili da femmina a femmina. È necessario effettuare i seguenti collegamenti:

Pillola blu a ST-LINK v2

GND a GND

Da CLK a SWCLK

DIO a SWDIO

da 3,3 a 3,3 V

Vedi la prima immagine sopra.

Collegamento del cavo seriale

Se torni al file.ioc e guardi il diagramma del chip a destra vedrai che la linea Tx di UART2 è sul pin PA2. Quindi collegare il pin etichettato PA2 sulla scheda Blue Pill alla connessione con il filo giallo sul cavo seriale FTDI. Collega anche uno dei pin di massa della Blue Pill (etichettato con G) al filo nero sul cavo seriale FTDI.

Vedi la seconda immagine sopra.

Passaggio 7: debug

Debug
Debug
Debug
Debug

Collega il cavo seriale FTDI e accendi un terminale seriale a 115200 baud. Quindi collega il tuo ST-LINK v2 e sei pronto per partire.

  1. Da STM32CubeIDE scegli Esegui|Debug. Quando viene visualizzata una finestra di dialogo Debug come, scegliere STM32 Cortex-M C/C++ Application e OK.
  2. Quando viene visualizzata una finestra di dialogo Modifica configurazione, premere OK.
  3. Il debugger si interromperà sulla prima riga di main(). Dal menu scegli Esegui|Riprendi e controlla i messaggi nel terminale seriale.

Passaggio 8: fare di più

Ecco fatto, la tua prima applicazione STM32CubeIDE è configurata e funzionante. Questo esempio non fa molto: invia solo alcuni dati dalla porta seriale.

Per utilizzare altre periferiche e scrivere driver per dispositivi esterni devi affrontare di nuovo quell'arduo editor di configurazione! Per aiutare, ho prodotto una serie di progetti di esempio STM32CubeIDE che configurano ed esercitano tutte le periferiche sul processore di Blue Pill in piccoli progetti di facile comprensione. Sono tutti open source e sei libero di fare quello che vuoi con loro. Ogni periferica è configurata e quindi ha un codice di esempio per esercitarla in isolamento (quasi!) In modo che tu possa concentrarti sul far funzionare solo una periferica alla volta.

Ci sono anche driver per dispositivi esterni da semplici chip EEPROM a sensori di pressione, LCD di testo e grafici, modem SIM800 per TCP, HTTP e MQTT, tastiere, moduli radio, USB e anche integrazione con FatFS, schede SD e FreeRTOS.

Possono essere trovati tutti in Github qui…

github.com/miniwinwm/BluePillDemo

Consigliato: