... а АРМ будет стоять в раздумье и ждать..
Нет, я хочу именно АРМ imx6 в realtime.
Хотя пока не получается.
При компиляции ядра ругается на драйвер mxc - похоже тот самый uart.
Вернулся к preempt_rt
взял ядро 3.10.17 с kernel.org и path к нему удалось скомпилировать preempt ядро.
добавив в базовый пример
..
clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &t, NULL);
..
переключение ноги GPIO смотрю осциллографом - прыгает порядочно
сделал вычисление max сдвига - при копировании файлов доходит до 1 ms
хотя
uname -a выдает
Linux buildroot 3.10.17 #1 SMP PREEMPT Tue Feb 24 13:01:59 MSK 2015 armv7l GNU/Linux
Можно ли из buildroot назначить уровень preempt_rt - я так понял, что то что настраивается в make menuconfig в каталоге ядра игнорируется при запуске buildroot и он берет настройки из imx_v7_sk_defconfig
Может можно что-то там подправить?
Оказалось, что компиляция в buildroot как то влияет на пропатченость ядра и становятся недоступными опции preempt_rt, а только preempt desktop)low latency..) - в таком виде все компилируется , но это не RT..
Как скомпилировать ядро RT? Подскажите, кто знает..
можно добавить любые патчи в меню
() Custom kernel patches
A space-separated list of patches to apply to the kernel. Each patch can be described as an URL, a local file path, or a directory. In the case of a directory, all files matching linux-*.patch in the directory will be applied.
Прописал патч
/home/user/src/buildroot-2014.08-sk-3.10.17/output/build/linux-custom/patch-3.10.17-rt12.patch
, пересобрал ядро, но после этого изменений не заметно - после сборки опять пропали возможности RT
А нельзя ли как-то чтоб из архива не переписывались эти файлы...
А почему dts файл я правлю, драйвер uarta правлю - они не переписываются из архива - не понимаю
После patch-а папки linux-custom при компиляции выдает кучу вопросов
RCU Implementation
> 1. Preemptible tree-based hierarchical RCU (TREE_PREEMPT_RCU)
2. Preemptible UP-only small-memory-footprint RCU (TINY_PREEMPT_RCU) (NEW)
..
ARM system type
> 1. Allow multiple platforms to be selected (ARCH_MULTIPLATFORM) (NEW)
2. ARM Ltd. Integrator family (ARCH_INTEGRATOR) (NEW)
и мнооого других, знать бы как на них правильно отвечать и когда они кончатся..
С установкой Xenomai проще, но если бы по нему была такая хорошая док-я, как https://rt.wiki.kernel.org/index.php/CONFIG_PREEMPT_RT_Patch.
Может кто посоветует куда легче пробиться?
Или как избежать этих вопросов..
Patch из под buildroot наконец-то запустил
Patch запустился после того, как сделал make linux-dirclean
Но в конце компиляции получил
package/pkg-generic.mk:177: recipe for target '/home/user/src/buildroot-2014.08-sk-3.10.17/output/build/linux-custom/.stamp_built' failed
make: *** [/home/user/src/buildroot-2014.08-sk-3.10.17/output/build/linux-custom/.stamp_built] Error 2
Что делать?
Попробовал взять другое ядро с другим patch-em 3.18.x
Но Buildroot не хочет с ним иметь дело
Что делать?
Уууу.., прописал Buildroot-у правильно где находится ядро 3.18.13 и patch к нему ии.. пропатчилось и компилируется, но с тем же результатом...
>>> linux custom Configuring
/usr/bin/install -m 0644 /home/user/src/buildroot-2014.08-sk-3.10.17/output/build/linux-custom/arch/arm/configs/imx_v7_sk_defconfig /home/user/src/buildroot-2014.08-sk-3.10.17/output/build/linux-custom/arch/arm/configs/buildroot_defconfig
/usr/bin/install: cannot stat ‘/home/user/src/buildroot-2014.08-sk-3.10.17/output/build/linux-custom/arch/arm/configs/imx_v7_sk_defconfig’: No such file or directory
package/pkg-generic.mk:167: recipe for target '/home/user/src/buildroot-2014.08-sk-3.10.17/output/build/linux-custom/.stamp_configured' failed
make: *** [/home/user/src/buildroot-2014.08-sk-3.10.17/output/build/linux-custom/.stamp_configured] Error 1
С похожим результатом.. ааа dirclean вообще снёс каталог linux-custom вместе с imx_v7_sk