Dezvoltare în stm32

Această serie de articole este dedicată demarării rapide a lucrului cu microcontrolerele STM32 bazate pe miezul ARM Cortex-M3. În următoarele câteva părți voi vorbi despre cum:

- faceți un șal de debug ieftin pentru a studia STM32;
- instalați software-ul cross-platform necesar pentru a construi fișiere executabile;
- instalați și configurați un mediu convenabil de dezvoltare bazat pe platforme bazat pe eclipsa, pentru dezvoltarea, asamblarea și depanarea rapidă a programelor scrise;
- Creați un proiect simplu în mediul de dezvoltare;
- configurați o grămadă de eclipse + OpenOCD + Versaloon pentru programele de depanare.
- deoarece mulți cititori folosesc cardul de depanare STM32VLDiscovery, voi vorbi și despre configurarea acestuia într-un mediu personalizat

Scopul meu este de a oferi instrucțiuni pentru diferite sisteme de operare. Windows (voi face totul pe Windows 7 32bit), Linux Ubuntu (verificați pentru 13.04 32bit) și, de asemenea, pe 64bit ArchLinux. pe care lucrez în prezent. Diferitele distribuții / arhitecturi / versiuni pot necesita acțiuni individuale.

Descărcați proiectul Eagle, precum și fișiere pdf aici. Schema este un controler ieftin STM32F100C4T6B (flash 16 kb, SRAM 4 Kb - reprezentativ pentru linia de valoare redusă a densității). Pinii sunt fixați pe pinii, cuarț de înaltă frecvență înșurubat cu 8 MHz, câteva butoane și LED-uri:

Dezvoltare în stm32

Semnăturile la pini:

Dezvoltare în stm32

Este foarte simplu:

Dezvoltare în stm32

Pentru firmware-ul board-ului folosim interfața SWD (ce să conectăm aici, vezi aici), vom alimenta batista imediat de la Versaloon:

Dezvoltare în stm32

BOOT0 trebuie să fie plantate pe GND (jumper pe fotografie).

Din setul de instrumente pentru construirea și depanarea programelor sub ARM, există două soluții populare (fără a include IDE-urile încorporate ca IAR EWARM):

Ambele pachete sunt pe deplin cross-platform (funcționează sub win și Linux), și ambele au sprijinit interfața binar standard, în aplicații integrate (Embedded Application Binary Interface, EABI), ceea ce înseamnă că universalitatea codului obiect generat. Se crede că soluția comerț Sourcery CodeBench oferă un cod mai optim obiect, în plus CodeBench este însoțită de un set excelent de documentare, așa că am ales.

Ambele pachete conțin programele arm-none-eabi- *. Cuvântul "none in the name" înseamnă "nici un sistem de operare", adică compilatorul generează codul pentru fierul pur (metalul gol). În același timp, există, de exemplu, arm-linux-gnueaby- *, care generează cod pentru sistemul de operare Linux implementat pe procesorul ARM.

instalare Linuhovy este scris în Java, dar de ce este că previne Ubunt-e / bin / sh se referă la bord, mai degrabă decât bash (O_O) Ei bine, a fost schimbat în bash. Pentru a face acest lucru, facem ceea ce cerem de la mentor =):

Și în fereastra interactivă vom răspunde <нет>. În Arch, probabil că ați fost deja expediate la bash (și dacă nu știți cum să schimbați acest lucru)) Acum rulați programul de instalare:

În ferestrele de Windows, programul de instalare este pornit folosind un clip dublu.

Efectuați programul de instalare: Apoi, "Acceptați termenii ...", Următorul, Următorul, "Typycal", Înainte, Înainte, "Modificați PATH pentru utilizatorul curent", Next, Next, Install. Așteptăm. "Nu, eu", Următorul, Următorul, Terminat. Pentru a face calea către instrumentele din PATH adăugată, Ubuntu a trebuit să repornească. În Arch, chiar și după reboot, PATH nu sa schimbat, a trebuit să editez / etc / profile:

Apropo, dacă aveți ferestre, vă sfătuiesc să intrați în variabilele de mediu și să verificați dacă programul de instalare a adăugat corect calea. Personal, modul meu a fost următorul:

Nu știu ce trebuie să scriu acolo dosarul bin_cache, care nu există deloc. Pe scurt, a trebuit să corectez:

După terminarea instalării, porniți consola (sau linia de comandă) și verificați dacă compilatorul este disponibil în PATH executând:

Versiunea trebuie afișată.

De asemenea, puteți crea o comandă rapidă pentru un start convenabil pe fișierul eclipse (pentru linux) sau pe eclipse.exe (pentru win). De exemplu, în xfce, pictograma va arăta astfel:

Dezvoltare în stm32

Eclipsa următoare trebuie să rulați și să puneți pe ea câteva pluginuri:

Pentru cei care nu știu cum să instaleze plug-in-uri, vă voi explica pe scurt: accesați Help-> Install New Software. În caseta de lucru cu linie, intrăm în depozitul de plugin-uri. Căutăm componenta necesară și punem o amprentă. Faceți clic pe Următorul, Următorul, acceptați acordul (Accept), Apoi, OK.

În eclipsa, există multe opțiuni diferite care vă permit să configurați în mod flexibil lucrarea pentru dvs. De exemplu, vă sfătuiesc să permiteți salvarea automată a tuturor fișierelor înainte de asamblare. Pentru că este necesar să mergeți în Fereastră -> Preferințe și să selectați General -> Spațiu de lucru, apoi bifați "Salvați automat construirea"

Dezvoltare în stm32

Dacă intenționați să utilizați o cartelă de depanare STM32VLDiscovery gata cu programatorul ST-LINKv1 încorporat, în această parte puteți citi cum să instalați software-ul pentru acest programator.

Vă sfătuiesc să utilizați setul de utilități texane / stlink. Acest set include utilitarul st-flash, pentru intermitența obișnuită a fișierelor hex din controler, precum și debug-server st-util.

texane / stlink în linux

În primul rând, trebuie să instalați instrumentele pentru construirea software-ului:

Apoi puteți descărca sursele și colectați:

Aceasta finalizează instalarea.

texane / stlink în ferestre

Articole similare