Перейти к содержанию

    

Olej

Свой
  • Публикаций

    352
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Olej

  • Звание
    Местный
  • День рождения 27.11.1951

Контакты

  • Сайт
    http://qnxclub.net
  • ICQ
    0

Информация

  • Город
    Харьков
  1. Не-а ... :laughing: - "на 1-м курсе политеха" точно стал бы поучать, что никто и нихера не понимает :santa2:
  2. Buildroot: создание образа Orange Pi

    Это точно. Тем более, что чипов памяти меньше какого-то лимита просто не становится на рынке. И этот лимит, минимум постоянно увеличивается. P.S. Не про RAM, но близкая аналогия: а вы попробуйте купить на рынке SD-карточку 4Gb ... не говоря уже про 2Gb. Я недавно пробовал :wacko: . Не говоря уж о том, что 2Gb и 8Gb стоят примерно одинаковую цифру денег.
  3. Драйвер CP210x - управление GPIO

    В даташите CP2103 сказано: Смотрите там. Но там же и вот такое ... сильно настораживающее предупреждение:
  4. Buildroot: создание образа Orange Pi

    U-boot выводит текстовый протокол своей загрузки, до момента загрузки ядра. Нет их, /dev/fb* - с самого начала проверено. Каким образом "проверить"? Но всё это не самое главное в этой теме. А то, как средствами BuildRoot собрать hard realtime систему Xenomai Cobalt? Когда для патченья ядра под проект Adeos, патч ipipe, Xenomai в своих инструкциях используют не команду patch, а свой собственный скрипт патченья ... почти в 500 строк кода shell. Как это объяснить BuildRoot?
  5. Buildroot: создание образа Orange Pi

    Это никакие не самодельные сборки. А самые что ни на есть стандартные сборки Linux, когда системе сборки только указываются требуемые ядро, пакеты... а система сборки сама ownload с домашних страниц всех проектов их скачивает (исходники) и собирает. Большой плюс, что может собирать кросс-компиляцией (на x86 станет собирать образ для PPC). На "дебиан или убунту, федору" всё ставится пакетными системами , пакеты, которые компилируются ровно из тех же исходников (других в природе просто нет). Только пакетные дистрибутивы имеют размер раз в 10 больше, чем собранные под целевые требования (1Gb, к примеру, вместо 75Mb :laughing: ). На сегодня размер - это вовсе уже мало для кого ограничивающий фактор, но в этих пакетных дистрибутивах (даже если это на ARM, типа Armbian) по умолчанию сконфигурированы 2-3 десятка демонов-сервисов, которые могут тупо без нужды нагружать систему ... или нужно щепетильно разбираться кого там из них нужно останавливать. P.S. как пример, ... смешно :biggrin: : практически во всех пакетных дистрибутивах устанавливаются и запускаются ... сервисы SMB ... "услужливо" :wacko:
  6. Драйвер CP210x - управление GPIO

    Я тоже использую CP2102/CP2103 (законченные устройства) в качестве конверторов USB-UART (например, в однопллатных SoC незаменимая вещь просматривать сообщения U-boot ... или вообще взаимодействовать с embedded устройства). Но ТС называл устройство CP2102N (там этих CP2102N 3 или 4 штуки, с разными суффиксами, отличающиеся конструктивом и др.). А у этих там 3 (что ли) дискретных вывода GPIO, сверх канала USB-UART. Конечно, это не GPIO вовсе, в смысле Linux GPIO, а ... чёрт знает что - самоделка на коленке ("дерибас" ;) ). И поэтому всё, что с ним буде связано, будет обязательно проблематичным :laughing: ... : реакция по выходу на такое ... "якобы-GPIO" будет ещё более-менее понятной, через ioctl() или libusb, но реакция по входу с таких "якобы-GPIO" (когда нужно бы реагировать на прерывания) - это вообще мрак.
  7. Драйвер CP210x - управление GPIO

    А вы совершенно уверены, что "при подключении" нормально отрабатывается? Что говорят dmesg, lsmod и т.д.? Вообще то странно ... всякий производитель и всякое устройство обязаны поддерживать стандартный интерфейс GPIO. Подробно, внятно и просто, на пальцах - описано здесь: Linux: кнопки, светодиоды и GPIO.
  8. Удаленная графика на Линуксе

    Это интересно. Не обращал как-то внимания раньше на -Y опцию. Спасибо.
  9. Мысль такая, что юные дарования валом "задавались вопросом" как защитить их "гениальные творения" :santa2: ещё со времён раннего MS-DOS. Вы находитесь в разделе Linux, и в мире Linux, который является, вообще-то говоря open+free, где действуют GPL-лицензии в разных вариантах, которые, кстати, предписывают и что вы со своим "гениальным творением" имеете право делать, а чего нет ... раз уж вы опираетесь на Linux ... да ещё и на другие GNU инструменты.
  10. Buildroot: создание образа Orange Pi

    Это всё (Orange Pi vs Nano Pi ... или vs Rapsberry Pi) к самому типу SBC/SoC не имеет никакого отношения: - для того же Orange Pi есть ... ну не меньше 2-х десятков авторов-технологий сборки OS, и каждая ведёт себя по-разному - есть постоянно обновляемые сборки от независимого проекта Armbian - очень приличные сборки и очень умный проект ... не в пример "оригинальной" сборке от производителя Orange Pi - я сам с помощью BuildRoot, простейшими усилиями, собирал 3-4 вариантов минимальных конфигураций CLI Linux ... всё очень адекватно.
  11. Собирать рабочий образ realtime системы с Xenomai довольно противное занятие, и описано здесь - Installing Xenomai 3.x: 1. Нужен патч ipipe исходников майнлайнового ядра (с kernel.org), патч проекта . Берётся здесь - Index of /downloads/ipipe/v4.x, под свою процессорную архитектуру: [DIR] arm/ 12-Jun-2018 19:15 - [DIR] arm64/ 08-Apr-2018 16:47 - [DIR] blackfin/ 26-Mar-2018 09:31 - [DIR] powerpc/ 26-Mar-2018 09:31 - [DIR] x86/ 26-Mar-2018 17:54 - Это патчи проекта Adeos (Adaptive Domain Environment for Operating Systems) (любопытно почитать). Патчи изготавливаются далеко не под все версии ядра, например для ARM: [TXT] ipipe-core-4.14.36-arm-1.patch 12-Jun-2018 19:12 587K [TXT] ipipe-core-4.4.71-arm-9.patch 03-Oct-2017 12:35 672K [TXT] ipipe-core-4.9.51-arm-4.patch 26-Mar-2018 09:16 700K [DIR] older/ 12-Jun-2018 19:13 - 2. Собрать новое ядро и установить в системе Linux... 3. Скачать Xenomai real-time core, собрать из исходников и установить... 4. Писать свои realtime task в Posix-нотации (это новинка в Xenomai, они называют это skin-ы), но компилировать специфичным Makefile: XENO_DIR = /usr/xenomai XENO_CONFIG := $(XENO_DIR)/bin/xeno-config CFLAGS := `$(XENO_CONFIG) --posix --cflags` LDFLAGS := `$(XENO_CONFIG) --posix --ldflags` CC := `$(XENO_CONFIG) --cc` all: main_posix lb1 main_posix: main_posix.c $(CC) -Wall $(CFLAGS) $< $(LDFLAGS) -o $@ -lanalogy -ltrank -lmodechk -lcopperplate ... И запускать потоки с realtime диспетчированием Linux (естественно, это потребует root): ... struct sched_param sparam; sparam.sched_priority = 99; rc = pthread_create( &thread, NULL, TaskCode, NULL ); assert( 0 == rc ); rc = pthread_setschedparam( thread, SCHED_FIFO, &sparam ); ... К счастью, на "попробовать" есть готовые публично доступные образы системы, от одного из голландских университетов, которые они используют в учебном спецкурсе по embedded системам: - образ SD-карты для Rapsberry Pi: Raspberry Pi image for the Pi zero,1,2,3 with Xenomai 3.0.5 on Raspbian linux 4.1.y Debian 8 jessie - образ виртуальной машины под VirtualBox: VirtualBox Images for Xenomai 3.0 and Xenomai 2.4 И тот, и другой вариант мной проверен на работоспособность и адекватность.
  12. Не грузится linux

    Если бы так! :crying: В mainline ядре поддержки Н3 до сих пор нет. Сейчас пока всё у Allwinner делается через U-Boot, он сам настраивает HDMI, создает под это фреймбуфер и передает его ядру в готовом виде... (только мне никто не может подсказать как эта технология называется). Ядро работает только с /dev/fb*. Свежий BuildRoot прекрасно поддерживает эту плату (это команда в корневом каталоге BuildRoot): [olej@xenix buildroot-master]$ make list-defconfigs | grep orangepi orangepi_lite_defconfig - Build for orangepi_lite orangepi_one_defconfig - Build for orangepi_one orangepi_pc2_defconfig - Build for orangepi_pc2 orangepi_pc_defconfig - Build for orangepi_pc orangepi_pc_plus_defconfig - Build for orangepi_pc_plus orangepi_plus_defconfig - Build for orangepi_plus orangepi_prime_defconfig - Build for orangepi_prime orangepi_win_defconfig - Build for orangepi_win orangepi_zero_defconfig - Build for orangepi_zero orangepi_zero_plus2_defconfig - Build for orangepi_zero_plus2 Проблема в том, что сборка BuildRoot создаёт компактный (~75Mb) образ для embedded применений, работающий через UART отладочную консоль, но не инициализирует, локальный дисплей Orange Pi на HDMI. См. сюда: Buildroot: создание образа Orange Pi
  13. В модели NAPI есть такой важный параметр как счётчик числа сетевых пакетов, при приёме меньше которого драйвер возвращается из режима программного пулинга и переходимт в режим ожидания прерываний. Поиграйтесь с этим параметром. P.S. Может подскажет какую мелочь, из об ласти сетевых драйверов или модулей фильтров сетевых протоколов вот этот текст: Практикум по Linux Kernel. Ну и Сетевое программирование в Linux - здесь о стыке сокетных буферов в ядре с сокетами простанства пользователя.
  14. Raspberrypi: RASPBIAN

    Господи! :crying: Пацаны ... Rapspbian и все подобные сборки под Rapsberry Pi, Orange Pi и др. - это всё такой же Linux, как он есть в любых ... бубунтах, дебианах или разных красных шапках... И в Linux есть уже за 28 лет сложившиеся технологии, привычки и инструменты. Что ж вас так преёт в ту "выньду"?! Чтоб заниматься с Linux "через жопу". :crying: Почитайте тут: Разработка программных проектов в Linux.