Taula de continguts:

Programació STM32 "Blue Pill" mitjançant Arduino IDE i USB: 8 passos
Programació STM32 "Blue Pill" mitjançant Arduino IDE i USB: 8 passos

Vídeo: Programació STM32 "Blue Pill" mitjançant Arduino IDE i USB: 8 passos

Vídeo: Programació STM32
Vídeo: Программирование STM32 Blue Pill с помощью релейной логики ПЛК LDmicro 2024, Desembre
Anonim
STM32
STM32

Comparant el tauler prototip genèric STM32F (és a dir, Blue Pill) amb la seva contrapartida, Arduino és fàcil de veure quants recursos té més, cosa que obre moltes noves oportunitats per als projectes IOT.

Els inconvenients són la manca de suport. En realitat, no manca de suport, però està massa estès en molts fòrums, blocs i altres pàgines. Molts estan obsolets.

Descriviré les meves experiències per aconseguir una d'aquestes plaques no només configurades per Arduino IDE, sinó també mitjançant un connector USB integrat.

També mostraré com carregar Bootloader mitjançant ST-Link V2.

Pas 1: parts:

Parts
Parts
Parts
Parts

Necessitareu algunes parts:

  1. El primer que necessiteu és, per descomptat, un prototip de placa ST32F103. "Blue Pill" és com es coneix al voltant, i podeu comprar-lo a un preu assequible a moltes botigues de comerç electrònic.
  2. Un mòdul ST-Link V2
  3. Taula de pa i cables de salt

Pas 2: programari que necessitareu:

Programari que necessitareu
Programari que necessitareu
Programari que necessitareu
Programari que necessitareu
Programari que necessitareu
Programari que necessitareu
  1. En primer lloc, Arduino IDE. Si encara no l’heu descarregat, aquest és l’enllaç: https://www.arduino.cc/en/Main/Software. Ho comprovo amb la versió 1.8.11, 1.8.12 i la versió de l'aplicació, que només funcionen per a Windows 8 i 10. No tractaré aquesta instal·lació de programari, un cop hi hagi molta informació sobre com fer-ho.
  2. Des del lloc STM necessitareu a continuació el programari. Cal crear un compte:

    1. Controlador de 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. Llavors és hora de descarregar el carregador d’arrencada. Això és el que permetrà a Blue Pill connectar-se a l'ordinador USB. Aquest és l'enllaç cap a això:

Tingueu en compte que també necessitareu afegir taules a Arduino IDE. Explicaré amb detall com fer això.

Pas 3: tauler de prototipus genèric STM32F103, la píndola blava

STM32F103 Genèrica Prototype Board, la píndola blava
STM32F103 Genèrica Prototype Board, la píndola blava
STM32F103 Genèrica Prototype Board, la píndola blava
STM32F103 Genèrica Prototype Board, la píndola blava
STM32F103 Genèrica Prototype Board, la píndola blava
STM32F103 Genèrica Prototype Board, la píndola blava

Ara una breu explicació sobre el prototip de placa STM32F103, coneguda per "Blue Pill".

Es tracta de maquinari de codi obert, s'assembla a Arduino Nano (mida gairebé similar). Podeu trobar fabricacions diferents, però segueixen els esquemes molt a prop, fins i tot els problemes.

Podeu preguntar-vos: Si sembla que Arduino Nano, per què hauria de passar a un maquinari diferent?

La resposta és senzilla. Com ja he dit, si el vostre projecte necessita un controlador Micro Faster, amb més GPIO (33 en total), més i / o entrades ADC més precises (10 entrades x 12 bits de resolució), més sortides analògiques (15), més interfícies de comunicacions, etc.; aquest és el microcontrolador que potser necessiteu.

A sobre hi ha el pin out i el diagrama esquemàtic.

Ara, alguns us aconsellen:

  1. Es tracta d’un micro controlador 3V3. Tot i que alguns pins són resistents a 5V, us suggereixo que els accessoris es mantinguin alts en 3V3; per altra banda, podeu fregir-vos Blue Pill.
  2. Els PA11 i PA12 de Pin no estan disponibles, un cop són responsables de la comunicació USB.
  3. Parlant d’USB, trobareu molts llocs i blocs que informen que Blue Pill té un valor de resistència d’arrencada incorrecte als seus ports. D'acord amb això, en general són de 10 KΩ en lloc de 4, 7 KΩ. Això pot causar problemes de connexió USB. Per tant, us recomanaria treballar-hi si realment teniu problemes per connectar l’USB a l’ordinador. Finalment, vaig trobar un sorteig de circuits si aquest valor de la resistència era de 10 KΩ. Vaja figura … La solució és soldar una resistència de 1,5KΩ o 1,8KΩ entre el pin PA12 i 5V vcc.
  4. També es pot veure de prop el diagrama que no hi ha cap protecció entre les línies d’alimentació de 5V i l’USB 5V. Tingueu cura o només eviteu utilitzar diverses fonts d’alimentació. Podeu fregir el port USB de l'ordinador, si potser utilitzeu una font d'alimentació externa de 5V mentre la placa està connectada a USB.

Pas 4: adaptador USB ST LINK V2

