Jak zacit s STM32?

spam na nagano.cz spam na nagano.cz
Sobota Listopad 21 22:20:47 CET 2015


undefined reference to `main' urcite spravne nebude. Zrejme se vubec nekompiluje zdrojak.

L.

-----Original Message-----
From: Jirka Mww <jirka.mww na gmail.com>
To: HW-news <hw-list na list.hw.cz>
Sent: so, 21 lis 2015 22:09
Subject: Re: Jak zacit s STM32?

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/1691c52e/attachment.html>


Další informace o konferenci Hw-list