Monthly Archives: October 2017

Biški vėl apie ARM ir STM32

Kažkaip nusipirkau pas kinus porelę ST-Link adapterių ir panorėjau juos išbandyti. Deja pirmiausia po ranka nebuvo mano pagrindinio kompiuterio, o tik nešiojamas vasarinis. Jame nieko nebuvo susijusio su ARM programavimu. Tai nutariau atburti kaip tai daroma ir tik tada paaiškėjo, kad niekur neužrašiau, kaip visdėlto nuo nulio paruošti kompiuterį (windows) darbui su STM32 čipukų programinimui.
Dar priedo, mano darbinis kompas jau turėjo dalinai suinstaliuotus softus, ir perėjimas iš Atmelio į ST buvo labai kažkaip paprastas.
Gaila, bet nieko vėl neužsirašiau, bet parašysiu maždaug iš akies, kaip tai buvo. Kaip ir minėjau anskčiau, aš kaip heiteris ir oldskūlinis hardcoras nemėgstu visokių IDE ir eklipsniu, tik command line, tik hardcore, tik make. Todėl viskas gavosi keistai.

ST-Link STM32F103

Darom taip- iš ARM pagrindinio puslapio nusikraunam gcc windozei. Ten kažkur yra installas. Vadinasi maždaug “GNU Tools ARM Embedded” ir versija kažkokia pagal datą. Nusikrovus šitą reikalą, nuėjau į savo puslapius (nugi šituos) ir nusikroviau pirmą source. Kažkodėl suveikė komanda “make”, bet neteisingai. Pasirodo, šitam kompe yra kažkas kuris vadinasi make, tik labai senoviškas. Tai buvo WinAVR paketas kurį kažkada suinstaliavau. Gal net instaliavau tam, kad kompe būtu “programmers notepad 2”. Bandžiau gadinti makefile, kad priversti veikti, bet nieko nesigavo, net paprasčiausia komanda “rm” veikė su klaidom ir net netrynė failų.
Netgi pradėjau krauti paskirai failiukus “make”, “rm” iš internetų ir GNUwin, bet ten viskas senai nenaudojama. Kol netyčia kažkur radau make sukompiliuota kažkokių geriečių. Nes kartais užknisa tas linuxinis bajeris- reikia kokios utelės, tai tipo susikompiliuok pats. O kad tą padaryti reikia prisiinstaliuoti visą kalną kitokio softo. Sunku jiems ir binarius padėti? Arba sukompiliuoja 30kb programą, kurį reikalauja kokio nors suknisto dll. Bet jo neprideda. O statinė tos pačios programos versija gal 100kb ilgesnė.

Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

C:\Users\User>make -v
GNU Make 4.2
This program is built by Equation Solution.
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http ://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

C:\Users\User>

O poto prisiminiau, kad yra toks reikalas kaip CygWin. Po jo instaliavimo ir path prioritetų nustatymo (kad windows žinotu kur guli cygwin visokie failiukai) sistema pradėjo veikti.

Nueini į archyvo folderį, kur yra failas “makefile” ir ten rašai “make all”, o jei reikia viską perkompiliuoti iš naujo, tai “make clean” ir viskas.

Dėl hardwarinio programino, prie kiniško ST-Link puikiausiai tiko originalus ST softas kuris atpažino kiniškus donglus ir net pasiūlė atnaujinti firmware.

Pačios kiniškos plokštelės LED diodo (kabančio ant C13 kojos) pamirksėjimo softas čia:
STM32F103C8T6 blinky source ir sukompiliuotas failas.
O patiems nekantriausiams kurie nori patikrinti kiniška PCB dedu ir hex failą atskirai.
HEX failas testavimui.

Beja kiniškas plokšteles reikia vizualiai apžiūrėti ir ištaisyti defektus. Vienoje plokštelėje reikėjo per naudo prilituoti kvarcą, kitoje padėti teisingą rezistorių.

Kaip ne keista, va ant linuxu to pačio padaryti nepavyko. Nu neveikia man make. Jaučiu problemos su failų lokacijos nurodymu makefile faile. Beja, visokie IDE kuria baisias failu nuorodas. Nors pavyzdžiui viename eclipse tutorial saite pilna nesmonių kaip šita:
failo nuoroda.

Nu ir kas per nesamonė su tais ../..//././.././/././. !? Suprantu, kad galima vieną sluoksnį ar du palipti į viršų, bet tiek privaryti? Šitos nesamonės tikriausiai sugeneruotos pačios eklipsės, kai vartotojas išmėto projekto failus visur. Bet kai reikia tai atsiburti… ojojoj.

Poto gaunasi maždaug taip ir taip. 🙂. Paskutinė klaida tikriausiai dėl to, kad yra komandinės eilutės ilgio ribojimas.