LINUX.ORG.RU

Вопросы к разработчикам Module MB 77.07

 , , , ,


2

3

1) Укажите на инструкцию по установке linux-3.10.x из вашего репозитория https://github.com/RC-MODULE. Какие шаги необходимо проделать, чтобы установить linux-3.10.x?

2) Не планируется ли партировать OpenCV на DSP Neuromtrix, или завести отдельную ветку для этой библиотеки?

3) Где посмотреть примеры обработки цифрового сигнала со спутников, ну и какие OEM-приемники стоит использовать?

4) Будет ли порт под FreeBSD (ARM), если будет то когда?

Спасибо.



Последнее исправление: zhogar (всего исправлений: 2)

Отвечаю по порядку. Для прошивки бинарных образов:

1. Для прошива:

* Берем с http://module.ru/mb7707/ из images архив прошивки. В бинарном виде есть debian/raspbian jessie и wheezy на выбор.

* С http://github.com/RC-MODULE/ берем edcltool и ставим в систему

* В архивах с прошивками есть README как и что шить. Сложного ничего нет, накинуть джампер boot, соединить патчкордом с хостом, запустить edcltool -f eupgrade.edcl в каталоге с распакованной прошивкой.

* Виндовая сборка edcltool пока очень сырая, работает медленно, на чем-то старше XP надо ставить «совместимость с Windows XP». Делалась она наспех для пары тестов, и по ней рефакторинг плачет. Ну и под винду надо поставить WinPCAP в систему.

2. Разговоры были, но насколько знаю - нет. У ребят которые DSP занимаются своя есть либа алгоритмов. В комплекте выложенного на сегодняшний момент ПО ее нет. Лучше запросить.

3. Что именно Вас интересует? Прием и декодирование? В этом варианте тюнера на TS вход не подключено, его вообще нет (и с подключением тюнера есть особенности в схемотехнике!).

4. Порта FreeBSD никто не делал. Зато есть yocto, немного протухший оверлей для gentoo (так как человек, который гонял gentoo уже ровно год как уволился), debian/raspbian/buildroot, и OpenWRT. Последний будет актуализирован ближайшие месяцы и направлен в апстрим OpenWRT.

1* Если из исходников - взять бинарные тулчейны, далее как обычно:

git clone https://github.com/RC-MODULE/linux-3.10.x.git
ARCH=arm make uemd_defconfig
ARCH=arm make menuconfig
ARCH=arm CROSS_COMPILE=arm-module-linux-gnueabi- make -j8 uImage dtbs

uImage и mb77.07.dtb залить в разделы kernel и dtb NAND'а соответственно.

ncrmnt ★★★★★
()
Последнее исправление: ncrmnt (всего исправлений: 4)
Ответ на: комментарий от ncrmnt

Я так понял по третьему вопросу лучше сюда смотреть: http://www.module.ru/catalog/micro/dvb__tt2_fta/ http://www.module.ru/catalog/micro/referensniy_cifrovoy_televizionniy_priemnik/ ?

Уважаемые ЛОР-юзеры, давайте проявим инициативу, и отпишем разработчикам OpenCV просьбу, по рассмотрению возможности и реализации отдельной официальной ветки портирования выше озаглавленной либы под DSP Neuromtrix.

Кто за?

zhogar
() автор топика
Ответ на: комментарий от zhogar

Я так понял по третьему вопросу лучше сюда смотреть: http://www.module.ru/catalog/micro/dvb__tt2_fta/

Ага, который идет в бамбуковом корпусе. По сути тоже самое, что и микрокомпьютер, только нет гребенки с GPIO/I2S/I2C/SPI/TS, но зато есть тюнер.

Уважаемые ЛОР-юзеры, давайте проявим инициативу, и отпишем разработчикам OpenCV просьбу, по рассмотрению возможности и реализации отдельной официальной ветки портирования выше озаглавленной либы под DSP Neuromtrix.

