Sommario:

Programmazione STM32 "Blue Pill" tramite Arduino IDE e USB: 8 passaggi
Programmazione STM32 "Blue Pill" tramite Arduino IDE e USB: 8 passaggi

Video: Programmazione STM32 "Blue Pill" tramite Arduino IDE e USB: 8 passaggi

Video: Programmazione STM32
Video: Come programmare STM32 con Arduino IDE | Floppy Board Tutorial 2024, Dicembre
Anonim
STM32
STM32

Confrontando la scheda prototipo generica STM32F (ovvero Blue Pill) con la sua controparte Arduino è facile vedere quante più risorse ha, il che apre molte nuove opportunità per i progetti IOT.

I contro sono la mancanza di supporto ad esso. In realtà non manca proprio di supporto, ma è troppo diffuso in molti forum, blog e molte altre pagine. Molti sono obsoleti.

Descriverò le mie esperienze per ottenere una di quelle schede non solo configurate dall'IDE Arduino ma anche tramite il connettore USB integrato.

Mostrerò anche come caricare Bootloader utilizzando ST-Link V2.

Passaggio 1: parti:

Parti
Parti
Parti
Parti

Avrai bisogno di alcune parti:

  1. La prima cosa di cui avrai bisogno è, ovviamente, una scheda prototipo ST32F103. "Blue Pill" è come è noto in giro e puoi acquistarlo a un prezzo accessibile in molti negozi di eCommerce.
  2. Un modulo ST-Link V2
  3. Tagliere e cavi di salto

Passaggio 2: software di cui avrai bisogno:

