Portál AbcLinuxu, 5. května 2025 15:17

Dotaz: Jak si udělat Cross-compile tools pro ARM

2.6.2009 21:04 LP.
Jak si udělat Cross-compile tools pro ARM
Přečteno: 1083×
Odpovědět | Admin

Zdravím,

nedávno jsem si pořídil SBC s procesorem ARM920T. Běží na tom T-linux a rád bych si tam vytvořil svoje programy. Mám tu jedno PC s cygwin (under Win XP) a jiné pc linux Mandriva. Ani na jednom se mi nepodařilo udělat cross compilation tools.

Poradíte mi jak úspěšně udělat gcc, binutils , glibc aby to fungovalo ?

LP.

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

2.6.2009 21:27 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Jak si udělat Cross-compile tools pro ARM
Odpovědět | | Sbalit | Link | Blokovat | Admin

A co zkusit rovnou celé SDK OpenWRT? Přidání nového balíku není tak složité a instalace SW přes nástroje ala debian potěší.

2.6.2009 21:49 LP.
Rozbalit Rozbalit vše Re: Jak si udělat Cross-compile tools pro ARM

Pěkné. A dovede to pracovat s jakoukoliv desku s ARMem ?

Nechci flashovat celý linux, jen mi jde o aplikace které bych tam doplnil.

2.6.2009 22:51 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Jak si udělat Cross-compile tools pro ARM

Nikdy jsem to nedělal (použil jsem rovnou openwrt), ale tipnul bych si, že pro kompilaci dodatečných binárek by to asi chtělo nějaké SDK původní distribuce na desce. Minimálně headery knihoven a jádra by to asi chtělo stejné, jako jsou na desce.

V tomto případě openwrt asi nepomůže, to je komplet se svými buildovacími nástroji, jádrem, knihovnami atd.

3.6.2009 05:41 luky
Rozbalit Rozbalit vše Re: Jak si udělat Cross-compile tools pro ARM
Odpovědět | | Sbalit | Link | Blokovat | Admin

Konkrétně s touto architekturou zkušenost nemám, ale myslím si, že to bude všude stejné:

  • zkompilovat gcc/binutils s podporou cílové platformy
  • zkompilovat závislosti programu pro cílovou platformu
  • stáhnout od výrobce, to co nelze zkompilovat
  • zkompilovat program pro cílovou platformu
  • V podstatě si vždy vystačíš s volbami --build, --host, --target, --prefix a případně úpravou PATH, CFLAGS, LDFLAGS.

    3.6.2009 14:14 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Jak si udělat Cross-compile tools pro ARM
    To je postup na pár dní, jelikož u každého bodu narazíte na problém který budete muset vygooglit. Je to dobré pokud se chcete něco přiučit, pokud chcete mít spíše dříve hotovo tak doporučuju použít crosstool nebo něco podobného.
    In Ada the typical infinite loop would normally be terminated by detonation.
    3.6.2009 20:07 psonek | skóre: 20 | blog: psonek
    Rozbalit Rozbalit vše Re: Jak si udělat Cross-compile tools pro ARM
    Odpovědět | | Sbalit | Link | Blokovat | Admin

    Stahnul bych si neco hotoveho. Procesor je stejny jako treba na OpenMoko, takze by melo fungovat napr:

    http://qtextended.org/downloads/toolchains/arm920t-eabi.tgz

    4.6.2009 20:43 LP.
    Rozbalit Rozbalit vše Re: Jak si udělat Cross-compile tools pro ARM

    Tady jsem skončil u rozbalení a víc nic :-). Nemohu najít zádnou dokumentaci, co by vysvětlovala co kde v jakém adresáři je a jak to použít.

    Rozbalí se to do $dir / opt / toolchains / arm920t-eabi / ... a dál si víc nevrznu. V adresáři /bin/ vypadá cosi jako spustitelné soubory či linky, ale nechce se to spustit.   například arm-linux-gcc --version , odpoví bash: command not found

    Funkčnost compileru chci ozkoušet na příkladu hello.c ,který obsahuje jen funkci printf. Poté přes FTP přenesu na SBC desku targetu a spustím přes konzoli. Ale to bych se do této fáze musel dostat :-D

    Co se týče snahy udělat si vlastní cross tools, k tomu jsem byl donucen tak , že nejsem schopen nic rozběhat. Na netu je pár návodů, z čehož každý na něčem uvízne. Buď chybí *.h soubor nebo jiné komplikace. Takže tak nebo tak, nejsem schopen udělat sestavu gcc + glibc + binutils která by fungovala na target arm-linux-unknown-gnu, nebo podobný.

     

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.