Отписывать я думаю рано, надо сначала потыкать кишки OpenCV и посмотреть насколько оно все ложится на nmc. Архитектура специфичная. Возможно и драйвер взаимодействия с nmc/библиотеку обмена немного подрехтовать под это дело, а потом уже думать над mainlining'ом. И желательно это делать человеку, кто хорошо знаком с кишками OpenCV.

ncrmnt ★★★★★
()
Ответ на: комментарий от devl547

да, нет. просто если бы у нас поддерживали специалистов, инженеров, ИТ-специалистов и разработчиков, чтобы они не в чем не нуждались. Техника была бы конкурента и востребована, дела бы шли быстрее, и не чего бы в тыкву не превращалось. Поэтому я поддерживаю целиком и полностью такие отечественные проекты как Module MB 77.07, молодцы ребята.

zhogar
() автор топика
Ответ на: комментарий от devl547

Вот в этом месте все новые и якобы интересные девайсы превращаются в тыкву.

Не имея патчей рано вопить на весь апстрим. Надо попробовать, и посмотреть какие грабли вылетят из темноты. Не обязательно со стороны nmc. Просто очень часто у разработчиков софта и аппаратуры крайне разные представления о том, «как оно должно работать», проходили это не раз.

А OpenCV насколько помню, изначально разрабатывался без оглядки на аппаратный офлоадинг (сейчас он там вообще у них есть?). А то закончится как в случае с libjpeg и libjpeg-turbo, что проще будет сделать что-то с OpenCV-совместимым API и его поддерживать, чем перелопатить всю архитектуру OpenCV и добавить поддержку аппаратного офлоадинга в виде подключаемых бэкендов. (Хотя последнее было бы архитектурно правильнее).

ncrmnt ★★★★★
()
Последнее исправление: ncrmnt (всего исправлений: 1)
Ответ на: комментарий от zhogar

Вот предложение к Компании ЗАО НТЦ «Модуль»: Сделали бы отдельный раздел на официальном сайте, типа проекты пользователей на Module MB 77.07, то и дела бы по популяризации девайса пошли быстрее мне кажется...

zhogar
() автор топика
Ответ на: комментарий от zhogar

Будут проекты - будет и раздел. Присылайте свое, не стесняйтесь. Хотя кое что по мелочи есть ( KivApple ты там вроде запилить такую грозился?), к gadget fair следущему будет больше ;)

ncrmnt ★★★★★
()
Последнее исправление: ncrmnt (всего исправлений: 3)
Ответ на: комментарий от ncrmnt

Во, я тут ковырялся в информации по amd hsa, вопрос назрел.
Насколько затратен доступ к DSP и реально ли запилить libm с их использованием?

devl547 ★★★★★
()
Ответ на: комментарий от devl547

Сравнительно затратен. Здорово зависит от системы. Если у тебя DSP не в виде копроцессора насандален, то тебе на каждый ioctl/read/write надо перейти из юзерспейс в кернельспейс (емнип порядок там сотен тактов), где ты уже подсунешь в контексте драйвера данные для DSP, подождешь результата, возможно положив на это время процесс поспать, и вернешь результат. Для 2-3 байт это делать не выгодно, накладные расходы будут больше профита. Выгодно сразу скармливать на обработку жирные буфера и забирать результат. Ну и учти, что в большинстве случаев (например, на МВ77.07) DSP не умеет ходить по виртуальным адресам и скормить указатель ему не выйдет. Нужно залочить страницы в памяти, пройтись по ним циклом и передать отдельно каждую страничку. Плюс накладные расходы при общении с DDR, что тоже достаточно критично на некоторых архитектурах. У нас многое можно быстро сделать только потому, что в самом кристалле есть аж 4 банки SRAM по 256Кб, откуда как для ARM, так для NMC доступ _очень_ быстрый, фактически один такт. DSP код обычно вообще из SRAM пускается, соответственно если в SRAM еще и умещать данные, то получается совсем быстро. Как у других сделано - фиг его знает, тут у каждой конторы которая DSP делает своя, особая магия чтобы оно быстро работала, и интегрируют DSP в систему все по разному.

