Sari la conținut
ELFORUM - Forumul electronistilor

Arduino IDE pentru STM32


cusnir

Postări Recomandate

Na pai io n-am abordat partea cu Arduino"IDE" ca-s un pic alergic :) , am pus STM32Cube, am conectat BluePill-u` cu un ST-Link V2 de la chinezi cu vreo $3, am urmarit videoul de mai jos si bingo, semnalizeaza fara probleme... nu reset, nu nimic... doar mi-o updatat ST-Link-u` cu ceva soft mai nou....

 

 

Link spre comentariu

Am mai facut cateva experimente cu Blue Pill, am incercat sa atasez diverse (1602, I2C etc.) si concluziile sunt:

1. Documentatie despre ce si cum este destul de putina (cel putin in ce priveste CubeIDE...), greu de gasit si uneori vaga.

2. Exista diverse software-uri la ST insa cu "dedicatie" pt. placile lor (cu uC si diverse extensii etc.).

3. Totul e mult mai "greoi" de configurat, cel putin asa mi se pare... da` poate-s subiectiv.

Tinand cont ca:

1. Personal nu am de gand sa folosesc in proiecte placi gata facute de la ST sau China.

2. In afara de viteza mai mare n-am gasit avantaje deosebite de care sa am nevoie fata de uC-urile pe 8biti.

3. Softurile mult mai putin transparente (HAL etc.)... or fi mai puternice dar ai doar o banuiala despre ce faci.

... eu o sa le abandonez, cel putin deocamdata, pana cand avantajele au sa-mi fie evidente (daca va fi cazul).

(nu vorbesc ca sa ma aflu-n treaba da` am zis ca daca tot am inceput... :) ). 

Editat de informer
Link spre comentariu

Cred ca ti-ar fi utila postarea mea din sectiunea "ARM" pentru a te familiariza cu ce poate un STM32 (si asta in varianta depasita - zic unii - de uC). Din pacate, tutorialul postat este doar o pojghita a ceea ce iti poate oferi un STM32.

Cat priveste documentatia, da, este un pic mai alambicata, insa daca descarci STM32Cube F1 (de exemplu) vei gasi exemple de utilizare pentru (aproape) toate perifericele. In rest, cam trebuie sa citesti manualul de referinta (in sectiunile care te intereseaza, altfel are vreo 1700 de pagini) si gasesti raspunsul la multe intrebari.

Inteleg ca ai vizualizat clipul postat, atunci ai vazut cat de simplu este sa configurezi perifericele din sectiunea de configurare. Rezultatul este setarea uC in starea de reset, iar informatii despre ce si cum ar trebui sa functioneze le regasesti in explicatiile diverselor librarii (pe care le gasesti in folderul "Drivers" --> "STM32Fxx_HAL_Driver").

 

 

Link spre comentariu

Cine ar vrea sa transforme un STM32 intr-un Arduino?

E ca si cum ai avea un Lexus si ti-ai dori sa-l transformi intr-un Daewoo, pentru ca e o masina mai putin complicata si mai usor de condus.

Lucrul cu STM32CubeMX poate parea complicat, insa este o necesitate pentru configurarea rapida a unui hardware relativ complex. El genereaza in proportie de 80% codul de aplicatie final si are scopul primar sa creasca viteza de implementare, mai ales când se doreste si oarecare compatibilitate intre microcontrolere.

HAL-ul este mai lent, mai sigur, mai ales in context RTOS, insa ocupa mai mult spatiu. Când se vrea viteza si spatiu redus se poate folosi versiunea LL, insa trebuie un pic de experienta, pentru ca anumite setari, care erau automate pe HAL, nu mai sunt generate pe LL. Din punct de vedere a spatiului, e bine sa nu mixati ambele tipuri de librarii, HAL si LL, desi Cube va permite acest lucru. Exista si anumite probleme, legate de RCC, care pot duce la bug-uri destul de greu de gasit. Exista intotdeauna posibilitatea de a rescrie parti din HAL, cu functii de LL, pentru a pastra anumite module safe, in caz ca e necesar. Codul generat din drivere, este vizibil oricand aventi nevoie sa vedeti cum se pot controla anumite module, in scopul de a optimiza prin cod direct pe registry, pentru viteza superioara, in caz ca nu aveti nevoie de protectia resurselor in mediu concurential.

Daca se invata modul de lucru, impreuna cu acel cod generat, modificarile se pot face oricând, din CubeMX, si nu sunt probleme de "merge". Tineti intodeauna cont de zonele marcate, pentru codul scris ulterior, personalizat aplicatiei la care lucrati.

STM32 are nativ un bootloader, dar problema lui e ca nu functioneaza decat lasand codul neprotejat. Daca se doreste protective de Level 1 sau 2, trebuie folosit ceva custom, insa exista proiecte pe GitHub, care dau versiuni demonstrative de custom bootloader, care permite ulterior scrierea in protectie de lever 1 sau 2.

Ca IDE, eu prefer VS Code, care e rapid, se poate paraleliza buildul daca aveti multi-core. Toate IDE-urile bazate pe Eclipse, folosesc Java, si sunt foarte lente.

In Code, aveti integrare cu git, plugin-uri de suport STM32 pentru programare si debug (OpenOCD), plugin-uri de generare documentatie automate, intelisense, autocomplete, auto/smart ident, black/white theme, etc.

Link spre comentariu
Acum 25 minute, Liviu M a spus:

Oare au reusit sa-l faca utilizabil in Linux?

Io nu stiu exact produsu` asta "STM32CubeMX" in schimb ce pot sa spun este ca "STM32CubeIDE" l-am instalat in Linux, merge f. bine din ce-mi dau seama si INCLUDE ceva ce se cheama "MX" si care permite configurarea grafica a pinilor, clock-ului etc. dupa care genereaza codul echivalent. 

Editat de informer
Link spre comentariu
Acum 2 ore, Liviu M a spus:

Oare au reusit sa-l faca utilizabil in Linux?

S-ar parea ca da: "Availability as standalone software running on Windows®, Linux® and macOS® (macOS® is a trademark of Apple Inc.
registered in the U.S. and other countries.) operating systems, or through Eclipse plug-in
"

Pentru userul informer: CubeMx este soft de sine statator care permite configurarea grafica a pinilor, clock-ului, perifericelor, timerelor s.a.m.d., adiva exact ceea ce la tine - in CubeIDE -  apare ca STM Target Selector si tot ceea ce urmeaza de acolo.

Editat de nico_2010
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