Sari la conținut
ELFORUM - Forumul electronistilor

Arduino IDE pentru STM32


cusnir

Postări Recomandate

Pana aici este OK. daca ti-a vazut calculatorul ceva gen COMx (in cazul tau COM5) inseamna ca BluePill este vazut prin interfata USB

Acum incearca sketch-ul "blink" astfel:

Sample STM32 Blink Program for Blue Pill board 
 */

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin PC13 as an output.
  pinMode(PC13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(PC13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(PC13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}

Ar trebui ca ledul verde sa clipeasca.

Urmareste ca jumperul BOOT0 sa fie repus in pozitia 0 (urmeaza explicatiile de aici: https://circuitdigest.com/microcontroller-projects/getting-started-with-stm32-development-board-stm32f103c8-using-arduino-ide ) ca sa functioneze.

Editat de nico_2010
Link spre comentariu

Daca mut jumperul pe programare  calculatorul anunta ca nu recunoaste unitatea din USB

 Daca mut jumperul in pozitia 0 Arduino IDE nu il vede in lista lui de COM uri..

La tentativa de programare  scrie done uploading insa apare mesajul

Error probing interface "serial_w32"

Cannot handle device "COM5"

Failed to open port: COM5

Using Parser : Raw BINARY

 

Editat de cusnir
Link spre comentariu

Hai s-o luam de la inceput.

1. Sterge BluePill dand comanda Erase ... Mass Erase (sau cam asa ceva) cu ST_Link utility.

2. Pune Jumperul BOOT0 in pozitia "1" si apoi scrie fisierul "generic_boot20_pc13.bin" in microcontroller.

3. Muta Jumperul BOOT0 in pozitia "0" si apasa butonul Reset de pe placuta. In acest moment LED-ul verde incepe sa lipeasca rapid.

4. Conecteaza prin USB placa de dezvoltare la calculator. Ar trebui ca in "Device manager" sa gasesti asta:

 

BluePill.thumb.png.ba1e17bbbf2ad7f382b45cbf263dcba7.png

 

In acest moment placa este gata de lucru. Ia sketch-ul postat de mine si compileaza-l.

Ar trebui sa arate asa:

 

BluePill_1.thumb.png.9ef9c46efc900970dd755f37ff4c3ddd.png

In momentul in care apare "done uploading" ar trebui ca LED-ul verde sa pulseze o data pe secunda.

 

L.E.: Sper ca ai inteles ca ST_Link ramane conectat la placa si la USB pentru upload.

L.L.E.: Si daca totusi vrei sa faci upload prin cablul USB selectezi "Tools"-> "upload method" -> Maple DFU Bootloader (2.0 sau origina)l". In momentul in care apare "Uploading" apesi scurt butonul RESET si incepe incarcare. Dupa aceea vei primi un mesaj de eroare" USB not recognised" care se rezolva prin scoaterea cablului USB din calculator si reintroducerea lui in mufa USB. Nu mai cauta porturi COM ca nu le gasesti.

Editat de nico_2010
Link spre comentariu

am o banuiala ca rezistenta aia plasata peste cea veche nu face contact.. (152 codul) . O sa incerc maiine.

 Multumesc mult pt indicatii. Cel putin am mai facut un pas inainte.

"3. Muta Jumperul BOOT0 in pozitia "0" si apasa butonul Reset de pe placuta. In acest moment LED-ul verde incepe sa lipeasca rapid. "

La mine sunt 2 leduri si ambele sunt rosii. Alimentarea e rosu continuu iar celelalt led rosu, dupa resetare, pulseaza foarte rapid cam timp de 0,3sec dupa care mai face  4 clipiri scurte mai rare si gata. Se stinge.

 

Editat de cusnir
Link spre comentariu

Am rescris bootloaderul se pare cu succes.

17:36:48 : Flash memory erased.
17:37:05 : [generic_boot20_pc13.bin] opened successfully.
17:37:05 : [generic_boot20_pc13.bin] checksum : 0x001798D2
17:38:03 : Memory programmed in 3s and 438ms.
17:38:03 : Verification...OK
17:38:03 : Flash memory [0x08000000:0x08010000] Checksum: 0x00C45766
17:38:40 : Disconnected from device.
17:38:40 : Connection to device is lost: check power supply and debug connection.
17:38:40 : If the target is in low power mode, please enable "Debug in Low Power mode" option from Target->settings menu.


Dar nu imi  apare in device manager aceea ce ar trebui sa vad..

 

devicemanager2.jpg

Arduinoset.jpg

Editat de cusnir
Link spre comentariu

Salut,

Dezinstaleaza Arduino si instaleaza ultima versiune (1.8.10). Nu imi dau seama ce este cu Windows Store 1.8.21.0

Dupa instalarea noii versiuni, descarca arhiva STM32Duino de aici: https://github.com/stm32duino/Arduino_Core_STM32 folosind butonul "Clone or download" si salveaz-o unde vrei tu.

Deschide Arduino IDE -->  Sketch --> Include library --> Add .ZIP Library si selecteaza arhiva pe care tocmai ai descarcat-o Apasa OK sau butonul de confirmare.

Restu ar trebui sa se desfasoare asa cum am mai scris in postarea anterioara.

Link spre comentariu

Este incredibil.. 3 zile ma chinui pe 2 calculatoare si fiecare calculator o ia razna in felul sau cand incerc sa fac ce scrie in instructiuni.

Plus ca un autor spune ca  fisierul respectiv *.bin este executabil si... ciuciu.. Altul scrie ca acel program este pentru flasher care la mine sa instalat corect cica insa nu vede portul cu STlinkul. Si Ca sa bagi bootloaderul cere neaparat portul. Dupa 3 zile de chin pe 2 calculatoare diferite am ajuns la concluzia ca in afara ca maiinile mele nu cresc de unde ar trebui, si creatorii programelor respective si a articolelor in cauza au gandit intentionat cum sa faca CA SA NU  mearga.. Ai chef sa te f.... instaleaza bootloaderul pe STM 32 si-ti trece.. Secolul 21 si niste softuri tembele ca din anii 80. Imi vine sa arunc totul pe fereasta. Ce spanacuri de tutoriale pt incepatori fac astia oameni buni? Aia sunt normali?  Cum naiba in device manager sa vada totul cum trebuie si spanacurile de  utilitare sa faca moftuturi? Cine naiba sa cumpere astfel de microcontrolere? Masochistii poate, dar eu nu fac parte din categoria  respectiva.

Plus ca trebuie sa fii nenormal  ca sa apesi la fiecare programare a STM32 butonul reset si se programeaza doar daca  am noroc. In mod normal trebuie sa se programeze fara artificii de genul ala....

Editat de aureliu67
Link spre comentariu

:rade::rade: Nu dispera, asa-i cu software-u` in ziua de azi, tre` sa te chinui pana mere... pune-ti o tuica asa ca-i duminica si lasa pe alta data... ;) 

Am si io niste BluePill d-astea (electronice vreau sa zic, nu d-alealalte)... m-ai facut curios, ca nu le-am folosit niciodata... :) 

Link spre comentariu

cusnir, aureliu67 poate nu v-ati ales hobby-ul potrivit. Voi va enervati ca nu va merge perfect ceva oferit gratuit? 

Banuiesc ca nu utilizati aceste softuri in scopuri comerciale. 

Editat de gas2 dan
G
Link spre comentariu
1 oră în urmă, gas2 dan a spus:

Voi va enervati ca nu va merge perfect ceva oferit gratuit?

Asa off-topic de duminica seara, daca ceva e gratuit nu trebuie sa fie neaparat prost... ba chiar se pot da o multime de exemple pozitive... un inceput (bun) ar fi Linux-ul, ca poate se scapa de COMx-urile alea... :) 

Link spre comentariu
Acum 1 oră, gas2 dan a spus:

cusnir, aureliu67 poate nu v-ati ales hobby-ul potrivit. Voi va enervati ca nu va merge perfect ceva oferit gratuit? 

Banuiesc ca nu utilizati aceste softuri in scopuri comerciale. 

Ahahaha, Ma amuza faza asta la culme... Softuri gratuite in scopuri comerciale... Si inca de cine?! De unul caruia nu-i merge nimic, si mai ales ca stie doar sa copieze programele gata facute fara sa se priceapa din 2 secvente diferite sa adune un program simplu? Era o intrebare serioasa sau era mistoul de duminica? :))

In legatura cu hobbyul poate ca aveti dreptate insa doar partial. Eu am nevoie de programe pt ce fac eu, ma pricep la ce fac dar nu si la programare. Nu exista oameni universali. Si stiu ca exista si servicii de genul acesta dar.. nu-mi permit sa dau bani pt  chestii  care le testez din curiozitate sau pt a imbunatati ceva.. Si nu doresc sa mearga perfect din prima si nici macar din a 3. Doresc ca dupa reinstalarile  facaute timp de 3 zile, pe 2 calculatoare diferite, macar unul sa mearga. Aveti o percepere stranie a perfectiunii in acest caz. Ma intreb cum ar arata satisfacatorul dvs?