ncrmnt ★★★★★
()
Ответ на: комментарий от ncrmnt

То есть это скорее уровень openCL, а не simd-инструкций. Понятно, тогда вопрос отпадает.

devl547 ★★★★★
()
12 декабря 2014 г.
Ответ на: комментарий от Goganchic

Это лучше писать вопрос в мартектинг.

ncrmnt ★★★★★
()
14 января 2015 г.
Ответ на: комментарий от ncrmnt

Народ, я скомпилил едро без изменений конфига, залил (fwu kernel), но оно не работает:

Hit any key (in 1 sec) to skip autoload...
Running autoload command 'mtdboot;bootm'
MTD Loading kernel image: dev kernel offset 0x000000000000 addr 0x40100000
Linux preparing to boot the kernel: machid 0xcd1
IMG moving image: type 2 from 0x40100040 to 0x40008000
HINT: To optimize boot time adjust loadaddr to: 0x40007fc0
Linux tags start 0x40000100 end 0x40000204
Linux entry 0x40008000
Uncompressing Linux... done, booting the kernel.
no ATAGS support: can't continue

Где я мог нашалить?

Megatron_68
()
Ответ на: комментарий от Megatron_68

Ты загружаешь ядро старым методом (ATAG'ами), без fdt.

Убедись, что у тебя выставлена переменная bootfdt в '1', и если чего-то менял в devicetree - то обнови dtb. Ядро тебе готовит dtb файлик при сборке в arch/arm/boot/dts/.

ncrmnt ★★★★★
()
Ответ на: комментарий от Megatron_68

Раздел зовется dtb. Если его там нет, значит скорее всего залит старый загрузчик или одна из его веток которая содержит заводские тесты.

Обновить можно зашив любую свежую прошивку с дебианом, либо взять отсюда http://module.ru/mb7707/images/misc/

fw-bootloader-only с последней датой.

Инструкции по прошивке через edcl есть внутри архива.

ncrmnt ★★★★★
()
Ответ на: комментарий от ncrmnt

После компиляции ядра и модулей, камеры не появляются. Может я драйверы не туда скопировал?

Тама у меня в '/lib/modules/3.10.28-shadow1-g13898d9/' несколько файлов начинающихся со слова 'modules.' и целое дерево каталогов

kernel/cripto
kernel/drivers
kernel/fs
kernel/sound

Но ядро не видит и не подхватывает модули. Одна камера вобще как аудио устройство видится. И переходники USB-COM тоже не опознаются, два разных помпробывал, включая pl2303. Я даже не могу сделать modprob или insmod, их в системме просто нет.

Не подскажет ли кто-нибудь что делать?

Megatron_68
()
Ответ на: комментарий от Megatron_68

Тут два варианта.

1. Вкомпилить нужное в ядро ({*} в менюконфиге на нужное, самое простое и верное решение)

2. Собрать модулями. Это сложнее немного. В случае если собираем модулями, то надо установить в систему kmod (apt-get install kmod). modprobe/insmod приедут к нам оттуда. Далее скопировать на файловую систему модули (можно собрать deb, но это немного сложнее, описывать сейчас не буду, лень). После копирования либо depmod -aq, далее modprobe на нужный модуль. Либо insmod /путь/к/модулю.ko

ncrmnt ★★★★★
()
Последнее исправление: ncrmnt (всего исправлений: 1)
Ответ на: комментарий от ncrmnt

Сделал п.1 , камеры стали определяться, работу еще не проверил.

Пытаюсь сделать dhcp, меняю /etc/network/interfaces

iface eth0 inet dhcp

При перезагрузки он говорит

[....] Configuring network interfaces...Internet Systems Consortium DHCP Client 4.2.2 Copyright 2004-2011 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/

socket: Address family not supported by protocol - make sure CONFIG_PACKET (Packet socket) and CONFIG_FILTER (Socket Filtering) are enabled in your kernel configuration! Failed to bring up eth0. done.

Наверное где-то еще надо поменять? Может я зря удалил строки с адресом и маской? Если можно, подскажите мне с моими глупыми вопросами на предмет чисто линукса.

Megatron_68
()
Ответ на: комментарий от Megatron_68

Угу, в конфиге ядра вырубили зачем-то эти опции (или мы на какой-то стадии), в дефолтном конфиге CONFIG_PACKET вроде точно был.

Вот мой текущий конфиг ядра http://paste.debian.net/140882/ Чуть позже сам DHCP проверю. Для dhcp настройки интерфейса достаточно iface eth0 inet dhcp

ncrmnt ★★★★★
()
Последнее исправление: ncrmnt (всего исправлений: 1)
Ответ на: комментарий от ncrmnt

Спасибо, я поправил конфиг, используя Ваш образец, dhcp заработало.

Можно еще такой вопрос, мне нужно audio микрофон и линейный аналоговый выход. Как это можно сделать? Напрашивается USB-audio устройство, или же какой-то чип-переходник с SPDIF на аналоговое аудио. Вроде так? Если переходник с SPDIF то можете что-нибудь указать? А то я сходу не нашёл, а у вас на приёмниках эту проблему как-то наверное решали?

Megatron_68
()
Ответ на: комментарий от Megatron_68

SPDIF и I2S у нам в чипе только выход, соответственно на вход лучше любую USB audio карточку. Если не аудиофильствовать - сойдет любая китайская усб затычка на два бакса.

На тв-приставках там аудио только выход, через I2S кодек.

ncrmnt ★★★★★
()
Ответ на: комментарий от ncrmnt

Установил WinPCap, взял прошивку fw-debian-wheezy-3.10-ubifs-25082014, edcltool использую который в прошиве (джампер накинут, патчкорд соединен с хостом). Из командной строки перехожу в прошиву, пытаюсь выполнить edcltool -f eupgrade.edcl выдает следующее:

Loading edcl script: eupgrade.edcl Done with result 0 edcl_windows: didn't receive a packet edcl_windows: didn't receive a packet edcl_windows: didn't receive a packet edcl_init: Board not responding (Is it powered on?) edcl_init: Result too large

Что делаю не так?

p.s. Модуль запитан.

zhogar
() автор топика
Ответ на: комментарий от zhogar

1. Во-первых, win сборка _крайне_ экспериментальна, работает сильно медленнее linux'овой сборки. На чем-то позднее winxp надо ставить в настройках совместимость с winxp (иначе падает). Все руки не доходят вычистить win-сборку. Потому ей лучше не пользоваться без крайней необходимости, а воспользоваться линуксовой. Она так же сильно быстрее шьет.

2. Убедитесь что указываете нужный интерфейс через флажок -i. У винды очень странный способ нумерации интерфейсов. Список можно вывести по edcltool -l, через ключик -i указать нужный (номер интерфейса, '-i 0' например). По умолчанию оно использует нулевой интерфейс, который не всегда может оказаться физическим реально существующим интерфейсом.

3. После накидывания джампера и подачи питания лучше для верности жмягкнутьресет и убедиться, что диод состояния линка на ethernet разъеме загорелся. т.е. интерфейс поднялся.

ncrmnt ★★★★★
()
Последнее исправление: ncrmnt (всего исправлений: 2)
Ответ на: комментарий от ncrmnt

все интерфейсы перепробовал 0, 1 результат один. link нормально, на хосте адрес: 169.254.48.195, целевой адрес пингонуть не могу так-как из этой подсети не могу подобрать адрес устройства.

такое впечатление как будто или интерфейс не поднялся, или edcltool лагает.

Причем у меня 2 ваших модуля, и на обоих одно и тоже.

спасибо за внимание к вопросу.

zhogar
() автор топика
Ответ на: комментарий от zhogar

Попробуйте шить с linux хоста. IP адрес не имеет значения - там raw socket используется.

ncrmnt ★★★★★
()
Ответ на: комментарий от zhogar

Если перешивать загрузчик - либо jtag, либо edcl. edcl проще всего. Через jtag мы шили только через Realview ICE. Хотя в OpenOCD добавили поддержку нашего чипа, с OpenOCD процесс прошивки не тестировался никем, потому подсказать по этому делу ничего не могу.

Да, если win старше XP - пробуйте запускать с правами админа.

ncrmnt ★★★★★
()
Ответ на: комментарий от ncrmnt

под win7 пытаюсь собрать edcltool из репозитория, выполняю mingw32-make -f Makefile.mingw bundle консоль висит уже наверное минут сорок без отображения статуса компиляции. Что может быть?

zhogar
() автор топика
Ответ на: комментарий от zhogar

win-сборки делались на скорую руку через mingw напрямую из линукса, через VS и виндовый вариант mingw собирать не пробовали - соответственно там может быть что угодно.

Попробуйте лучше с debian/ubuntu или из под любого другого линукса. Там этих проблем обычно нет, это наиболее отлаженный и рекомендуемый флоу. В любом случае, работать со встраемым линуксом из windows - это путь с большим количеством нетривиальных граблей. Не сейчас - так потом.

ncrmnt ★★★★★
()
Последнее исправление: ncrmnt (всего исправлений: 2)
Ответ на: комментарий от ncrmnt

Ядро залил, но отображаться на ТВ не хочет, пишет «Режим не поддерживается». Т.е. я так понял проблемы с разрешением. Как быть?

zhogar
() автор топика
Ответ на: комментарий от zhogar

Другой возможности проверить нет.

zhogar
() автор топика
Ответ на: комментарий от zhogar

Взять прошивку от вчерашнего числа свежую, там этот баг поправили. По дефолту теперь 720p и идут два скрипта для прошивки. Выставлено так, что должно работать с большинством ящиков нормально.

eupgrade-hdmicon.edcl - консоль и бутлог на hdmi по дефолту

eupgrade-serialcon.edcl - консоль и бутлог на компорту.

ncrmnt ★★★★★
()
Последнее исправление: ncrmnt (всего исправлений: 2)
2 марта 2015 г.
Ответ на: комментарий от ncrmnt

Несколько вопросов

Я наверно не отношусь к целевой аудитории для данной платы, так как не разработчик и не автоматизатор, и не имею глубоких познаний в этой сфере. Но когда ещё доведётся поиграться с чем то подобным на отечественном чипе ))) Я бы хотел запустить на ней Raspbian с иксами и LXDE. Поймите правильно, я ничего не жду от этого устройство, просто хочется «поковырять». По случаю хотелось бы задать несколько вопросов:

