|
make config |
|
|
|
Nov 10 2016, 14:35
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(juvf @ Nov 10 2016, 06:25)  добавил параметр CROSS_COMPILE в Kconfig. Один раз в менюшке указал "arm-none-eabi-" и забыл. Это я так думал, что забыл. Параметр CROSS_COMPILE в make xconfig появился. задал. но при сборке опять make пытается собрать компилятором gcc вместо arm-none-eabi-gcc. Как мэйку передать из конфигурации этот параметр? пара вариантов 1. в файле настроек шелла (для bash например ~/.bashrc) пропишите Код export CROSS_COMPILE=arm-none-eabi- потом выйдите из терминалки или запустите новую, чтобы выполнились настройки 2. в своем скрипте напишите строку: Код GCC=arm-none-eabi- и далее для make указывайте Код make CROSS_COMPILE=$GCC можно вообще ничего не прописывать, запустили терминалку, дали команду Код export CROSS_COMPILE=arm-none-eabi- и пока не вышли, переменная будет работать..
|
|
|
|
|
Nov 10 2016, 14:45
|
Знающий
   
Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250

|
Я для raspberry вот таким скриптом ведро компелял: Код #!/bin/bash make -j4 ARCH=arm CROSS_COMPILE=/usr/bin/arm-none-eabi- Image modules dtbs mkdir Modules make ARCH=arm CROSS_COMPILE=/usr/bin/arm-none-eabi- INSTALL_MOD_PATH=Modules modules_install А потом перенес на флеху.
|
|
|
|
|
Nov 10 2016, 20:52
|
Знающий
   
Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390

|
Цитата(juvf @ Nov 10 2016, 18:34)  как в конфигурацию включить CROSS_COMPILE? Как-то так: https://patchwork.kernel.org/patch/69210/Переменные в Kconfig имеют префикс CONFIG_
|
|
|
|
|
Nov 11 2016, 05:27
|
Знающий
   
Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250

|
Еще один вариант — все делать внутри армовского чрута при помощи qemu. Я так разворачивал генту на raspberry (т.к. она слишком тормозная, чтобы непосредственно на ней компелять). Вот таким скриптом у меня монтируются разделы "малинки": Код #!/bin/bash CHRT="ROOT" if [ $# != 1 ]; then echo "usage: $0 /dev/sdb" exit 1 fi
function mnt(){ mount --rbind $1 ${CHRT}$1 } [ -f /proc/sys/fs/binfmt_misc/arm ] || echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\x ff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-static:' > /proc/sys/fs/binfmt_misc/register mount ${1}2 ${CHRT} mv ${CHRT}/usr/bin/qemu-arm-static_ ${CHRT}/usr/bin/qemu-arm-static mount ${1}1 ${CHRT}/boot mount -o bind linux ${CHRT}/usr/src/linux mnt /dev mnt /sys mount -t proc none ${CHRT}/proc mnt /run mount -o bind portage ${CHRT}/usr/portage chroot ${CHRT} И скрипт для размонтирования: Код #!/bin/bash CHRT="ROOT" mv ${CHRT}/usr/bin/qemu-arm-static ${CHRT}/usr/bin/qemu-arm-static_ umount ${CHRT}/boot umount ${CHRT}/usr/portage/ umount ${CHRT}/usr/src/linux umount ${CHRT}/proc umount ${CHRT}/run umount ${CHRT}/sys umount ${CHRT}/dev/pts umount ${CHRT}/dev/shm umount ${CHRT}/dev umount ${CHRT} Главное - не забыть /usr/bin/qemu-arm-static, иначе на настоящем железе система не загрузится.
|
|
|
|
|
Nov 15 2016, 05:55
|
Знающий
   
Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250

|
Цитата(juvf @ Nov 15 2016, 05:23)  только u-boot начал работать. как это дебажить? как по шагам в таких процессорах выполнять программу? Только через JTAG, если он выведен, конечно. А смысл на столь ранних этапах дебажить? Разве только если пытаться написать свой собственный загрузчик...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|