Ник:
Пароль:

Контакты

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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
RealTime управление GPIO
Wad1970
Добавлено 26.06.2015 12:30 Сообщение: 21
Wad1970
5

Пункты: 3692
Регистрация: 24.11.2014
чтобы скомпилировать ванильное ядро я подложил в linux-custom\arch\arm.. каталоги dts и CONFIGS - ГОТОВО!
Спуститься к концу Подняться к началу
Персональная информация
Wad1970
Добавлено 19.02.2016 10:03 Сообщение: 22
Wad1970
5

Пункты: 3692
Регистрация: 24.11.2014
Теперь хочу скомпилировать не ванильное ядро, а ядро с мультимедиа(чтоб подключить экран) чтоб работал RT.
Но не выходит:
CC net/sunrpc/clnt.o
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c: In function ‘gckOS_WaitSignal’:
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7880:5: error: passing argument 1 of ‘spin_lock_irq’ from incompatible pointer type [-Werror]
spin_lock_irq(&signal->obj.wait.lock);
^
In file included from include/linux/seqlock.h:29:0,
from include/linux/time.h:5,
from include/linux/stat.h:18,
from include/linux/module.h:10,
from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
include/linux/spinlock.h:316:20: note: expected ‘struct spinlock_t *’ but argument is of type ‘struct raw_spinlock_t *’
static inline void spin_lock_irq(spinlock_t *lock)
^
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7912:9: error: passing argument 1 of ‘__add_wait_queue_tail’ from incompatible pointer type [-Werror]
__add_wait_queue_tail(&signal->obj.wait, &wait);
^
In file included from include/linux/mmzone.h:9:0,
from include/linux/gfp.h:4,
from include/linux/kmod.h:22,
from include/linux/module.h:13,
from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_linux.h:27,
from drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:22:
include/linux/wait.h:120:20: note: expected ‘struct wait_queue_head_t *’ but argument is of type ‘struct swait_head *’
static inline void __add_wait_queue_tail(wait_queue_head_t *head,
^
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c:7924:13: error: passing argument 1 of ‘spin_unlock_irq’ from incompatible pointer type [-Werror]
spin_unlock_irq(&signal->obj.wait.lock);
^
I
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 24.02.2016 10:44 Редактировалось 24.02.2016 10:45 Сообщение: 23
sasamy
4.70

Пункты: 76878
Регистрация: 14.08.2009
В buildroot на базе 3.10.17 после конфигурации всего что нужно под местные платы или можно на уже собранной системе пересобрать только ядро - для этого надо удалить исходники собранного ядра

rm -r output/build/linux-custom

дописываете патчи для ядра

make menuconfig
Kernel --->
Custom kernel patches

добавляете через пробел (строка с URL разделенными пробелами)

http://raw.githubusercontent.com/Freescale/meta-fsl-arm/dizzy/recipes-kernel/linux/linux-imx-rt-3.10.17/0001-fix-build.patch


http://raw.githubusercontent.com/Freescale/meta-fsl-arm/dizzy/recipes-kernel/linux/linux-imx-rt-3.10.17/0002-fix-build-with-rt-enabled.patch


http://raw.githubusercontent.com/Freescale/meta-fsl-arm/dizzy/recipes-kernel/linux/linux-imx-rt-3.10.17/0003-no-split-ptlocks.patch


http://www.kernel.org/pub/linux/kernel/projects/rt/3.10/older/patches-3.10.17-rt12.tar.gz

выходите с сохранением конфига, затем конфигурируете ядро

make linux-menuconfig

Kernel Features --->
Preemption Model (Fully Preemptible Kernel (RT)) --->

выходите и собираете

make

после загрузки проверяете

# uname -a
Linux buildroot 3.10.17-rt12 #1 SMP PREEMPT RT Wed Feb 24 10:12:17 MSK 2016 armv7l GNU/Linux
Спуститься к концу Подняться к началу
Персональная информация
Wad1970
Добавлено 24.02.2016 13:09 Сообщение: 24
Wad1970
5

Пункты: 3692
Регистрация: 24.11.2014
Спасибо большое. Всё работает.
Спуститься к концу Подняться к началу
Персональная информация
Wad1970
Добавлено 28.06.2016 09:01 Сообщение: 25
Wad1970
5

Пункты: 3692
Регистрация: 24.11.2014
При максимальном приоритете одного процесса пакеты по uart доходят обрезанные наполовину.
Только уменьшив приоритет этого процесса до 49 пакеты по uart стали приходить нормальные.
При таком приоритете разброс по времени пока что укладывается в 300 мкс.
Как будет при полной нагрузке не знаю пока...
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux