<div>undefined reference to `main' urcite spravne nebude. Zrejme se vubec nekompiluje zdrojak.<br/>
<br/>
L.<br/><br/>-----Original Message-----<br/>From: Jirka Mww <jirka.mww@gmail.com><br/>To: HW-news <hw-list@list.hw.cz><br/>Sent: so, 21 lis 2015 22:09<br/>Subject: Re: Jak zacit s STM32?<br/><br/></div>Dobrý večer, <br/>
<br/>
povzbuzen touto diskuzí jsem vyhrabal Nucleo demo kit s STM32L476RG, <br/>
který jsem dostal jako suvenýr někde na výstavě, <br/>
nainstaloval CUBE a GCC a teď jsem v koncích. Blikací rutinu zde <br/>
popsanou sice přeložím ( viz dole ) , ale nemůžu nikde najít , <br/>
kde má tato deska tu zelenou LED, se kterou bych chtěl blikat. Ani <br/>
nevím, co napsat za číslo za GPIO. <br/>
jsem odchován 8 bitovými procesory s programy v EPROM a pak Arduinem, <br/>
takže se omlouvám za naprosto banální dotaz. <br/>
<br/>
Jinak výpis po překladu je snad dobře : <br/>
<br/>
make all <br/>
'Building target: PokusSTM32.elf' <br/>
'Invoking: MCU GCC Linker' <br/>
arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard <br/>
-mfpu=fpv4-sp-d16 -T"C:\STM32\workspace\PokusSTM32\LinkerScript.ld" <br/>
-Wl,-Map=output.map -Wl,--gc-sections -lm -o "PokusSTM32.elf" <br/>
@"objects.list" <br/>
startup/startup_stm32.o: In function `LoopFillZerobss': <br/>
C:\STM32\workspace\PokusSTM32\Debug/../startup/startup_stm32.s:78: <br/>
undefined reference to `main' <br/>
collect2.exe: error: ld returned 1 exit status <br/>
make: *** [PokusSTM32.elf] Error 1 <br/>
<br/>
21:42:07 Build Finished (took 672ms) <br/>
<br/>
<br/>
Poradíte mi prosím někdo, jak dál ? <br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
Dne 21. listopadu 2015 1:48 Pavel Kutina <<a href="mailto:hw@prelude.cz">hw@prelude.cz</a>> napsal(a): <br/>
> Koukam, co vsechno jsem delal blbe... <br/>
> <br/>
> O Cube jsem cosi tusil - teda ze existuje. Nekolikrat jsem sel na web ST, do <br/>
> vyhledavani zadal Cube - a cosi jak Cube stahnul. Vzdycky to byl nejaky <br/>
> pomerne nepochopitelny strom zdrojaku, ale nic, co by se dalo spustit <br/>
> (naposledy stm32cubef1.zip). Az po Vasem mailu jsem pochopil, ze evidentne <br/>
> hledam blbe. No a bylo to tam... Slo nainstalovat, neco i naklikat, projekt <br/>
> pro Workbench jsem vygeneroval, nasledne naimportoval, pridal Vas "blikaci" <br/>
> kod (a doplnil o jmeno portu a cislo pinu, samozrejme))  a bez chyb <br/>
> prelozil. <br/>
> <br/>
> Neco podobneho je Workbench - tam byl spis problem vybrat na webu ST z <br/>
> hromady moznosti neco, co budu schopny ovladat. Eclipse zrovna nemiluju, ale <br/>
> treba si zvyknu. <br/>
> <br/>
> Zatim se mi nejak nepodarilo .elf nahrat, ale to uz se mi v minulosti nejak <br/>
> darilo, jen si vzpomenout... <br/>
> <br/>
> Jinak diky, k tomu, abych pochopil, co delam blbe, Vas mail naprosto <br/>
> postacoval. <br/>
> <br/>
> Rano to tam nekudy nahraju a zacnu si hrat s necim slozitejsim. <br/>
> <br/>
> Diky moc. <br/>
> <br/>
> Pavel Kutina <br/>
> <br/>
> <br/>
> ----- Original Message ----- From: "Jaroslav Buchta" <br/>
> <<a href="mailto:jaroslav.buchta@hascomp.cz">jaroslav.buchta@hascomp.cz</a>> <br/>
> To: "HW-news" <<a href="mailto:hw-list@list.hw.cz">hw-list@list.hw.cz</a>> <br/>
> Sent: Friday, November 20, 2015 11:03 PM <br/>
> Subject: Re: Jak zacit s STM32? <br/>
> <br/>
> <br/>
> <br/>
> Stahnete si Cube, IDE System Workbench (eclipse no, ale je to funkcni <br/>
> kdyz se nespecha...), nainstalujte, vyberte v CUBE procesor, kliknete na <br/>
> pin, kde je ledka, nastavte jako vystup, nastavte hodiny na 2. zalozce <br/>
> nebo nechte byt na inteni oscilator, nastavte projekt pro toolchain <br/>
> SW4STM32 a vygenerujte kod. <br/>
> Spustte IDE, importujte tam projekt (to jsem v eclipse moc nepochopil <br/>
> ale vzdycky se mi to nejak povede nebo nekdo poradi...) do cyklu v main <br/>
> napiste (mezi user code begin a end - jinak vam to cube premazne) <br/>
> <br/>
> HAL_GPIO_WritePin(GPIOx, GPIO_PIN_x, GPIO_PIN_SET); <br/>
> HAL_Delay(500); <br/>
> HAL_GPIO_WritePin(GPIOx, GPIO_PIN_x, GPIO_PIN_RESET); <br/>
> HAL_Delay(500); <br/>
> <br/>
> spustit debug a mate blikani. Vlastne asi nemate, s cinskym bazmekem mi <br/>
> ten eclipse nefungoval. Ja projekt prevedu do Em::Blocks a tam je to OK. <br/>
> Jestli chcete, muzu vam to rano pripravit, kdyz napisete, na kterem pinu <br/>
> je LED. Zalezitost cca 10 min. <br/>
> Vyhodou cube je, ze vam pripravi vychozi kod vcetne vsech nutnych <br/>
> knihovnich souboru, nakonfiguruje pouzite periferie a hodiny (vse ve <br/>
> zdrojaku), samozrejme se da i bez toho. <br/>
> <br/>
> Dne 20.11.2015 v 22:16 Pavel Kutina napsal(a): <br/>
>> <br/>
>> Zdravím, <br/>
>> <br/>
>> když už se tu rozebírají začátky s Freescale, měl bych podobný dotaz - jak <br/>
>> začít s STM32? <br/>
>> <br/>
>> <krátká verze> <br/>
>> Je někde návod, co na deset kliknutí stáhne nějaké předkonfigurované IDE <br/>
>> tak, abych instalací nestrávil dva večery, ale po deseti minutách blikal <br/>
>> LEDkou? <br/>
>> </krátká verze> <br/>
>> <br/>
>> <dlouhá verze> <br/>
>> Potřeboval bych návod pro úplné blbce: mám na stole destičky s <br/>
>> STM32F103C8T6, k němu připojený čínský ST-Link. Píšu do toho v MikroE <br/>
>> Pascalu, funguje to. Ale protože jsem byl poslední dobou okolnostmi (a možná <br/>
>> i pohodlností) donucen napsat si něco pro Arduino, zjistil jsem, že se mi C <br/>
>> začíná možná i trochu zamlouvat (a speciálně pro kolegu Weka - ano, tuším <br/>
>> cosi o tom, že Arduinovské C je takové "C pro lenochy", to splňuju - neživí <br/>
>> mne to). <br/>
>> <br/>
>> No a říkal jsem si, že by nebylo špatné zkusit si pro začátek s STM32 <br/>
>> alespoň zablikat diodou, ale v nějakém rozumném prostředí a právě v C. <br/>
>> Existuje něco, co bude fungovat v podobném stylu, jako mé oblíbené nástroje, <br/>
>> tedy stáhnu jeden balík, pak párkrát odkliknu Yes, spustím IDE, vytvořím <br/>
>> projekt, vyberu procesor, otevřu main.c, napíšu šest řádků, odkliknu Build & <br/>
>> Run - a zablikám diodou? <br/>
>> <br/>
>> To, na čem jsem se "zmlsal", tedy MikroE kompilátory a Arduino (je si to <br/>
>> trochu podobné přístupem), je jednak konfigurace (viz postup výše), jednak <br/>
>> kupodivu dokumentace. MikroE má v podstatě ke všem (přeloženým a bohužel <br/>
>> "zamčeným", tedy bez zdrojáku) knihovnám většinou celkem slušné příklady, u <br/>
>> Arduina je to složitější jen v tom, že se při tom jen musím ptát googlu. U <br/>
>> "dospělého" C vidím X set možností, jak dosahnout téhož cíle, ovšem s tím, <br/>
>> že návody jsou vzájemně nekompatibilní, neaktuální, každý si přilinkuje X <br/>
>> dalších různých knihoven a začátečník se v tom ztratí, když mu to začne <br/>
>> vyhatovat chyby v překladu u knihovny, o které do té doby netušil ani to, že <br/>
>> existujem natožpak, že jí mí v projektu. <br/>
>> <br/>
>> Ted jsem si zkousel nainstalovat CooCox, našel jsem docela hezký návod pro <br/>
>> blbce, přehledný step by step. Akorát tedy maličko neaktuální... Skončil <br/>
>> jsem při vytváření projektu, jelikož jsem nepobral, co všechno (a hlavne <br/>
>> proč) bych mel do projektu přidat, nakonec jsem vybral C library, cmsis core <br/>
>> a STM32F10x_LD_STDLIB. Zkusil jsem Build prázdneho projektu, a protože si <br/>
>> hraju v posteli na EEE901 (čas na hraní mám v posteli před spaním), trvalo <br/>
>> to 32 vteřin (build nepříliš prázdného projektu u kompilátoru MikroE je v <br/>
>> jednotkách vteřin na stejném železe, u Arduina je to kapku delší, ale <br/>
>> snesitelné). V závěru jsem šel do preferences - a celý CooCox si bez <br/>
>> varování ustlal... Fajn. <br/>
>> <br/>
>> Existuje někde kuchařka pro jakékoliv použitelné IDE (pro danou HW <br/>
>> konfiguraci a pro Windows), která bude alespoň relativně aktuální, budou tam <br/>
>> examply od blikání diodou až po práci s periferiemí a nestávím zbytek <br/>
>> víkendu konfigurací? <br/>
>> <br/>
>> Možná mám špatný přístup, ale... začínal jsem na ZX-81. Začínal jsem tak, <br/>
>> že jsem si vzal manuál a stránku po stránce přepisoval examply k jednotlivým <br/>
>> příkazům a zkoumal, co který parametr mění a jak to využít. Pak jsem přešel <br/>
>> ke Spectru, chvíli u Sharpu, potom k PC - a tam jsem zakotvil u Turbo <br/>
>> Pascalu, který měl v helpu opět examply pro jednotlivé příkazy, tak jsem je <br/>
>> bral jeden po druhém. Prakticky totéž jsem dělal v dalších jazycích (FoxPro, <br/>
>> VisualBasic, Delphi a PHP) a podobně jsem se pak učil zacházet i s <br/>
>> Mikropascalem nebo tím Arduinem. <br/>
>> <br/>
>> Nějak tak to asi dělá každý. Rád bych nějak nějak podobně rozlousknul to <br/>
>> zatracený C pro ARM, ale kudy a jak? <br/>
>> <br/>
>> U mnou zmíněných jazyků mi to připadá, že dostanu krabici Lega a z ní si <br/>
>> můžu složit, co potřebuju, bez ohledu na to, jestli aktuálně potřebuju <br/>
>> složit tři kostičky, nebo tři tisíce. <br/>
>> <br/>
>> U C mám dojem, že sice potřebuju složit dohromady tři kostičky Lega, ale <br/>
>> dostanu k dispozici akademickou knihovnu, hromadu písku a návod na výrobu <br/>
>> lopatičky z plechovky od sardinek - s tím, že si samozřejmě můžu ty tři <br/>
>> kostičky postupně vyrobit a ještě obdržím informaci, jak je to super, <br/>
>> protože si je můžu udělat tak, jak sám chci. Hmmm. <br/>
>> </dlouhá verze> <br/>
>> <br/>
>> Asi jsem se potřeboval vykecat z určité frustrace, ale kdyby někdo měl <br/>
>> nějaký rozumný postup, tak pěkně prosím... <br/>
>> <br/>
>> Díky. <br/>
>> <br/>
>> Pavel Kutina <br/>
>> _______________________________________________ <br/>
>> HW-list mailing list  -  sponsored by <a href="http://www.HW.cz">www.HW.cz</a> <br/>
>> <a href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a> <br/>
>> <a href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a> <br/>
> <br/>
> <br/>
> _______________________________________________ <br/>
> HW-list mailing list  -  sponsored by <a href="http://www.HW.cz">www.HW.cz</a> <br/>
> <a href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a> <br/>
> <a href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a> <br/>
> _______________________________________________ <br/>
> HW-list mailing list  -  sponsored by <a href="http://www.HW.cz">www.HW.cz</a> <br/>
> <a href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a> <br/>
> <a href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a> <br/>
<br/>
<br/>
<br/>
--  <br/>
Zdravi <br/>
Jirka OK1MWW <br/>
_______________________________________________ <br/>
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz">www.HW.cz</a> <br/>
<a href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a> <br/>
<a href="http://list.hw.cz/mailman/listinfo/hw-list">http://list.hw.cz/mailman/listinfo/hw-list</a> <br/>