linux - cross compile

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Neděle Prosinec 29 21:14:39 CET 2019


No nevim, ted jsem se zameril na vyvoj pro M4 a to vypada na peklo, v 
Linuxu AC6 funguje, i kdyz ladi strasne pomalu (aspon ve virtualu, ale 
pouziva to zrejme kombinaci seriaku a sitove komunikace ve verzi skrz 
linux), ve windows se mi to zatim nepovedlo rozchodit vubec, blbne 
nastaveni komunikacniho COM a hazi to chybu java.io.ioexception bez 
dalsi specifikace...
CubeIDE se tvari, ze by to mohlo umet, ale taky zatim bez uspechu...
No koncepce zajimava ale asi to chce uzrat.

Dne 28.12.2019 v 20:13 Jaroslav Buchta napsal(a):
> Tak dilci uspech - nejak jsem zjistil, ze staci zkompilovat mc, 
> protoze ty knihovny uz v cilovem systemu jsou... configure a kompilace 
> OK ale pul dne mne zabavilo vytvareni helpu - pouziva perl a ten se 
> nastavil do cesty siloveho systemu - nejak nechapu, proc sel vubec 
> spustit ale kazdopadne nefungoval jak ma a instalace koncila chybou, 
> nebyly tam ani dalsi soubory ve srovnani s kompilaci pro ubuntu na PC.
> Pak mne napadlo nastavit export PERL=/usr/bin/perl a DX_PERL to same a 
> jelo to jak po masle. Dokonce funguje, jdu se na to napit ;-)
>
> Dne 28.12.2019 v 16:46 Jaroslav Buchta napsal(a):
>> Diky za informace, preklad na cilove platforme by asi teoreticky sel, 
>> ale prekladac tam ve vychozim stavu neni (STM32MP1). Nepochybuju ze 
>> by vzhledem k vykonu MPU trval dlouho. Ucim se na tomhle, protoze to 
>> STM poskytuje docela dost zdroju a informaci, jejich SDK asi resi tu 
>> cross kompilaci na PC dobre, ty utility ktere jsem zatim zkompiloval 
>> se dari spustit aspon tak, ze zobrazi verzi, tak snad je smer a 
>> nastaveni prekladu OK. Spousti se nejaky slozity script, ktery 
>> nastavi odpovidajici CC a spoustu dalsich parametru v systemu, asi 
>> vcetne cest ke knihovnam, hlavickam atd.
>> Priklad vypisu prekladu, klicove bude asi to --sysroot? :
>> arm-openstlinux_weston-linux-gnueabi-gcc -march=armv7ve -mthumb 
>> -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 
>> --sysroot=/home/stm/STM32MPU_workspace/STM32MP15-Ecosystem-v1.1.0/Developer-Package/SDK/sysroots/cortexa7t2hf-neon-vfpv4-openstlinux_weston-linux-gnueabi 
>> -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I.. -I../lib 
>> -DDEPENDS_ON_LIBICONV=1 -DDEPENDS_ON_LIBINTL=1   -O2 -pipe -g 
>> -feliminate-unused-debug-types  -c -o stripslash.o stripslash.c
>>
>> Jeste dotaz - jestli jsem to pochopil, tak make install mi vytvori 
>> strukturu adresaru na zadanem miste (.../usr/bin,include, lib, share) 
>> ktere nakopiruju na cilovy system do /usr? Musi se jeste nekde neco 
>> pridat? include je potreba asi jen v pripade, ze bych na cilovem 
>> systemu kompiloval? A share je k necemu krome dokumentace?
>>
>>
>> Dne 28.12.2019 v 14:53 Miroslav Mraz napsal(a):
>>> To je běh na dlouhou trať. V Linuxu existuje mnoho různých cestiček, 
>>> které nikam nevedou. Závislosti balíčků byly dost dobře udělány v 
>>> projektu Linux from scratch, ale jak je to nyní nevím.
>>> http://www.linuxfromscratch.org/blfs/view/svn/general/mc.html
>>> ukazuje úplně jiné, ale docela bych tomu věřil.
>>> Ovšem další a ne nepodstatný problém je, že to kompilujete křížově a 
>>> systém tedy musí sahat na správné hlavičky a používat správné 
>>> knihovny. To se dá vyřešit izolováním target systému pomocí chroot, 
>>> ale je to docela složitý proces.
>>> Jiná možnost je izolovat target systém pomocí emulace qemu. To je 
>>> poměrně prosté třeba - 
>>> https://hblok.net/blog/posts/2014/02/06/chroot-to-arm/ . Tohle jsem 
>>> zkoušel s obrazem systému pro malinu a fungovalo to, je to ale 
>>> ukrutně pomalé, protože se kompletně emuluje ARM na PC. U maliny 
>>> jsem nakonec skončil s tím, že připojím USB hard disk a překládám 
>>> přímo na té malině. Nejjednodušší a nejspolehlivější. Nicméně to 
>>> qemu můžete vyzkoušet, za to nic nedáte.
>>>
>>> Mrazík
>>>
>>> Dne 28. 12. 19 v 12:49 Jaroslav Buchta napsal(a):
>>>> Tak treba tohle:
>>>> libiconv jsem stahnul vezi 1.16 nejnovejsi, konfigurace, preklad OK
>>>> gettext nejnovejsi 0.20.1 pri prekladu skonci chybou, nenajde 
>>>> hlavickovy soubor textstyles.h Nevim co s tim, zkusil jsem verzi 
>>>> 0.19.8.1 a ta jde s nejakymi warningy prelozit...
>>>> Zkusim, uvidim, ale jak se pro takovem problemu bezne postupuje?
>>>>
>>>>
>>>> Dne 28.12.2019 v 7:44 Jaroslav Buchta napsal(a):
>>>>> Zdravim, z cvicnych duvodu bych si rad zkusil zkompilovat mc pro 
>>>>> ARM STM32MP1, nasel jsem ruzne stranky s postupy, libi se mi tato 
>>>>> http://dp.nonoo.hu/cross-compiling-mc/
>>>>>
>>>>> Jako prvni mi neni jasne, ze se nejak samozrejme predpoklada, ze 
>>>>> zkompiluiju nejake zdrojaky knihoven, treba ten libiconv na 
>>>>> zacatku, ale kde ho vezmu??? Samozrejme neni problem ho najit ale 
>>>>> obavam se, ze s odstupem casu dochazi v modulech k ruznym 
>>>>> modifikacim a kdyz ted vezmu aktualni zdrojaky, tak to bude 
>>>>> nekompatibilni s jinymi a dopadne to spatne jako obvykle. Existuje 
>>>>> nejaky dokument jak na to pro zacatecniky? Jak jsem nedavno 
>>>>> zkousel kompilovat ten gdbserver, tak jsem taky neuspel, stale do 
>>>>> toho nemohu nejak proniknout :(
>>>>>
>>> _______________________________________________
>>> 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




Další informace o konferenci Hw-list