LinuxCNC + Orange Pi (allwincnc)

Контроллеры, драйверы, датчики, управляющие устройства.
Аватара пользователя
donvictorio
Мастер
Сообщения: 2457
Зарегистрирован: 11 окт 2012, 16:26
Репутация: 683
Настоящее имя: Виктор
Откуда: Санкт-Петербург
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение donvictorio »

going писал(а):входит в пакет rt-tests
без нагрузки

Код: Выделить всё

policy: fifo: loadavg: 0.21 0.17 0.28 1/238 6794

T: 0 ( 6790) P:80 I:10000 C:    833 Min:      6 Act:    7 Avg:    8 Max:      18
T: 1 ( 6791) P:80 I:10500 C:    793 Min:      6 Act:   12 Avg:    8 Max:      26
T: 2 ( 6792) P:80 I:11000 C:    757 Min:      6 Act:    9 Avg:    8 Max:      16
T: 3 ( 6793) P:80 I:11500 C:    724 Min:      6 Act:    8 Avg:    8 Max:      18

с браузером и парой сайтов в процессе загрузки

Код: Выделить всё

policy: fifo: loadavg: 1.30 0.61 0.39 3/322 20361

T: 0 (20257) P:80 I:10000 C:   6301 Min:      6 Act:   29 Avg:   22 Max:     155
T: 1 (20258) P:80 I:10500 C:   6001 Min:      6 Act:   11 Avg:   22 Max:     145
T: 2 (20259) P:80 I:11000 C:   5728 Min:      6 Act:   27 Avg:   20 Max:     146
T: 3 (20260) P:80 I:11500 C:   5479 Min:      6 Act:   14 Avg:   21 Max:     133



частота 1296000


зы
по ходу обновлять ничо нельзя, сразу ломается lcnc.
Аватара пользователя
going
Мастер
Сообщения: 523
Зарегистрирован: 29 сен 2013, 20:55
Репутация: 129
Настоящее имя: Леонид
Откуда: г.Киров
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение going »

MX_Master писал(а):Как обычно, установка простой не бывает - https://github.com/mripard/sunxi-mali.
Дело не в процессе сборки и установки, там как раз всё расписано, скрипт для сборки имеется и скорее всего всё соберётся.
Дело в версиях библиотек. В какой среде и каким компилятором собирались эти библиотеки и какие у них версии????
Я давно отслеживаю эту тему, но с блобами даже попробовать не пытался.
На различных форумах почитал. Один соберёт и всё работает, выложит инструкцию. Другой следом собирает, а в ответ ошибки
при работе. Начинают разбираться, а ОС разные, библиотеки разные, версии ядер разные.
Пока перевожу буквари на родной и понятный, набираю критическую массу информации.

PS. Попробовать конечно можно, на что то подсказывает, что "хайли лакли но-чок"
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
going
Мастер
Сообщения: 523
Зарегистрирован: 29 сен 2013, 20:55
Репутация: 129
Настоящее имя: Леонид
Откуда: г.Киров
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение going »

donvictorio писал(а):с браузером и парой сайтов в процессе загрузки
Это на Н3 процессоре, я правильно понял?
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