Adaptador USB ST LINK V2
Adaptador USB ST LINK V2
Adaptador USB ST LINK V2
Adaptador USB ST LINK V2
Adaptador USB ST LINK V2
Adaptador USB ST LINK V2
Adaptador USB ST LINK V2
Adaptador USB ST LINK V2

ST LINK V2 és un adaptador USB a SWD, dissenyat per a tasques de depuració i programació.

Si teniu intenció de treballar amb xip STM32 de manera seriosa, necessitareu aquesta eina. Permet comunicar-se al xip directament mitjançant un connector de capçal SWB.

Hi ha molts blocs i llocs amb instruccions sobre com es carrega mitjançant l'adaptador USB a TTL, però no he trobat cap que utilitzi aquesta eina per carregar el carregador d'arrencada.

Això també permet programar Blue Pill amb el carregador d’arrencada original mitjançant el programari STM32Cube Programmer (potser en crearé un d’instructiu per al futur).

Per instal·lar la unitat de Windows, seguiu aquests passos:

  1. Descomprimiu el fitxer descarregat
  2. Executeu "stlink_winusb_install.bat com a administrador
  3. Premeu la tecla quan acabi.
  4. Connecteu ST-Link V2 a qualsevol ordinador USB disponible.

Recordeu: Això instal·larà un dispositiu USB, NO un port de comunicació.

Pas 5: hora d'iniciar el treball real: carregant el carregador d'arrencada STM32Duino

És hora d’iniciar el treball real: carregant el carregador d’arrencada STM32Duino
És hora d’iniciar el treball real: carregant el carregador d’arrencada STM32Duino
És hora d’iniciar el treball real: carregant el carregador d’arrencada STM32Duino
És hora d’iniciar el treball real: carregant el carregador d’arrencada STM32Duino

Primer de tot: connecteu ST-Link a Blue Pill. Això és molt senzill, un cop etiquetada la pinça ST sobre la seva caixa.

Connector SWD de píndola blava ST-Link

pin2- SWDIO pin2- SWIO (o IO en algunes taules)

pin3- GND pin4- GND

pin6- SWCLKpin3- SWCLK (o només CLK)

pin7- 3,3V pin1- 3V3

El pin ST-Link V2 té una etiqueta clara sobre el seu cos.

Executeu el programari "STM32 ST-Link Utility" (és possible que ja tingueu instal·lat a l'ordinador).

Tan bon punt es carregui el programari, recuperarà totes les dades de la memòria Boot0. Si no, feu clic a "Connecta't al dispositiu", el endoll de corrent amb una icona de cargol. També recuperarà molta informació del xip STM32.

carregar el fitxer binari és molt senzill:

  1. Mou el pont "Boot0" a la posició "1"
  2. Feu clic a "Binari"
  3. Seleccioneu el fitxer Bootloader (.bin)
  4. Al menú, feu clic a "Objectiu" i "Programa".

Això permetrà carregar Boot0 amb el Bootloader nou.

  1. Torna el pont "Boot0" a la posició "0"
  2. Premeu el botó de restabliment.

ATENCIÓ: Mai no haurà de moure el jumper Boot0 a la posició "1" per carregar els programes creats a Arduino IDE.

Pas 6: hora de tractar amb IDE Arduino

És hora de tractar amb IDE Arduino
És hora de tractar amb IDE Arduino

Després de carregar "generic_boot20_pc13.bin", el gestor de dispositius de l'ordinador reconeixerà el port USB de Blue Pill com a "Maple Serial (COMx)".

Per preparar-vos Arduino IDE per fer front a STM32, seguiu els passos següents:

Pas 7: hora de tractar amb IDE Arduino

És hora de tractar amb IDE Arduino
És hora de tractar amb IDE Arduino
És hora de tractar amb Arduino IDE
És hora de tractar amb Arduino IDE
És hora de tractar amb IDE Arduino
És hora de tractar amb IDE Arduino

Ara és possible que, en connectar-vos el port USB a l'ordinador, es reconegui com "Maple Serial (COMx)".

Ara, preparem Arduino IDE per a la programació STM32. Obriu Arduino IDE, si encara no l’heu obert:

  1. Aneu al menú Fitxer i seleccioneu "Preferències". Això obrirà la finestra Preferències.
  2. Feu clic a la icona de quadrat doble que hi ha a prop del quadre de text "URL del gestor de taules addicionals".
  3. Dins del quadre de text, copieu i enganxeu a sota dels enllaços, una per línia: https://dan.drown.org/stm32duino/package_STM32duino_index.jsonhttps://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json necessiten els dos taulers establerts en aquests enllaços.
  4. Ara aneu al menú "Eines" i seleccioneu "Gestor de taulers". S'obrirà la finestra "Gestor de taules".
  5. Assegureu-vos que "Tot" estigui seleccionat a "Tipus" i al quadre de text escriviu "STM32F1"
  6. Apareixen les dues opcions d'instal·lació.

Pas 8: el "Gran Final"

El
El

Ara podeu escriure el vostre codi i compilar-lo.

Connecteu la "píndola blava" i configureu les configuracions tal com apareix a la imatge. Assegureu-vos de seleccionar el port correcte.

Per tant, ara ja està a punt per penjar codi a "Blue Pill".

Espero que us ajudi!

Recomanat: