Jak zacit s STM32?

Pavel KREJCI krepa76 na gmail.com
Sobota Listopad 21 22:21:35 CET 2015


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
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20151121/0a2b33fa/attachment.html>


Další informace o konferenci Hw-list