going писал(а):Подход годится, а название меня запутало, пока в исходники не посмотрел.
Самое сложное в программировании - подбирать имена (: Думаю, arisc-api вполне подойдёт, ибо arisc-fw - это название самой прошивки.
going писал(а):Кстати, а чем firmware собирается, наверное не штатным gcc??
Если так, то сначала блоб собрать, а потом подсунуть при сборке uboot?
Отдельный toolchain - https://openrisc.io/newlib/. При сборке uboot подсовывать ничего не надо. Бинарник прошивки можно постфактум положить в папку /boot со скриптом для его загрузки https://github.com/orangecnc/h3_arisc_f ... /fixup.cmd
https://github.com/orangecnc/h3_arisc_f ... /fixup.scr
going писал(а):Я давно отслеживаю эту тему, но с блобами даже попробовать не пытался.
На различных форумах почитал. Один соберёт и всё работает, выложит инструкцию. Другой следом собирает, а в ответ ошибки
при работе. Начинают разбираться, а ОС разные, библиотеки разные, версии ядер разные.
Я тоже эти форумы читал и с первого раза завести это дело под свою платку получается далеко не у каждого. Чтобы досконально разобраться надо как минимум месяц детально изучать вопрос, проводя походу тесты. Желательно совместно, на каком-то едином образе и одинаковых платах.
Аватара пользователя
donvictorio
Мастер
Сообщения: 2457
Зарегистрирован: 11 окт 2012, 16:26
Репутация: 683
Настоящее имя: Виктор
Откуда: Санкт-Петербург
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение donvictorio »

going писал(а):
donvictorio писал(а):с браузером и парой сайтов в процессе загрузки
Это на Н3 процессоре, я правильно понял?
да, это opi pc, h3.

я так понимаю, что у нас сейчас в ветке 2 версии платы - one и pc. дистриб один. есть какое-то детальное howto, или где "те самые форумы " с инфой, что делать?
хочу gmocappy, но ему нужен видеочип (но это не точно, он пока никак не работает)
svb
Мастер
Сообщения: 312
Зарегистрирован: 10 апр 2018, 11:31
Репутация: 82
Настоящее имя: Сергей
Откуда: Нижний Новгород
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение svb »

going писал(а):
donvictorio писал(а):я всё пытаюсь выяснить, почему у меня отваливается lcnc. изредка запускается, но часто просто висит в процессах и на экране ничего не происходит. иногда даже счётчик латенси не запускается. в логах тишина.
Очень похоже на несоответствие версий библиотек, тех которые использовались при сборке Mashinekit и тех которые в данный момент в системе.
Сборка Debian Jessie, репозиторий apt MachineKit содержит необходимую версию для этого дистрибутива на данной платформе.
Платы: OPI-PC(умерла), OPI-PC2
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

donvictorio писал(а):есть какое-то детальное howto, или где "те самые форумы " с инфой, что делать?
хочу gmocappy, но ему нужен видеочип (но это не точно, он пока никак не работает)
Все хотят :P

Самое детальное описание есть прямо в репке с бинарниками - https://github.com/mripard/sunxi-mali

Все остальные советы и инструкции можно выцепить прямо с первой страницы гугла по запросу armbian mali
Аватара пользователя
going
Мастер
Сообщения: 523
Зарегистрирован: 29 сен 2013, 20:55
Репутация: 129
Настоящее имя: Леонид
Откуда: г.Киров
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение going »

svb писал(а):Сборка Debian Jessie, репозиторий apt MachineKit содержит необходимую версию
donvictorio писал(а):по ходу обновлять ничо нельзя, сразу ломается lcnc.
Похоже я понял суть проблемы.
1) Должна быть подключена репа MashineKit
2) Необходимо заморозить kernel & uboot для обновления.
1- проверяется стандартно.
2- Заморозить на уже собранной системе можно с помощю утилиты Армбиан:

sudo armbian-config

P.S. Похоже при обновлении ядро, с заменой предыдущего (РТ), обновилось до старшей версии.
Результат - плата работает, РТ приложения не запускаются, потому что привязаны к РТ ядру (зависят от него).
Почему логи пустые - вопрос к сборщикам MashineKit.

В системе сборки Armbian, в конфиге существует параметр:

Код: Выделить всё

BSPFREEZE="no"
HELP_BSPFREEZE="(<yes>/<no>)

	заморозить (из обновления) пакеты армбиан
	при создании образов (u-boot, kernel, dtb)"
Я думал, что эта заморозка самой системы сборки, чтобы не прыгать по версиям ядра, но
оказалось, что смысл другой. Заморозить (u-boot, kernel, dtb) на этапе сборки в будущей системе.
Тоесть система которую Вы собрали не будет обновлять uboot, kernel & dtb, что нам и требуется.
Этот параметр должен быть:

Код: Выделить всё

BSPFREEZE="yes"
Для того что бы частота была максимальной по умолчанию, необходимо
в файле .../userpatches/lib.config указать параметр

Код: Выделить всё

GOVERNOR="performance"
Даже в том случае если Вы указали его явно в конфиге ядра, система сборки Армбиан переопределит
этот параметр, на тот который указан по умолчанию внутри неё, а это "ondemend".
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
going
Мастер
Сообщения: 523
Зарегистрирован: 29 сен 2013, 20:55
Репутация: 129
Настоящее имя: Леонид
Откуда: г.Киров
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение going »

MX_Master писал(а):Чтобы досконально разобраться надо как минимум месяц детально изучать вопрос, проводя походу тесты. Желательно совместно,
Согласен.
Почему это не реализовано в ядре? Во первых лицензия. Во вторых, ядро Mali это просто аппаратно реализованный сопроцессор
для вычисления рендеринга векторной картинки который разработан партнёрами ARM.
Цитата: "Графический процессор Mali не имеет контроллеров дисплея, управляющих мониторами
(например, комбинация, часто встречающаяся в обычных видеокартах). Вместо этого это чистый 3D движок,
который делает графику в памяти и передаёт в руки изображения на другое ядро, которое его обрабатывает."
Шейдеры OpenGL ES, для того что бы они могли работать на сопроцессоре Mali, собираются своим компилятором.
Осюда блобы. Т.е. нельзя настроить сборку ядра из исходников в рамках одного процесса с одним компилятором.
Там применяется способ "нулевого копирования" между процессором и сопроцессором в общую память, в область оперативной памяти
строго определённую для этого. Как этот процесс будет влиять на РТ надо тестировать. С этим полностью согласен.

Что касается РТ, тесты показывают, что с РТ патчем и ядром v4.14.y латенси тест на процессорах Н3,Н5 ~ 150-450
(не патченные cyclictest показывает 1500 и больше).
Можно кончно побороться и немного улучшить, но.
Такую задержку показывают устаревшие оригинальные ядра без всяких патчей, а птченные ~50-80.
Это неудовлетворительный результат. По моим оценкам, читая буквари Allwiner, эти процессоры спокойно должны обеспечить ~10-15.
Поэтому я начал искать другой путь. И нашёл - это XENOMAI.
Провёл тест на ноутбуке (хотя х86 архитектура). С РТ патчем лучше чем 70-80 не получилось,
а XENOMAI сразу, без особых настроек, показал 15-25.

Выше я приводил тест с непатченным ядром v4.17.2 который оказался близким к оригинальным ядрам,
поэтом перешёл на эту версию, портировал XENOMAI IPIPE для этой версии ядра. Сегодня приступаю к процессу сборки.

Если где то заблуждаюсь, пожалуйста поправте.
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

