Jak zacit s STM32?

Jirka Mww jirka.mww na gmail.com
Neděle Listopad 22 12:01:16 CET 2015


Díky za rady,  teď stahuji TrueStudio, které po mě chce to CubeMX. Tu
svoji desku jsem tam opravdu našel.  Měl jsem nainstalované jen
Eclipse, tohle ne. Pomalu se v tom začnu orientovat.

Dne 22. listopadu 2015 11:58 Jaroslav Buchta
<jaroslav.buchta na hascomp.cz> napsal(a):
> No tak ty 4 radky na to blikani se musi dopsat (mozna staci 2 jestli jde i
> toggle pin...)
> To, ze nejde preklad je divne, me to slo vzdy na 1. pokus.
> V Cube konfiguratoru se daji krome holych procesoru vybrat i ty standardni
> ST kity, maji uz nakonfigurovane nektere periferie (bohuzel ne vsechny a ty
> demo aplikace a priklady taky nevychazeji z CUBE, snazim se to vzdycky
> syntetizovat a prizpusobit tak, aby vse bylo nakonfigurovano v cubeMX a z
> prikladu separuji funkcni kod uz bez inicializaci. Ale o se tyka az
> slozitejsich veci jako SDRAM, LCD, ETHERNET, SD...)
> Dne 22.11.2015 v 11:09 Jirka Mww napsal(a):
>
>> Hloupě jsem  podlehl euforii "nainstaluj, naklikej , blikej".  Po
>> hledání na netu vidím, že to bude vyžadovat studium
>> desítek stran dokumentace, abych vůbec pochopil, co vlastně dělám.
>> Asi to odložím až na Vánoce, pokud nebude na horách sníh, budu mít
>> alespoň nějakou zábavu.
>>
>>
>>
>> Dne 21. listopadu 2015 22:21 Pavel KREJCI <krepa76 na gmail.com> napsal(a):
>>>
>>> Kdyz se v CubeMX u noveho projektu zvoli ten nucleo board (nasel jsem ho
>>> pod
>>> nucleo 64), tak tam je videt na obrazku, ze to je PA5 a jmenuje se LD2.
>>> PK
>>>
>>> Dne 21. listopadu 2015 22:00 Jirka Mww <jirka.mww na gmail.com> napsal(a):
>>>
>>>> Dobrý večer,
>>>>
>>>> povzbuzen touto diskuzí jsem vyhrabal Nucleo demo kit s STM32L476RG,
>>>> který jsem dostal jako suvenýr někde na výstavě,
>>>> nainstaloval CUBE a GCC a teď jsem v koncích. Blikací rutinu zde
>>>> popsanou sice přeložím ( viz dole ) , ale nemůžu nikde najít ,
>>>> kde má tato deska tu zelenou LED, se kterou bych chtěl blikat. Ani
>>>> nevím, co napsat za číslo za GPIO.
>>>> jsem odchován 8 bitovými procesory s programy v EPROM a pak Arduinem,
>>>> takže se omlouvám za naprosto banální dotaz.
>>>>
>>>> Jinak výpis po překladu je snad dobře :
>>>>
>>>> make all
>>>> 'Building target: PokusSTM32.elf'
>>>> 'Invoking: MCU GCC Linker'
>>>> arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard
>>>> -mfpu=fpv4-sp-d16 -T"C:\STM32\workspace\PokusSTM32\LinkerScript.ld"
>>>> -Wl,-Map=output.map -Wl,--gc-sections -lm -o "PokusSTM32.elf"
>>>> @"objects.list"
>>>> startup/startup_stm32.o: In function `LoopFillZerobss':
>>>> C:\STM32\workspace\PokusSTM32\Debug/../startup/startup_stm32.s:78:
>>>> undefined reference to `main'
>>>> collect2.exe: error: ld returned 1 exit status
>>>> make: *** [PokusSTM32.elf] Error 1
>>>>
>>>> 21:42:07 Build Finished (took 672ms)
>>>>
>>>>
>>>> Poradíte mi prosím někdo, jak dál ?
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Dne 21. listopadu 2015 1:48 Pavel Kutina <hw na prelude.cz> napsal(a):
>>>>>
>>>>> Koukam, co vsechno jsem delal blbe...
>>>>>
>>>>> O Cube jsem cosi tusil - teda ze existuje. Nekolikrat jsem sel na web
>>>>> ST, do
>>>>> vyhledavani zadal Cube - a cosi jak Cube stahnul. Vzdycky to byl nejaky
>>>>> pomerne nepochopitelny strom zdrojaku, ale nic, co by se dalo spustit
>>>>> (naposledy stm32cubef1.zip). Az po Vasem mailu jsem pochopil, ze
>>>>> evidentne
>>>>> hledam blbe. No a bylo to tam... Slo nainstalovat, neco i naklikat,
>>>>> projekt
>>>>> pro Workbench jsem vygeneroval, nasledne naimportoval, pridal Vas
>>>>> "blikaci"
>>>>> kod (a doplnil o jmeno portu a cislo pinu, samozrejme))  a bez chyb
>>>>> prelozil.
>>>>>
>>>>> Neco podobneho je Workbench - tam byl spis problem vybrat na webu ST z
>>>>> hromady moznosti neco, co budu schopny ovladat. Eclipse zrovna
>>>>> nemiluju,
>>>>> ale
>>>>> treba si zvyknu.
>>>>>
>>>>> Zatim se mi nejak nepodarilo .elf nahrat, ale to uz se mi v minulosti
>>>>> nejak
>>>>> darilo, jen si vzpomenout...
>>>>>
>>>>> Jinak diky, k tomu, abych pochopil, co delam blbe, Vas mail naprosto
>>>>> postacoval.
>>>>>
>>>>> Rano to tam nekudy nahraju a zacnu si hrat s necim slozitejsim.
>>>>>
>>>>> Diky moc.
>>>>>
>>>>> Pavel Kutina
>>>>>
>>>>>
>>>>> ----- Original Message ----- From: "Jaroslav Buchta"
>>>>> <jaroslav.buchta na hascomp.cz>
>>>>> To: "HW-news" <hw-list na list.hw.cz>
>>>>> Sent: Friday, November 20, 2015 11:03 PM
>>>>> Subject: Re: Jak zacit s STM32?
>>>>>
>>>>>
>>>>>
>>>>> 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
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>>> Hw-list na list.hw.cz
>>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>>> _______________________________________________
>>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>>> Hw-list na list.hw.cz
>>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>>
>>>>
>>>>
>>>> --
>>>> Zdravi
>>>> Jirka OK1MWW
>>>> _______________________________________________
>>>> HW-list mailing list  -  sponsored by www.HW.cz
>>>> Hw-list na list.hw.cz
>>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>
>>>
>>>
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored by www.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>>
>>
>>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



-- 
Zdravi
Jirka OK1MWW


Další informace o konferenci Hw-list