Цитата(Henadi @ Feb 7 2008, 09:00)

Спасибо всем, кто откликнулся! Буду экспериментировать.
Правильно ли я понял, что в тулчайне, соброном под Линух нельзя компилировать программы для контроллера без ОС, нужно пересобирать libc

?
не совсем
u-boot не собитается под линукс!
он может собираться под линуксОМ или под виндовсОМ или под другой ОСью!
u-boot это некий такой эквивалент как в писюке - биоса
....тоесть просто ЗАГРУЗЧИК, и его задача произвести иниуиализацию и запустить конкретную ОСь или стэндэлонкод и передать даленейщее управление на саму ОСь или стэндэлон код
тоесть стэндэлон и будет Вашей ОСью в данном случае
если Вы хотите заггужать свою программу по конкретному адресу и от туда ее стартовать, то это уже раздел ракументации в u-boot называется если правильно помню - Running Standalone (или типа того, точно не помню) - вот про стэндэлон и читайте - там все предельно просто и кратко
теперь о тулчейне еще...
...загляните вот сюда -
http://docs.blackfin.uclinux.org/doku.php?id=gcc_and_gas правда это для гдугого камня (blackfin), но смысл остается тот же нужно правильно выбрать чем компилировать, все тоже тамое и для arm
вот конкретика на которую многие не обращают внимания
[/size]Код
[size="1"]<a id="differences_between_blackfin_compilers" name="differences_between_blackfin_compilers">Differences Between Blackfin Compilers[/size] [size="1"] There are currently three Blackfin compilers: [/size]
[size="1"] bfin-elf-gcc [/size][size="1"]linked against gcc's own newlib library. The bfin-elf-* toolchain should be used to build non-kernel and non-uClibc applications.[/size][size="1"] bfin-uclinux-gcc[/size][size="1"] linked against uClibc, which was built by the bfin-elf-* toolchain. Use this to build the kernel and kernel modules. Use this to build all userspace applications in the FLAT format.[/size][size="1"] bfin-linux-uclibc-gcc[/size][size="1"] linked against uClibc, which was built by the bfin-elf-* toolchain. Use this to build all userspace applications in the FDPIC ELF format.[/size] [size="1"]The first [b]bfin-elf-gcc[/b] is optimized to produce stand alone (non-Linux) applications, like Das U-Boot. Although it boots the kernel it does not need to be relocated and does not need to use [b]elf2flt[/b] to produce a Flat file for loading by the kernel. This version of the compiler is designed to be Operating System independent. [/size]
[size="1"] The second [b]bfin-uclinux-gcc[/b] has some features added to generate PIC (Program Independent Code) code without a GOT (Global Offset Table). This works better when working with elf2flt to produce user code executables. Only the bfin-uclinux-gcc can generate a Linux kernel or user land applications that run under Linux. When you build bfin-uclinux-gcc, it builds 2 copies of uClibc, one for flat executables, and one for ELF executables. The compiler is smart enough to know which one to include, depending on the output type, specified on the command line. [/size]
[size="1"] The third [b]bfin-linux-uclibc-gcc[/b] is designed purely for compiling userspace applications in the FDPIC ELF format. This format is useful for sharing the same executable code among applications at the price of slightly higher overhead at runtime. A must for people using many shared libraries and applications and wish to share resources.[/size]
[size="1"]
тоесть
Вам для нужно использовать не arm-linux-gcc и не arm-linux-uclib-gcc а использовать именно arm-elf-gcc, для генерации бинарного кода для u-boot иначе может не получится ни чего.
.