going писал(а):Выше я приводил тест с непатченным ядром v4.17.2 который оказался близким к оригинальным ядрам,
поэтом перешёл на эту версию, портировал XENOMAI IPIPE для этой версии ядра. Сегодня приступаю к процессу сборки.
Очень интересно посмотреть на результаты. Ждём вестей (:

Кстати, если вся высокочастотная логика будет на плечах сопроцессора, то Latency выше 100 мкс - это не проблема.
Аватара пользователя
going
Мастер
Сообщения: 523
Зарегистрирован: 29 сен 2013, 20:55
Репутация: 129
Настоящее имя: Леонид
Откуда: г.Киров
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение going »

MX_Master писал(а):Кстати, если вся высокочастотная логика будет на плечах сопроцессора, то Latency выше 100 мкс - это не проблема.
Кстати, если не сложно можешь на родном языке написать как портировать этот код для других процессоров (Н5, А64) скажем в файлике README_RU
Наверное имеются данные которые брались из букварей Allwiner? И давно хотел спросить, не разбирался, что ARISC делает в оригинальных сборках??
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
ua3nbw
Кандидат
Сообщения: 44
Зарегистрирован: 18 окт 2017, 18:03
Репутация: 26
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение ua3nbw »

going писал(а):Поэтому я начал искать другой путь. И нашёл - это XENOMAI.
собирается для ARM на buildroot https://github.com/buildroot/buildroot
тут подробнее: http://orangepi.pp.ua/index.php/topic,863.30.html
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

going писал(а):Кстати, если не сложно можешь на родном языке написать как портировать этот код для других процессоров (Н5, А64) скажем в файлике README_RU
Наверное имеются данные которые брались из букварей Allwiner? И давно хотел спросить, не разбирался, что ARISC делает в оригинальных сборках??
Сопроцессор в оригинальных прошивках отвечает за энергосбережение, спящий режим и т.п. Исходников, стессна, нет. Поэтому народ уже скооперировался и пишет свою энергосберегающую прошивку - https://github.com/crust-firmware/crust. Подробнее о сопроцессоре - http://linux-sunxi.org/AR100

Чтобы портировать на другие похожие процы, надо в мануалах подсмотреть адрес блока регистров GPIO, адрес памяти SRAM A2 (куда заливается прошивка) и адрес регистра управления сопроцессором. Что касается A64/H5, адрес SRAM A2 там такой же как у H3. Где находятся регистры GPIO и регистры управления сопроцессором - не смотрел.
Аватара пользователя
going
Мастер
Сообщения: 523
Зарегистрирован: 29 сен 2013, 20:55
Репутация: 129
Настоящее имя: Леонид
Откуда: г.Киров
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение going »

ua3nbw писал(а):собирается для ARM на buildroot
Спасибо за ссылку, но armbian-build круче, если в ней разобраться.
Работает более чисто, чем buildroot и развивается очень быстро.
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
donvictorio
Мастер
Сообщения: 2457
Зарегистрирован: 11 окт 2012, 16:26
Репутация: 683
Настоящее имя: Виктор
Откуда: Санкт-Петербург
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение donvictorio »

итого что имеем:
нужно некое ядро, которое соберется на конкретной платке opi, скомпилить для него opengl, и сделать патч rt. получаем вполне работоспособную систему.
или не применять патч rt и ждать arisc прошивку и дрово в машинокит.
neller
Новичок
Сообщения: 24
Зарегистрирован: 17 апр 2018, 14:14
Репутация: 5
Настоящее имя: Alexey
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение neller »

Присоединяюсь к господину donvictorio, ошибки при перезапуске графических интерфейсов встречаются действительно часто, замечал на всех ранее выложенных образах. Я бы скинул ошибки, но почему-то в последнем образе не работает пароль 123456 для пользователя=(
Аватара пользователя
MX_Master
Мастер
Сообщения: 7488
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3113
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение MX_Master »

В разных образах разные пароли для юзера cnc - 123456, cnc.

При закрытии окна интерфейса в памяти ещё висят некоторые компоненты linuxcnc. Если сразу же запустить другой интерфейс - появится ошибка. Это характерно не только для linuxcnc. К примеру, у меня под виндой при закрытии браузера ещё секунд 10-15 висят в памяти его процессы. И если я сразу же попытаюсь открыть браузер снова, он тупо не откроется или вылетит какая-то ошибка. Так что, имейте ввиду.
svb
Мастер
Сообщения: 312
Зарегистрирован: 10 апр 2018, 11:31
Репутация: 82
Настоящее имя: Сергей
Откуда: Нижний Новгород
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение svb »

К вопросу о Gmoccapy и ошибках запуска - вот видео моей системы. Плата Orange Pi PC.
Часть 1. Включаю, грузимся в десктоп, открываю терминал, ставлю частоту проца, запускаю gmoccapy интерфейс - вуаля, все работает. Закрываю.
Часть 2. Запускаю Axis, тут же вырубаю через закрытие окна. Картинка на десктопе пропала, а процессы висят. Запускаю снова. Долго чухает, потом выдает простыню с ошибками.
Часть 3. Через терминал сбрасываю висящие процессы, запускаю снова - вуаля, все работает.
Часть 4. Мигаю светодиодиком из интерфейса Axis, диодик подключен через MCP23017 I2C extender.

https://www.youtube.com/watch?v=7NIbLdSlChY

P.S. Это "чистая", установленная с того самого образа из облака, система. Никаких правок не делано кроме добавления доп. конфига с поддержкой I2C (и соответственно включение I2C через armbian-config)
Платы: OPI-PC(умерла), OPI-PC2
Аватара пользователя
donvictorio
Мастер
Сообщения: 2457
Зарегистрирован: 11 окт 2012, 16:26
Репутация: 683
Настоящее имя: Виктор
Откуда: Санкт-Петербург
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение donvictorio »

выяснил, что кроме tkemc через rdp не запускается ни один интерфейс.
видимо связано с тем, что он отрисовывается на ноуте.
с монитором на opi запускаются норм но с паузой после закрытия.
svb
Мастер
Сообщения: 312
Зарегистрирован: 10 апр 2018, 11:31
Репутация: 82
Настоящее имя: Сергей
Откуда: Нижний Новгород
Контактная информация:

Re: LinuxCNC + Orange Pi

Сообщение svb »

donvictorio писал(а):выяснил, что кроме tkemc через rdp не запускается ни один интерфейс.
Да простит меня всесведущий All, но я слабо представляю, как рулить станком через RDP.
Одни задержки передачи чего стоят.
Платы: OPI-PC(умерла), OPI-PC2
Ответить

Вернуться в «Электроника»