Я очень хочу получить компиляцию, и я хотел бы использовать новейшие и лучшие инструменты.
На самом деле, новейшие и лучшие инструменты не нужно создавать самостоятельно. В репозитории Raspberry Pi Tool GitHub вы найдете X86_64
и x686
наборы инструментов для кросс-компиляции программного обеспечения.
Я рекомендую использовать x86-linux64-cross-arm-linux-hardfp
набор инструментов, так как он скомпилируется для Hard Floating Point, что приведет к гораздо более быстрой системе.
$ arm-bcm2708hardfp-linux-gnueabi-gcc --version
arm-bcm2708-linux-gnueabi-gcc-4.5.1 (Broadcom-2708) 4.5.1
Copyright (C) 2010 Free Software Foundation, Inc.
Примечание. Если вы используете существующее ядро, вам придется использовать набор инструментов, соответствующий ядру. Приложения HardFP не будут работать на ядре SoftFP.
Для использования цепочки инструментов просто проверьте репозиторий:
git clone https://github.com/raspberrypi/tools.git --depth 1
--depth
Параметр будет означать , что вам не придется ждать , пока история хранилища для загрузки , а также (так как мы не будем использовать его).
Затем добавьте двоичные файлы в переменную PATH:
export PATH=~/tools/arm-bcm2708/x86-linux64-cross-arm-linux-hardfp/bin:$PATH
Или сохранить ПУТЬ
echo "export PATH=~/tools/arm-bcm2708/x86-linux64-cross-arm-linux-hardfp/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
Для компиляции с цепочкой инструментов вы можете добавить CROSS_COMPILE
параметр. Например, при запуске make
:
make CROSS_COMPILE=arm-bcm2708hardfp-linux-gnueabi-
Или, чтобы сделать это проще, вы можете сохранить переменную bashrc
снова:
echo "export TARGET=arm-bcm2708hardfp-linux-gnueabi" >> ~/.bashrc
source ~/.bashrc
и теперь используйте переменную при компиляции:
make CROSS_COMPILE=${TARGET}