Попытка создать последнюю версию загрузчика u-boot для моей платы ARM mini2440 Мне удалось загрузить пакет toolchain из codeourcery и извлечь его по следующему пути: /usr/local/arm-2008q3/
Я также экспортировал следующие значения для Текущий сеанс:
export PATH=$PATH:/usr/local/arm-2008q3/bin
export CROSS_COMPILE=arm-none-linux-gnueabi-
Когда я запускаю make, я получаю следующий вывод, и я не могу понять, почему:
make: arm-none-linux-gnueabi-gcc: Command not found
for dir in tools examples api_examples ; do make -C $dir _depend ; done
make[1]: arm-none-linux-gnueabi-gcc: Command not found
make[1]: Entering directory `/home/deth/uboot/mini2440/tools'
make[1]: Nothing to be done for `_depend'.
make[1]: Leaving directory `/home/deth/uboot/mini2440/tools'
make[1]: arm-none-linux-gnueabi-gcc: Command not found
make[1]: Entering directory `/home/deth/uboot/mini2440/examples'
/bin/sh: 1: arm-none-linux-gnueabi-gcc: not found
Я дважды проверил все, и бинарные файлы действительно находятся в но ... Пожалуйста, объясните, где я ошибаюсь.
Попробуйте установить еще несколько переменных. Ниже приведено что-то, что работает для меня с помощью инструментальной привязки, установленной в моем домашнем каталоге (у вас другое, просто измените MY_ARM_BASE). Я не делаю много перекрестного компиляции, поэтому я помещаю необходимые переменные в файл (я называл свой «myconfig») и запускаю его с помощью команды dot, чтобы поместить ее в мою среду (так что разрешение на выполнение не требуется) .
. myconfig
Теперь makefile, который я использовал, был НЕ от поставщика инструментальной цепочки, поэтому я зашел в каталог bin toolchain и добавил ссылки на исполняемые файлы с короткими именами, например: [!d1 ]
ln -s arm-none-linux-gnueabi-g++ g++
Затем я добавил определение CXX в переменные toolchain, чтобы запустить make-файл.
=== Поместите в файл для удобства ===
MY_ARM_BASE=${HOME}/dev/toolchain/arm-2008q3
C_INCLUDE_PATH=${MY_ARM_BASE}/lib/gcc/arm-none-linux-gnueabi/4.3.2/include:${MY_ARM_BASE}/lib/gcc/arm-none-linux-gnueabi/4.3.2/include-fixed
LIBRARY_PATH=${MY_ARM_BASE}/arm-none-linux-gnueabi/libc/lib:${MY_ARM_BASE}/arm-none-linux-gnueabi/libc/usr/lib
CPLUS_INCLUDE_PATH=${MY_ARM_BASE}/arm-none-linux-gnueabi/include/c++/4.3.2
#OBJC_INCLUDE_PATH
COMPILER_PATH=${MY_ARM_BASE}/bin
#LD_RUN_PATH
#GPROF_PATH
#######
CC=${COMPILER_PATH}/gcc
CXX=${COMPILER_PATH}/g++
RANLIB=${COMPILER_PATH}/ranlib
STRIP=${COMPILER_PATH}/strip
export C_INCLUDE_PATH LIBRARY_PATH CPLUS_INCLUDE_PATH COMPILER_PATH
export CC CXX RANLIB STRIP