Software di cui avrai bisogno
Software di cui avrai bisogno
Software di cui avrai bisogno
Software di cui avrai bisogno
Software di cui avrai bisogno
Software di cui avrai bisogno
  1. Prima di tutto, Arduino IDE. Se non l'hai ancora scaricato, questo è il link: https://www.arduino.cc/en/Main/Software. Provo questo istruibile con la versione 1.8.11, 1.8.12 e la versione dell'app, che funzionano solo per Windows 8 e 10. Non tratterò questa installazione del software, una volta che ci sono molte informazioni su come farlo.
  2. Dal sito STM avrai bisogno del software sottostante. È necessario creare un account:

    1. Driver Windows ST-Link V2:
    2. STM32-Link Utility (https://my.st.com/content/my_st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-link004.html).
  3. Quindi è il momento di scaricare Bootloader. Questo è ciò che consentirà a Blue Pill di connettersi all'USB del computer. Questo è il link a questo:

Nota che dovrai anche aggiungere schede all'IDE di Arduino. Spiegherò in dettaglio come farlo.

Fase 3: Scheda prototipale generica STM32F103, la pillola blu

STM32F103 Scheda prototipale generica, la pillola blu
STM32F103 Scheda prototipale generica, la pillola blu
STM32F103 Scheda prototipale generica, la pillola blu
STM32F103 Scheda prototipale generica, la pillola blu
STM32F103 Scheda prototipale generica, la pillola blu
STM32F103 Scheda prototipale generica, la pillola blu

Ora una breve spiegazione sulla scheda prototipo STM32F103, conosciuta da "Blue Pill".

Questo è hardware open source, assomiglia ad Arduino Nano (dimensioni quasi simili). Potresti trovare molti produttori diversi, ma seguono molto da vicino lo schema, anche i problemi.

Potresti chiedere: Se sembra Arduino Nano, perché dovrei passare a un hardware diverso?

La risposta è semplice. Come ho già detto, se il tuo progetto necessita di un controller Micro più veloce, con più GPIO (33 in totale), ingressi ADC più e/o precisi (risoluzione 10 ingressi x 12 bit), più uscite analogiche (15), più interfacce di comunicazione, ecc.; questo è il microcontrollore di cui potresti aver bisogno.

Sopra c'è il pin out e il diagramma schematico.

Ora, alcuni consiglia:

  1. Questo è un microcontrollore 3V3. Nonostante alcuni pin siano resilienti a 5V, suggerisco di mantenere il livello degli accessori alto in 3V3, altrimenti puoi friggerti Blue Pill.
  2. Pin PA11 e PA12 non sono disponibili, una volta che sono responsabili della comunicazione USB.
  3. Parlando di USB, troverai molti siti e blog che informano che Blue Pill ha un valore di resistenza di pull-up errato nelle sue porte. Secondo quindi, sono in generale 10KΩ invece di 4,7KΩ. Ciò potrebbe causare problemi di connessione USB. Ad essere onesti, ho 3 schede e non ho mai avuto problemi a collegarne nessuna in nessun laptop. Quindi, consiglierei di lavorarci su se hai davvero problemi a connettere l'USB al tuo computer. Più tardi ho trovato un circuito in cui il valore di questo resistore era effettivamente di 10KΩ. Vai a capire… La soluzione è saldare un resistore da 1,5 KΩ o 1,8 KΩ tra il pin PA12 e 5 V vcc.
  4. Uno sguardo ravvicinato allo schema è anche possibile vedere che non c'è protezione tra le linee di alimentazione 5V e USB 5V. FARE ATTENZIONE O SOLO evitare di utilizzare più fonti di alimentazione. Puoi friggere la porta USB del tuo computer, se forse usi un alimentatore esterno da 5 V significa che la scheda è collegata a USB.

Passaggio 4: adattatore USB ST LINK V2

Adattatore USB ST LINK V2
Adattatore USB ST LINK V2
Adattatore USB ST LINK V2
Adattatore USB ST LINK V2
Adattatore USB ST LINK V2
Adattatore USB ST LINK V2
Adattatore USB ST LINK V2
Adattatore USB ST LINK V2

ST LINK V2 è un adattatore da USB a SWD, progettato per attività di debug e programmazione.

Se intendi lavorare con il chip STM32 in modo serio, avrai bisogno di questo strumento. Consente di comunicare con il chip direttamente tramite il connettore della testa SWB.

Ci sono molti blog e siti con istruzioni su come caricare utilizzando l'adattatore da USB a TTL, ma non sono riuscito a trovarne nessuno utilizzando questo strumento per caricare il boot loader.

Ciò consente anche di programmare Blue Pill con il boot loader originale utilizzando il software STM32Cube Programmer (forse creerò un'istruzione per questo in futuro).

Per installare l'unità Windows segui questi passaggi:

  1. Decomprimi il file scaricato
  2. Esegui "stlink_winusb_install.bat come amministratore
  3. Premere il tasto al termine.
  4. Collegare ST-Link V2 a qualsiasi computer USB disponibile.

Ricorda: questo installerà un dispositivo USB, NON una porta di comunicazione.

Passaggio 5: è ora di iniziare il vero lavoro: caricamento del boot loader STM32Duino

È ora di iniziare il vero lavoro: caricamento del boot loader STM32Duino
È ora di iniziare il vero lavoro: caricamento del boot loader STM32Duino
È ora di iniziare il vero lavoro: caricamento del boot loader STM32Duino
È ora di iniziare il vero lavoro: caricamento del boot loader STM32Duino

Per prima cosa: collega ST-Link a Blue Pill. Questo è molto semplice, una volta che il pin out di ST è etichettato sulla sua custodia.

Connettore ST-Link Blue Pill SWD

pin2- SWDIO pin2- SWIO (o IO in alcune schede)

pin3- GND pin4- GND

pin6- SWCLKpin3- SWCLK (o semplicemente CLK)

pin7- 3.3V pin1- 3V3

Il pin out di ST-Link V2 è un'etichetta trasparente sul corpo.

Eseguire il software "STM32 ST-Link Utility" (potrebbe essere già installato nel computer).

Non appena il software viene caricato, recupererà tutti i dati nella memoria Boot0. In caso contrario, fare clic su "Collega a dispositivo", la presa con l'icona di un bullone. Recupererà anche molte informazioni sul chip STM32.

caricare il file binario è molto semplice:

  1. Sposta il jumper "Boot0" nella posizione "1"
  2. Fare clic su "Binario"
  3. Seleziona il file Bootloader (.bin)
  4. Al menu, fare clic su "Target" e "Programma".

Ciò consentirà di caricare Boot0 con il nuovo Bootloader.

  1. Riporta il jumper "Boot0" in posizione "0"
  2. Premere il pulsante di ripristino.

ATTENZIONE: Non sarà più necessario spostare il jumper Boot0 in posizione "1" per caricare i programmi creati nell'IDE Arduino.

Passaggio 6: è tempo di affrontare l'IDE Arduino

È ora di affrontare l'IDE Arduino
È ora di affrontare l'IDE Arduino

Potresti notare che dopo aver caricato "generic_boot20_pc13.bin" la tua porta USB Blue Pill verrà riconosciuta da Gestione dispositivi del computer come "Maple Serial (COMx)".

Per preparare l'IDE Arduino per gestire STM32, segui i passaggi seguenti:

Passaggio 7: è tempo di affrontare l'IDE Arduino

È ora di affrontare l'IDE Arduino
È ora di affrontare l'IDE Arduino
È ora di affrontare l'IDE Arduino
È ora di affrontare l'IDE Arduino
È ora di affrontare l'IDE Arduino
È ora di affrontare l'IDE Arduino

Ora potresti notare, collegando la tua porta USB al tuo computer, verrebbe riconosciuto come "Maple Serial (COMx)".

Ora, prepariamo l'IDE Arduino per la programmazione STM32. Apri Arduino IDE, se non l'hai ancora aperto:

  1. Vai al menu File e seleziona "Preferenze". Questo aprirà la finestra Preferenze.
  2. Fare clic sull'icona con il doppio quadrato vicino alla casella di testo "Ulteriori URL di Board Manager".
  3. All'interno della casella di testo, copia e incolla i collegamenti sottostanti, uno per riga: https://dan.drown.org/stm32duino/package_STM32duino_index.jsonhttps://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json bisogno di entrambe le schede impostate in quei collegamenti.
  4. Ora vai al menu "Strumenti" e seleziona "Gestione schede". Si aprirà la finestra "Board Manager".
  5. Assicurati che "Tutto" sia selezionato in "Tipo" e nella casella di testo digita "STM32F1"
  6. Vengono visualizzate entrambe le opzioni di installazione.

Fase 8: Il "Gran Finale"

Il
Il

Ora puoi digitare il tuo codice e compilarlo.

Collega la tua "Pillola Blu" e imposta le configurazioni come in foto. Assicurati di selezionare la porta corretta.

Quindi, ora è pronto per caricare il codice su "Blue Pill".

Spero ti sia d'aiuto!

Consigliato: