Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
RealTime управление GPIO
mmmjeka2015
Добавлено 15.06.2015 13:38 Сообщение: 11
mmmjeka2015
0

Пункты: 682
Регистрация: 02.06.2015
Цитата
Нет, мне надо передать последовательность 200 импульсов во времени каждый импульс 5мс(0 или 1), и как регистр мне поможет, если ОС будет занята высокоприоритетной задачей длиной 10 мс?


Ну если простая логика не подходит, то FPGA Xilinx , Altera.
Спуститься к концу Подняться к началу
Персональная информация
Wad1970
Добавлено 15.06.2015 15:10 Сообщение: 12
Wad1970
5

Пункты: 3692
Регистрация: 24.11.2014
... а АРМ будет стоять в раздумье и ждать..
Нет, я хочу именно АРМ imx6 в realtime.
Хотя пока не получается.
При компиляции ядра ругается на драйвер mxc - похоже тот самый uart.
Спуститься к концу Подняться к началу
Персональная информация
Wad1970
Добавлено 16.06.2015 10:36 Сообщение: 13
Wad1970
5

Пункты: 3692
Регистрация: 24.11.2014
Получилось откомпилировать ядро с xenomai поддержкой rt,
а вот как дальше с этим работать не могу найти.
Спуститься к концу Подняться к началу
Персональная информация
Wad1970
Добавлено 17.06.2015 14:09 Редактировалось 17.06.2015 14:14 Сообщение: 14
Wad1970
5

Пункты: 3692
Регистрация: 24.11.2014
Вернулся к 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
Может можно что-то там подправить?
Спуститься к концу Подняться к началу
Персональная информация
Wad1970
Добавлено 18.06.2015 10:29 Сообщение: 15
Wad1970
5

Пункты: 3692
Регистрация: 24.11.2014
Оказалось, что компиляция в buildroot как то влияет на пропатченость ядра и становятся недоступными опции preempt_rt, а только preempt desktop)low latency..) - в таком виде все компилируется , но это не RT..
Как скомпилировать ядро RT? Подскажите, кто знает..
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 18.06.2015 11:49 Сообщение: 16
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
Цитата

Оказалось, что компиляция в buildroot как то влияет на пропатченость ядра


ядро собирается из архива, настройки тут

make menuconfig
Kernel --->

можно добавить любые патчи в меню
() 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.

для Xenomai и RTAI есть интеграция в меню

Linux Kernel Extensions --->
[ ] Adeos/Xenomai Real-time patch
[ ] RTAI Real-time patch
Спуститься к концу Подняться к началу
Персональная информация
Wad1970
Добавлено 18.06.2015 15:23 Редактировалось 18.06.2015 16:06 Сообщение: 17
Wad1970
5

Пункты: 3692
Регистрация: 24.11.2014
Прописал патч
/home/user/src/buildroot-2014.08-sk-3.10.17/output/build/linux-custom/patch-3.10.17-rt12.patch
, пересобрал ядро, но после этого изменений не заметно - после сборки опять пропали возможности RT
А нельзя ли как-то чтоб из архива не переписывались эти файлы...
А почему dts файл я правлю, драйвер uarta правлю - они не переписываются из архива - не понимаю
Спуститься к концу Подняться к началу
Персональная информация
Wad1970
Добавлено 19.06.2015 12:54 Редактировалось 19.06.2015 12:55 Сообщение: 18
Wad1970
5

Пункты: 3692
Регистрация: 24.11.2014
После 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.
Может кто посоветует куда легче пробиться?
Или как избежать этих вопросов..
Спуститься к концу Подняться к началу
Персональная информация
Wad1970
Добавлено 24.06.2015 08:25 Редактировалось 24.06.2015 08:26 Сообщение: 19
Wad1970
5

Пункты: 3692
Регистрация: 24.11.2014
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 не хочет с ним иметь дело
Что делать?
Спуститься к концу Подняться к началу
Персональная информация
Wad1970
Добавлено 24.06.2015 13:50 Редактировалось 24.06.2015 14:14 Сообщение: 20
Wad1970
5

Пункты: 3692
Регистрация: 24.11.2014
Уууу.., прописал 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
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux