Установка и настройка WiringRP

BiNome

New member
22.02.2024
5
3
3
В данном разделе будет размещаться актуальная информация об установке и настройке библиотеки wiringRP для RepkaOS (Repka Pi 3) с ядрами 5 и 6 (в том числе с патчем RT). Здесь же предлагается размещать вопросы, возникшие при установке драйвера и самой библиотеки.
 

Установка и настройка wiringRP в RepkaOS с патчем RT (ядро 6.1.11-rt7-sunxi)​

Примечание: все команды выполняются в консоли от пользователя root (или пишем sudo перед каждой командой)!.

Записываем на карту памяти образ дистрибутива Repka OS RT (Real Time).
Запускаем устройство, обновляем пакеты командой apt update & apt upgrade.

Важно! Для работы wiringRP на RepkaOS с RT патчем (ядро 6.1.11-rt7) необходимо исправить сборку, путем обновления ядра ОС. Для этого выполните следующие шаги:

1. Скачайте последнюю версию утилиты repka-config (скачать).
2. Откройте каталог загрузки с скопируйте файл repka-config.sh в каталог /boot с заменой.
3. Установите на файл атрибут "исполняемый" chmod +x repka-config.sh
4. Запустите утилиту ./config-repka.sh (или просто config-repka)

Далее выбираем по порядку пункты в диалогах утилиты...
а) System Options
б) S1 Select-kernel
в) Жмем OK
г) Kernel-3 6.1.11-rt7-sunxi (с патчем PREEMPT_RT)
д) Жмем Выбрать / Select
е) Ждем установки пакетов, перезагружаемся.
Если при обновлении ядра (установки пакетов) возникли ошибки - пишем техподдержке!

После перезагрузки устройства:
5. Установите пакеты git, gdb и cmake командой apt install git gdb cmake
6. Создайте каталог для проектов в домашнем каталоге пользователя командой mkdir ~/projects (не обязательно). Делаем его текущей - cd ~/projects.
7. Загрузите библиотеку wiringRP из репозитория gitflic.ru командой git clone https://gitflic.ru/project/repka_pi/wiring-repka.git
8. Зайдите в каталог wiring-repka.

Важно! В папке wiring-repka находятся следующие каталоги:
а) driver - содержит исходные коды драйвера repka_gpio.
б) example - содержит исходные коды примеров использования библиотеки.
в) utility - содержит собранные драйвера repka_gpio.ko:
- каталог `repka-pi_1.2-1.6_kernel_5.19` для RepkaOS с ядром 5.19 (типовая сборка)
- каталог `repka-pi_1.2-1.6_kernel_6.1.11-rt7` для RT RepkaOS с ядром 6.1.11-rt7-sunxi (ОСРВ)
В каждом каталоге расположен скрипт `init_dev.sh` для загрузки драйвера и настройки прав доступа к используемым библиотекой драйверам устройств.
г) wiringRP - содержит исходные коды библиотеки wiringRP.

Примечание: для проверки версии вашей операционной системы можно воспользоваться командой uname -r.

Далее:
9. Зайдите в каталог utility - cd utility.
10. Выберите каталог соответствующий версии вашей ОС.
11. Если файл init_dev.sh не является исполняемым установите ему соответствующий атрибут chmod +x init_dev.sh
12. Запустите скрипт на выполнение ./repka_dev.sh
13. Если ошибок нет, но можно приступать к сборке примеров (см. п. 15). Если при запуске скрипта вы получили ошибку загрузки драйвера, то необходимо перекомпилировать его для вашей ОС (см. ниже).

Сборка драйвера для ОС:
14. Для сборки драйвера repka_gpio снимите комментарий со строки `#add_subdirectory(driver)` (удалите символ `#`) в файле `CmakeLists.txt` в корневом каталоге библиотеки (wiring-repka).
15. Создайте каталог для сборки проекта `mkdir build && cd build` (в каталоге wiring-repka).
16. Соберите и скомпилируйте проект командой cmake .. && make
Результаты сборки сохраняются в каталогах:
- bin исполняемые файлы примеров;
- driver драйвер repka_gpio.ko (если вы настроили его сборку);
- lib библиотека libwiringrp.a для статической линковки.

Примечание: драйвер repka_gpio.ko необходимо загружать с помощью скрипта init_dev.sh после каждой перезагрузки устройства, поэтому при самостоятельной сборке драйвера рекомендуем заменить файл драйвера в каталоге ~/projects/wiring-repka/utility/ваша_версия_ОС/ файлом из каталога ~/projects/wiring-repka/build/driver/repka_gpio.ko и переименовать его (или исправить его имя в скрипте init_dev.ko).


Порядок использования библиотеки при написании программ смотрите здесь.
 
  • Like
Реакции: rs045