<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/>