1. Есть ли возможность запустить икс сервер на этом устройстве?

2. Из прочтённого я так понял что на оф сайте выложены адаптированные для этого устройства прошивки базовой Raspbian (без иксов). Чем отличаются эти адаптивные прошивки от оригинала? Оригинальный Raspbian запустится на устройстве?

3. Raspberry Pi умеет загружаться с SD флешки с записанным образом (http://www.raspberrypi.org/downloads/), это устройство может загрузиться с USB флешки?

Dimitriy
()
Ответ на: Несколько вопросов от Dimitriy

1. Есть ли возможность запустить икс сервер на этом устройстве?

Да, apt-get install xserver-xorg и все. Но ускорения отрисовки в иксах нет сейчас. Отсюда есть одно но. Иксовый fb рендерер артифачит если фреймбуфер 565. Это косяк откуда-то из недр иксов. fbturbo у меня пока не дошли руки попробовать.

2. Из прочтённого я так понял что на оф сайте выложены адаптированные для этого устройства прошивки базовой Raspbian (без иксов). Чем отличаются эти адаптивные прошивки от оригинала? Оригинальный Raspbian запустится на устройстве?

Прошивки - это минимальные образы raspbian и debian armel соответственно. С тх же репозиториями. Можно deboostrap'нуть их и самостоятельно. Вся адаптация заключается в том, что из коробки есть nmc-utils (для работы с нейроматриксом) и прописан адрес репозитория где nmc-utils и прочее опакечивается и обновляется.

raspbian/debian armel работать будут, надо только ядро подсунуть для MB77.07, разумеется.

3. Raspberry Pi умеет загружаться с SD флешки с записанным образом (http://www.raspberrypi.org/downloads/), это устройство может загрузиться с USB флешки?

Вполне. Самый простой вариант - ядро и dtb в NAND, корневая FS на усб флешке. Достаточно только вместо root=ubi... в bootargs выставить root=/dev/sda1. Хотя для разработке удобнее всего монтировать корень по NFS.

Если хотим ядро и dtb на флешке держать, то будет немного сложнее. Надо раздел на флешке создать с офсетом в ~10 мегабайт. Закинуть через dd на флешку ядро и dtb, запомнить офсеты, и грузиться с них. Если очень надо - у меня где-то был скрипт для этого.

ncrmnt ★★★★★
()
Ответ на: комментарий от ncrmnt

Но ускорения отрисовки в иксах нет сейчас.

А объективно, есть в планах доработка этого момента? Если да то в какой временной перспективе?

Dimitriy
()
Ответ на: комментарий от Dimitriy

Пока сказать не могу, т.к. есть более срочные задачи. Из ближайшего скоро будет бамп ядра на 3.18-3.19 версию, и пачка апдейтов для libeasynmc.

ncrmnt ★★★★★
()
19 мая 2015 г.
Ответ на: комментарий от ncrmnt

ttyS1

Подскажите пожалуйста что нужно сделать для работы ttyS1. Он открывается моей программой без всяких ругательств но ничего не передаёт.

Megatron_68
()
Ответ на: ttyS1 от Megatron_68

Там один из ttyS1/2 только RX часть. ЕМНИП ttyS2 половинчатый. Сам постараюсь потыкать в конце недели, и отпишусь.

ncrmnt ★★★★★
()
Ответ на: ttyS1 от Megatron_68

ttyS1

Прошу прощенья за ложную тревогу. Порт ttyS1 работает. У меня к нему подсоединён драйвер интерфейса RS485, и похоже уровни 3.3в ему не нравятся.

Megatron_68
()
Ответ на: комментарий от ncrmnt

Подскажите, пожалуйста, какая скорость на boot-консоле должна быть. Я вижу в minicom, что там что-то валится, но на любой скорости - это нечто нечленораздельное. Так же есть вопрос про default ip-адрес. Где-то я видел, что 192.168.0.7 - это так? Не могу сейчас найти ответа ни на первый ни на второй вопрос. сли есть дока, ткните, пожалуйста. Посмотрел две доки на сайте, там этого не написано. И еще вопрос, в комплекте странный кабель USB-4pin. Какая там распиновка? он предназначен, что бы на выход serial надеваться?

anonymous
()
Ответ на: комментарий от anonymous

Распиновку посмотрел сам, расковыряв кабель: черный - земля, белый - rx, зеленый - tx, красный - 5V

anonymous
()
Ответ на: комментарий от anonymous

Теперь перестало идти что-либо... Скажите, пожалуйста, может мне стоит ее прошить? Там должно быть что-то прошито изначально?

anonymous
()
Ответ на: комментарий от anonymous

38400 8n1

распиновка должна быть на бумажке в комплекте, от партии к партии может различаться. У тех, которые я помню - зеленый и белый - RX/TX, черный земля, красный - +5в

ncrmnt ★★★★★
()
Ответ на: комментарий от anonymous

Все, boot-консоль появилась. 38400, hardware flow-control: no, 8N1

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.