Editat de aureliu67
Link spre comentariu
Acum 1 oră, informer a spus:

 ca poate se scapa de COMx-urile alea... :) 

Se scapa sigur, se schimba in (/dev/)ttyUSBx, ttyACMx...

Editat de Liviu M
Link spre comentariu
Acum 1 oră, Liviu M a spus:

Se scapa sigur, se schimba in (/dev/)ttyUSBx, ttyACMx...

Pai da, cumva tre` sa ajungi la ele... :) 

Io in mod sigur, dupa `jde ani de "chinuri" nu mai incerc sa conving pe nimeni de superioritatea vreunui OS... da` nah, cum ziceam, "cugetari" de duminica... :) 

L.E. in plus, dev/ttyx "e" un fisier, COMx ce e? :rade:

Editat de informer
Link spre comentariu
Acum 18 ore, aureliu67 a spus:

Este incredibil.. 3 zile ma chinui pe 2 calculatoare si fiecare calculator o ia razna in felul sau cand incerc sa fac ce scrie in instructiuni.

Plus ca un autor spune ca  fisierul respectiv *.bin este executabil si... ciuciu.. Altul scrie ca acel program este pentru flasher care la mine sa instalat corect cica insa nu vede portul cu STlinkul. Si Ca sa bagi bootloaderul cere neaparat portul. Dupa 3 zile de chin pe 2 calculatoare diferite am ajuns la concluzia ca in afara ca maiinile mele nu cresc de unde ar trebui, si creatorii programelor respective si a articolelor in cauza au gandit intentionat cum sa faca CA SA NU  mearga..

De obicei defectul este in spatele tastaturii. Simptome ale defectului:

- nu intelege clar limba engleza;

- nu are rabdare sa citeasca totul;

- vrea sa arda etape obligatorii;

- nu cunoaste arhitectura placii de dezvoltare.

Remedii:

- citeste bine (chiar cu Google Translate) ce vor sa spuna autorii articolelor vizate;

- se doteaza cu rabdarea necesara pentru a parcurge pas cu pas toate etapele;

- studiaza cu atentie (pana intelege) arhitectura placilor de dezvoltare utilizate.

Nu contest faptul ca pe net circula si aberatii care, pentru incepatori, pot crea confuzii si deruta, de obicei soldate cu:

Acum 18 ore, aureliu67 a spus:

Dupa 3 zile de chin pe 2 calculatoare diferite am ajuns la concluzia ca in afara ca maiinile mele nu cresc de unde ar trebui, si creatorii programelor respective si a articolelor in cauza au gandit intentionat cum sa faca CA SA NU  mearga.. Ai chef sa te f.... instaleaza bootloaderul pe STM 32 si-ti trece.. Secolul 21 si niste softuri tembele ca din anii 80. Imi vine sa arunc totul pe fereasta

 

 

Si asta rezulta din necunoasterea diferentelor intre placa de dezvoltare Arduino si BluePill. Una are Reset-ul activat primeste un impuls de Reset la sfarsitul procesului de upload pentru a permite programului incarcat sa ruleze (bine sau prost asta depinde de abilitatile de programare ale fiecaruia), cealalta are nevoie de apasarea scurta pe butonul Reset pentru activarea bootloader-ului in scopul incarcarii programului dorit (si/sau creat de utilizator):

Acum 18 ore, aureliu67 a spus:

Plus ca trebuie sa fii nenormal  ca sa apesi la fiecare programare a STM32 butonul reset si se programeaza doar daca  am noroc. In mod normal trebuie sa se programeze fara artificii de genul ala....

Si o concluzie: nu este niciun castig major prin utilizarea BluePill pe platforma Arduino. Nu va lasati amagiti de memoria existenta in STM32 (64k) veti constata ca, utilizand (unele dintre) librariile existente, memoria devine insuficienta.

Un exemplu, sper, concludent:

Sketch Blink pentru Arduino Demilanove (stanga) si acelasi sketch pentru BluePill (dreapta):

 

SnapShot.thumb.png.c20038ca9a77c190fd6f403d052de3a3.png

 

Eu folosesc softuri gratuite pentru experientele mele cu STM32 (Atollic si OpenSTM32) si Atmel Studio 7 pentru experientele cu Atmel si inca nu ma pot plange ca sunt din alt secol (doar eu sunt din alt secol, dar asta este altceva)

 

Editat de nico_2010
Link spre comentariu

Sunt deacord in mare parte cu ce ati scris. Insa nu sunt deacord ca din cauza  utilizatorului (acelasi) pe un calculator vede portul insa nu poate rula codul pt ca il vede ca fisier aiurea , iar pe alt calculator, urmand aceleasi etape, Strict dupa instructiuni, deja vede corect fisierul respectiv insa nu mai vede portul. Nu ma refer la calculator pt ca device managerul il vede cum trebuie. Ma refer la utilitarele care merg cum vor ele un functie de calculator. Oricat de gratuit ar fi utilitarul, daca nu merge cum trebuie nu mai are nici o valoare pt utilizator. Credeti ca in 3 zile dupa 5 reinstalari  mereu greseam in acelasi loc pe fiecare calculator? Si de ce utilitarul sa vada aiurea un fisier ? Am reinstalat si arduino IDE si toate utilitarele. Comportament identic!  Referitor la arhitectura.. ce poate sa inteleaga  un incepator acolo in afara de dispunerea porturilor si functiile  pinilor respectivi? Credeti ca daca citesc cum e dispusa memoria  si imi notez adresele alea ma ajuta cu ceva? E informatie care unii  nu o sa o poata folosi niciodata. De aia se doreste sa se lucreze in arduino IDE pt ca e un pic mai cunoscut. Si dupa parerea mea programarea trebuie facuta in asa fel ca pana acum, fara apasari de reset. Cum se pacea si la PIC-uri si la AVR. Asa ar fi normal.. Ca ingineriii care au creat programarea STM32 cred ca e mai bine sa apesi resetul ca o modalitate normala de programare si nu una de urgenta sau una de rezerva imi creaza suspiciunea ca au avut dereglari psihice. Cine programeaza are pretentia sa pese upload si sa vada sau mesaj de eroare la compilare sau programare reusita. Nicidecum sa urmareasca ecranul ca sa apese CAND TREBUIE  butonul reset. Ca si ala daca il apesi cu 2 sec mai repede sau o sec mai tarziu nu mai merge programarea. Nu trebuia si ei sa gaseasca o modalitate sa rezolve aceasta problema? Sau o fi si aia o fita precum, vrei sa lucrezi cu placuta noastra?-atunci pupa mana (apasa resetul).. 

Editat de aureliu67
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări