Jak zacit s STM32?
Jirka Mww
jirka.mww na gmail.com
Neděle Listopad 22 17:38:16 CET 2015
Tak jsem tomu nakonec věnoval odpoledne a dosáhl jsem stavu, že mám
vygenerovaný soubor main.c pro tu moji desku , otevřený v editoru
TrueStudia,
ale když chci dát Build v menu "Project" , tak jsou všechny položky
šedivé. Nevíte co dál ?
Dne 22. listopadu 2015 12:01 Jirka Mww <jirka.mww na gmail.com> napsal(a):
> 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
--
Zdravi
Jirka OK1MWW
Další informace o konferenci Hw-list