Go Down

Topic: BluePill STM32F103 e integrazione con Arduino IDE (Read 210 times) previous topic - next topic

janux

Ciao a tutti,

sto provando da qualche giorno a utilizzare una schedina BluePill con scarsi risultati.

Ho trovato in giro per la rete decine (se non centinaia) di blog e indicazioni per installare i vari drivers per le porte USB e per integrare correttamente il tutto con l'IDE di Arduino. Purtroppo chi scrive le pagine web non si cura MAI minimamente di pubblicare la data, di conseguenza non si è mai del tutto certi di star seguendo l'ultima procedura o se questa sia già stata superata.
In un ambiente in cui l'evoluzione è quasi giornaliera ciò non aiuta di sicuro.

Solo per fare un esempio, alcune guide dicono di aggiungere questo link nel gestore delle board:
http://dan.drown.org/stm32duino/package_STM32duino_index.json

Altre questo:
https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json

Ho installato il software ST Demonstrator GUI, caricato correttamente il bootloader "generic_boot20_pc13.bin" tramite interfaccia FTDI e dopo aver collegato la scheda mediante la sua porta USB e selezionato come porta la "Mape Serial COM6" (nel mio caso) il caricamento dello sketch dall'IDE (a parte il messaggio di errore a fine upload relativo al reset della porta USB), va a buon fine e sto benedetto LED lampeggia.

L'unico sketch che gira è il BLINK, lo Scanner_i2c ad esempio non fornisce nessun output sulla seriale, sembra vada in crash e di fatto qualsiasi Serial.print() inserito nel Setup() dopo il Serial.begin() viene perso a causa della commutazione delle porte com a fine upload. L'unica cosa che ho capito facendo dei test è che la velocità della seriale è ininfluente con la BluePill.

Successivamente ho installato anche STM32CubeProgrammer, questo a differenza del Demonstrator GUI identifica la scheda come una 128K anzichè una 64K. Insomma una moltitudine di idiosincrasie che ti portano a pensare di aver capito poco o nulla! :o

A complicare ulteriormente le cose capita che avevo due versioni dell'IDE di arduino, la classica, installata sotto C:\Programmi (x86)... che ho tenuto installata perchè avevo modificato i file board.txt e avrdude.conf per poter flashare correttamente i chip ATmega328 (non P), e la nuova per Windows 10 installata dal Microsoft Store ambedue alla versione 1.8.13 (che credo sia l'ultima).

Qualche volenteroso potrebbe indicarmi:
  • quale versione dell'IDE conviene usare delle due?
  • qual'è la procedura corretta per installare il supporto alle schede STM32?
  • qual'è quella corretta per caricare gli sketch tramite bootloader, cioè collegando il cavo microusb direttamente alla scheda?
  • quale tutorial (o libro) mi consigliate per iniziare a conoscere gli STM32 comprendere quali siano i pin corrispondenti a quelli di Arduino e come fare per adattare gli sketch scritti per Arduino (ma troppo grandi per girare su questo) alle BluePill;


In merito all'ultima domanda, tanto per citare un problema ad esempio, il compilatore si lamenta che la funzione itoa() usata in uno sketch non è dichiarata. Gli sketch che usano Wire.h e i device I2C non funzionano, non ho ancora capito, nonostante abbia confrontato il pinout di Arduino con quello della scheda STM32F103C8 quali siano i pin SCL e SDA da usare per collegare ad esempio un display OLED I2C.

Di sicuro c'è che ho molto da imparare.
Ho solo bisogno di capire da dove iniziare.
Grazie anticipate.

gpb01

Attenzione, qui non diamo supporto per quelle schede che, per l'ambinete arduino da loro implementato, hanno un loro forum di supporto dedicato ... ti consiglio pertanto di rivolgerti li.

Ovviamente ciò non toglie che, se qualcuno che legge la domanda ha un suggerimento, è sempre libero di darlo.

Guglielmo
Search is Your friend ... or I am Your enemy !

janux

Pensavo, data l'implicazione dell'IDE Arduino, che fosse uso comune discuterne qui.
Grazie comunque Guglielmo.

gpb01

Pensavo, data l'implicazione dell'IDE Arduino, che fosse uso comune discuterne qui.
No, la parte STM, come indicato, ha il SUO forum di supporto.   :)

Guglielmo
Search is Your friend ... or I am Your enemy !

zoomx

Il forum è questo
https://www.stm32duino.com/

Inizia da qui
https://www.stm32duino.com/viewtopic.php?f=2&t=301

Rapidamente:
Usa l'ultimo IDE.
Il json da usare dipende la core che usi, vedi il link da cui iniziare.
La bluepill di solito arriva vergine, senza bootloader. Puoi caricare uno schetch usando un adattatore USB seriale a 3.3V oppure anche il programmatore STlink, anche quello economico. Con questo puoi caricare poi il bootloader ed usare la USB in seguirìto.
PEr i libri e tutorial non saprei, io intanto mi sono fatto le ossa sull'-atmega e poi sono passato all'STM32 leggendo nel forum e spulciando gli sketch per vedere cosa vacevano.
Il pinout lo trovi facilmente in rete, basta cercare bluepill pinout.

gpb01

... si, è quello che gli ho già indicato al post#1 ... ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

speedyant

Anche se personalmente sconsiglio la "scheda blu"... Piú sicure le nucleo64, Nucleo F091RC, Nucleo F302R8 e se si vuole "potenza bruta" Nucleo F411RE.

gpb01

... e se si vuole "potenza bruta" Nucleo F411RE.
... beh ... se parliamo di "POTENZA BRUTA" ... Teensy 4.1 a 600 MHz o, raffreddando opportunamente il chip, da IDE si fa l'overclock e si arriva a 1.008 GHz  :smiley-evil: :smiley-evil: :smiley-evil:

Guglielmo
Search is Your friend ... or I am Your enemy !

speedyant


gpb01

... no, vero, ma era in risposta alla "Potenza Bruta" ...  :smiley-yell: :smiley-yell: :smiley-yell:

Guglielmo
Search is Your friend ... or I am Your enemy !

nid69ita

my name is IGOR, not AIGOR

ilguargua

Quote
.. beh ... se parliamo di "POTENZA BRUTA" ... Teensy 4.1 a 600 MHz
..ma viene surclassata da questa , che ha chiaramente anche un altro prezzo..., però se viene fuori un 'core' per arduino, forse un pensierino ce lo farei.

Ciao, Ale.

gpb01

... bella bestiola, però certo ... costa circa 4 volte una Teensy 4.1 ... ::)

Non so se investiranno del tempo a creare un "core" Arduino, sarebbe certamente molto interessante ! :)

Guglielmo
Search is Your friend ... or I am Your enemy !

speedyant

Per mantenere un minimo di "coerenza" suggerisco:
https://github.com/stm32duino/Arduino_Core_STM32

Se ben ricordo dovrebbe essere "ufficiosamente" supportato dalla ST stessa.
Se, come credo, si possiede anche il programmatore da 2$, risulta un "bagno di sangue".

zoomx

Non ufficiosamente ma ufficialmente. Anche il forum, Roger ha ceduto il dominio. Voleva cedere tutto il forum ma sono sorti problemi legali.

Go Up