Jak zacit s STM32?

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Pátek Listopad 20 23:03:39 CET 2015


Stahnete si Cube, IDE System Workbench (eclipse no, ale je to funkcni 
kdyz se nespecha...), nainstalujte, vyberte v CUBE procesor, kliknete na 
pin, kde je ledka, nastavte jako vystup, nastavte hodiny na 2. zalozce 
nebo nechte byt na inteni oscilator, nastavte projekt pro toolchain 
SW4STM32 a vygenerujte kod.
Spustte IDE, importujte tam projekt (to jsem v eclipse moc nepochopil 
ale vzdycky se mi to nejak povede nebo nekdo poradi...) do cyklu v main 
napiste (mezi user code begin a end - jinak vam to cube premazne)

HAL_GPIO_WritePin(GPIOx, GPIO_PIN_x, GPIO_PIN_SET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOx, GPIO_PIN_x, GPIO_PIN_RESET);
HAL_Delay(500);

spustit debug a mate blikani. Vlastne asi nemate, s cinskym bazmekem mi 
ten eclipse nefungoval. Ja projekt prevedu do Em::Blocks a tam je to OK.
Jestli chcete, muzu vam to rano pripravit, kdyz napisete, na kterem pinu 
je LED. Zalezitost cca 10 min.
Vyhodou cube je, ze vam pripravi vychozi kod vcetne vsech nutnych 
knihovnich souboru, nakonfiguruje pouzite periferie a hodiny (vse ve 
zdrojaku), samozrejme se da i bez toho.

Dne 20.11.2015 v 22:16 Pavel Kutina napsal(a):
> Zdravím,
>
> když už se tu rozebírají začátky s Freescale, měl bych podobný dotaz - 
> jak začít s STM32?
>
> <krátká verze>
> Je někde návod, co na deset kliknutí stáhne nějaké předkonfigurované 
> IDE tak, abych instalací nestrávil dva večery, ale po deseti minutách 
> blikal LEDkou?
> </krátká verze>
>
> <dlouhá verze>
> Potřeboval bych návod pro úplné blbce: mám na stole destičky s 
> STM32F103C8T6, k němu připojený čínský ST-Link. Píšu do toho v MikroE 
> Pascalu, funguje to. Ale protože jsem byl poslední dobou okolnostmi (a 
> možná i pohodlností) donucen napsat si něco pro Arduino, zjistil jsem, 
> že se mi C začíná možná i trochu zamlouvat (a speciálně pro kolegu 
> Weka - ano, tuším cosi o tom, že Arduinovské C je takové "C pro 
> lenochy", to splňuju - neživí mne to).
>
> No a říkal jsem si, že by nebylo špatné zkusit si pro začátek s STM32 
> alespoň zablikat diodou, ale v nějakém rozumném prostředí a právě v C. 
> Existuje něco, co bude fungovat v podobném stylu, jako mé oblíbené 
> nástroje, tedy stáhnu jeden balík, pak párkrát odkliknu Yes, spustím 
> IDE, vytvořím projekt, vyberu procesor, otevřu main.c, napíšu šest 
> řádků, odkliknu Build & Run - a zablikám diodou?
>
> To, na čem jsem se "zmlsal", tedy MikroE kompilátory a Arduino (je si 
> to trochu podobné přístupem), je jednak konfigurace (viz postup výše), 
> jednak kupodivu dokumentace. MikroE má v podstatě ke všem (přeloženým 
> a bohužel "zamčeným", tedy bez zdrojáku) knihovnám většinou celkem 
> slušné příklady, u Arduina je to složitější jen v tom, že se při tom 
> jen musím ptát googlu. U "dospělého" C vidím X set možností, jak 
> dosahnout téhož cíle, ovšem s tím, že návody jsou vzájemně 
> nekompatibilní, neaktuální, každý si přilinkuje X dalších různých 
> knihoven a začátečník se v tom ztratí, když mu to začne vyhatovat 
> chyby v překladu u knihovny, o které do té doby netušil ani to, že 
> existujem natožpak, že jí mí v projektu.
>
> Ted jsem si zkousel nainstalovat CooCox, našel jsem docela hezký návod 
> pro blbce, přehledný step by step. Akorát tedy maličko neaktuální... 
> Skončil jsem při vytváření projektu, jelikož jsem nepobral, co všechno 
> (a hlavne proč) bych mel do projektu přidat, nakonec jsem vybral C 
> library, cmsis core a STM32F10x_LD_STDLIB. Zkusil jsem Build prázdneho 
> projektu, a protože si hraju v posteli na EEE901 (čas na hraní mám v 
> posteli před spaním), trvalo to 32 vteřin (build nepříliš prázdného 
> projektu u kompilátoru MikroE je v jednotkách vteřin na stejném 
> železe, u Arduina je to kapku delší, ale snesitelné). V závěru jsem 
> šel do preferences - a celý CooCox si bez varování ustlal... Fajn.
>
> Existuje někde kuchařka pro jakékoliv použitelné IDE (pro danou HW 
> konfiguraci a pro Windows), která bude alespoň relativně aktuální, 
> budou tam examply od blikání diodou až po práci s periferiemí a 
> nestávím zbytek víkendu konfigurací?
>
> Možná mám špatný přístup, ale... začínal jsem na ZX-81. Začínal jsem 
> tak, že jsem si vzal manuál a stránku po stránce přepisoval examply k 
> jednotlivým příkazům a zkoumal, co který parametr mění a jak to 
> využít. Pak jsem přešel ke Spectru, chvíli u Sharpu, potom k PC - a 
> tam jsem zakotvil u Turbo Pascalu, který měl v helpu opět examply pro 
> jednotlivé příkazy, tak jsem je bral jeden po druhém. Prakticky totéž 
> jsem dělal v dalších jazycích (FoxPro, VisualBasic, Delphi a PHP) a 
> podobně jsem se pak učil zacházet i s Mikropascalem nebo tím Arduinem.
>
> Nějak tak to asi dělá každý. Rád bych nějak nějak podobně rozlousknul 
> to zatracený C pro ARM, ale kudy a jak?
>
> U mnou zmíněných jazyků mi to připadá, že dostanu krabici Lega a z ní 
> si můžu složit, co potřebuju, bez ohledu na to, jestli aktuálně 
> potřebuju složit tři kostičky, nebo tři tisíce.
>
> U C mám dojem, že sice potřebuju složit dohromady tři kostičky Lega, 
> ale dostanu k dispozici akademickou knihovnu, hromadu písku a návod na 
> výrobu lopatičky z plechovky od sardinek - s tím, že si samozřejmě 
> můžu ty tři kostičky postupně vyrobit a ještě obdržím informaci, jak 
> je to super, protože si je můžu udělat tak, jak sám chci. Hmmm.
> </dlouhá verze>
>
> Asi jsem se potřeboval vykecat z určité frustrace, ale kdyby někdo měl 
> nějaký rozumný postup, tak pěkně prosím...
>
> Díky.
>
> Pavel Kutina
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list