ARM a Makefile
Milan B.
milan na bastl.sk
Sobota Leden 26 21:43:03 CET 2013
On 1/26/2013 9:27 PM, hutta.j na seznam.cz wrote:
> Pokud IDE nema funkci generovani makefile , muze byt napsani makefile
> slozitejni nez napsani samotneho programu.
> Podival jsem se jak je to z podporou makefile u MDK-ARM, jak compiler
> tak linker lze volat z prikazoveho radku, cili pouziti makefile nic
> nebrani, ale IDE ( uVision) nema prikaz pro vygenerovani makefile.
> Kdyz se podivam na compiler control string, dost pochybuji, ze nekdo
> bude makefile tvorit rucne.
>
Makefile generovane roznymi IDE je obvykle nezmyselne a zbytocne
komplikovane. Makefile pisane rucne vyzera uplne inac.
Podobne je to aj s parametrami pre kompilator a linker, ktore tam IDE
nastrka - mnohokrat su dvojmo, mnohe len potvrdzuju default hodnoty,
mnohe nemaju na nas projekt ziaden vplyv.
-m-
> Hutta
>
> ---------- Původní zpráva ----------
> Od: Petr Labaj <labaj na volny.cz>
> Datum: 26. 1. 2013
> Předmět: Re: ARM a Makefile
>
>
> Proc lidi nepouzivaji Makefile? Protoze spousta lidi ani nevi, co
> to je (tim ted zrovna
> nemyslim vzorek lidi z hw.cz, i kdyz i tady se obcas vyskytuji
> nazory, ze je vhodnejsi
> pouzit predchystany example, nez se snazit problemtiku nastudovat).
> Kdyz se podivate do prakticky libovolneho fora o programovani
> nejakeho procesoru,
> tak kazda druha otazka tam je "pod Eclipse to chodi, ale pod mym
> XYZ to nejde".
> Nikdo z nich nepremysli nad tim, ze preklad je veci kompilatoru,
> tedy toolchainu,
> a ze s tim ma barevna klikaci nadstavba IDE spojitost jen okrajovou.
> Konkretne:
> - knihovny prekladam predem a delam z nich jednu knihovnu (*.a)
> - knihovny jsou ulozene v pevne definovanem adresari, ktery je
> spolecny pro
> vsechny projekty
> - adresar projektu ma shodne jseno s projektem, v nem jsou
> podadresare:
> - src
> - include
> - ld
> - tmp
> - v adresari projektu je jen Makefile, vystup "projekt.elf" a
> soubor s opisem hlasek
> z prekladu "projekt.txt", vcetne vypisu o delce code a data
> - v podadresari tmp jsou *.obj, *,lst ke kazdemu modulu,
> "projekt.map" a "projekt.dis",
> coz je nejkompletnejsi mozny disassembler vysledneho projektu,
> vcetne hexdumpu,
> tedy veskera informace pro pripadne hledani
> - Makefile ma krome obvykleho "clean" jeste "clean_tmp", ktery
> maze pracovni soubory,
> ale ponecha "projekt.elf" a "projekt.txt".
> Diky predkompilovanym knihovnam je build projektu velmi rychly.
> Na urovni systemu je pradnastavena volba -j pro paralelni preklad.
> Mym cilem
> vzdy je, aby jedno kolo preklad+link nikdy netrvalo dele nez 2
> sekundy (na Linuxu, kde
> mi soucasne toolchainy, natr. pro STM32, chodi vyrazne rychleji
> nez na Windows).
> Pokud by to melo u hodne velkeho projektu trvat dele, je treba se
> zamyslet a rozlozit to.
> Knihovny pouzivam jen naprosto minimalne, vetsinu veci si radeji
> napisu sam a vim,
> co a jak tam je. A muzu to snadno preportovat jinam.
> Vyjimkou jsou hodne komplexni periferie jako USB a Ethernet.
> S verzovacimi SW jsem se nikdy neszil (coz povazuji za svou
> chybu). Takze verzovani
> pomoci pojmenovanych *.zip.
> PL
>
> ----- Original Message -----
> *From:* František Burian <mailto:BuFran na seznam.cz>
> *To:* hw-list na list.hw.cz <mailto:hw-list na list.hw.cz>
> *Sent:* Saturday, January 26, 2013 7:58 PM
> *Subject:* ARM a Makefile
>
> Zdravím osazenstvo,
>
> Mám tu záludné dotazy na sobotní večer.
>
> Všechny example které tu proběhly jsou nativní pro
> Code::Blocks. Chtěl bych se zeptat (čistě z neznalosti)
> z jakých důvodů nikdo nevytváříte projekt jako Makefile.
> Myslím že pro možnost kompilace pod různými OS
> (a že tu jsou i lidé z Linuxových luhů a hájů) by byl Makefile
> lepší volbou. Zakládat nový projekt na kterém v
> budoucnosti může pracovat více lidí jako Makefile, nebo jako
> standardní C::B projekt ?
>
> Druhý dotaz směřuje k zakládání projektu - když bych chtěl
> od počátku založit projekt tak, aby jej snadno
> chápali druzí, aby zkušení v něm dobře "četli", aby šel
> například zkompilovat i bez Code::Blocks, jakým způsobem
> bych měl rozčlenit adresářovou strukturu ? Rád bych věděl Vaše
> názory jak zakládáte své projekty, případně
> jak členíte strukturu. Řekněme že se jedná o středně rozsáhlý
> projekt, kde bude komunikace s PC, nějaké UI s
> "točítkama" pro uživatele, nějaká matematika. Vše v rámci ARM
> mikrokontroleru (STM32F1 nebo STM32F4).
>
> Třetí dotaz směřuje též k založení a "znovupoužití" projektu
> někým jiným - jedná se o stahování a instalaci
> periferních knihoven, ve kterých jsou změny oproti originálu.
> Přikládat a verzovat tuto knihovnu společně s
> projektem, nebo raději napsat uživateli postup odkud stáhnout
> a co kde a jak přeplácnout a modifikovat v tom
> originálu. Já bych byl pro první variantu, ještě nevím zdali
> to není rozpor s licencí (musím prověřit) ale zdá se
> mi to přístupnější většímu počtu uživatelů. (na zprovoznění by
> stačilo mít provozuschopný toolchain a jen
> stáhnout zdrojový kód z SVN). Uvažujme situaci jeden projekt
> (tedy NE situaci kdy knihovnu využívá vícero
> projektů)
>
> Dík za tipy.
>
> Franta.
>
>
>
> _______________________________________________
> 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/20130126/91809d7f/attachment.htm>
Další informace o konferenci Hw-list