LinuxCNC + Orange Pi

Контроллеры, драйверы, датчики, управляющие устройства.

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение going » 09 окт 2017, 19:19

Начал тестировать openSUSE-42.2 c ядром 3.10.107-RTPREEMPT на Banana PI BPI-M64 is a quad-core 64 bit.
linaro toolchain gcc 6.3 собирает без ошибок и ядро работает, а gcc 4.8.5 в самой системе на плате выдаёт ошибки и вылетает.
Всё наоборот.
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
going
Мастер
 
Сообщения: 283
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 81

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение going » 09 окт 2017, 21:30

MX_Master писал(а):согласно RT патчу разворачивается в
https://github.com/armbian/build/blob/m ... led#L10287


Ключевое слово тут "patch.disabled" - он не рабочий.
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
going
Мастер
 
Сообщения: 283
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 81

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master » 09 окт 2017, 23:00

going писал(а):Ключевое слово тут "patch.disabled" - он не рабочий.

Здесь всё в порядке. По умолчанию, патч отключен, т.к. не всем юзерам он нужен. Если убрать ".disabled", как я и сделал, то патч при сборке используется.

Собрал сегодня ядро с CONFIG_SECURITY_APPARMOR=n, всё без ошибок. Но результаты cyclictest'a всё такие же - большие :hehehe: Вощем, Linux и OPi мне как бэ намекают, мол, обойдёшься без RT..
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 2723
Зарегистрирован: 27 июн 2015, 19:45
Откуда: форт Верный
Репутация: 1425
Медальки:
Настоящее имя: Михаил

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение going » 12 окт 2017, 07:49

MX_Master писал(а):Но результаты cyclictest'a всё такие же - большие


Если не сложно, покажи пожалуйста вывод:

cat /proc/{cmdline,version} на апельсинке.

И сколько в GigB весит среда сборки https://github.com/armbian/build/

спасибо!
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
going
Мастер
 
Сообщения: 283
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 81

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master » 12 окт 2017, 13:10

going писал(а):
MX_Master писал(а):Но результаты cyclictest'a всё такие же - большие

Если не сложно, покажи пожалуйста вывод:
cat /proc/{cmdline,version} на апельсинке.
И сколько в GigB весит среда сборки https://github.com/armbian/build/
спасибо!

По указанной ссылке рекомендуют не менее 20 Гб. И это правда. В начале я создал виртуальный диск объёмом 32 Гб. И этого было достаточно, чтобы собрать полный образ системы без экспериментов. А вот когда начал собирать разные версии ядра и всей системы, то стало понятно, что 32 Гб это мало. С лёгкими заморочками увеличил объём до 100 Гб, хотя 50-60 Гб вполне бы хватило.

Код: Выделить всёРазвернуть
master@orangepione:~$ cat /proc/cmdline
root=UUID=0070b9d8-7bfd-41cc-b7c9-7f64d565fe58 rootwait rootfstype=ext4 console=tty1 console=ttyS0,115200 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 panic=10 consoleblank=0 loglevel=1 ubootpart=c121f808-01 ubootsource=mmc usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u nohz_full=3 isolcpus=3 rcu_nocbs=3 rcu_nocb_poll selinux=0 audit=0 nowatchdog skew_tick=1   cgroup_enable=memory swapaccount=1

master@orangepione:~$ cat /proc/version
Linux version 3.4.113-rt143-sun8i (root@ubuntu) (gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) ) #18 SMP PREEMPT RT Tue Oct 10 07:28:43 +06 2017

Т.к. большими сборками занимаюсь впервые, в живую убедился, что под это дело лучше использовать отдельный SSD'шник. Ну и начинка ПК должна быть на высоте. Также должен быть широкополосный инет. А иначе всё это дело будет длится часами :hehehe:
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 2723
Зарегистрирован: 27 июн 2015, 19:45
Откуда: форт Верный
Репутация: 1425
Медальки:
Настоящее имя: Михаил

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение Argon-11 » 12 окт 2017, 13:16

MX_Master писал(а):начинка ПК должна быть на высоте

это точно, я ради этого на али взял популярную тогда мат.плату Huanan X79 с 8-ядерным 16-поточным Xeon-ом. Компиляция андроидных потрохов ускорилась раза в 4-6 по сравнению с прежним 4-ядерным xeon-ом на 775 сокете.
Аватара пользователя
Argon-11
Мастер
 
Сообщения: 802
Зарегистрирован: 07 июн 2017, 17:48
Репутация: 156

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение going » 12 окт 2017, 14:36

MX_Master писал(а):под это дело лучше использовать отдельный SSD'шник

У меня на BPI-M64 root раздел на SSD. Там же на отдельном разделе BUILD в котором планирую собирать rpm пакеты.
На флешке только загрузчик и fat раздел с ядрами, initrd, dtb, uEnv.txt.
Ядро и других тяжеловесов - кросс компиляция на i7.
Попробую сегодня собрать LCNC пакет и установить штатным менеджером пакетов.
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
going
Мастер
 
Сообщения: 283
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 81

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение going » 12 окт 2017, 14:47

MX_Master писал(а):не менее 20 Гб

Т.е скачивает скрипт около 10 Гиг.
Придётся подождать. У меня на сегодня 4 Гига осталось мобильного инета.
MX_Master писал(а):А иначе всё это дело будет длится часами

А что делать!
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
going
Мастер
 
Сообщения: 283
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 81

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение going » 12 окт 2017, 15:00

Кстати вот первые тесты:

Код: Выделить всёРазвернуть
kernel-3.10.107   openSUSE-42.2  BPI-M64

~> uname -a
Linux linux 3.10.107-2 #8 SMP PREEMPT Sun Aug 6 17:02:34 MSK 2017 aarch64 aarch64 aarch64 GNU/Linux

~/data/BUILD/rt-tests-1.0> sudo ./cyclictest -a -t -n -p99
root's password:
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 2.01 1.63 1.43 1/348 26462         
С нагрузкой на процессор:
T: 0 (26413) P:99 I:1000 C:  98452 Min:      5 Act:   19 Avg:187367895763518 Max:     -60
T: 1 (26414) P:99 I:1500 C:  65635 Min:      5 Act:   18 Avg:281050416297867 Max:     -65
T: 2 (26415) P:99 I:2000 C:  49218 Min:      5 Act:   18 Avg:   15 Max:    2207
T: 3 (26416) P:99 I:2500 C:  39382 Min:      5 Act:   16 Avg:   16 Max:     481

Без  нагрузки на процессор:
T: 0 (26539) P:99 I:1000 C:  33282 Min:     12 Act:   21 Avg:   18 Max:     191
T: 1 (26540) P:99 I:1500 C:  22190 Min:     12 Act:   14 Avg:   18 Max:     134
T: 2 (26541) P:99 I:2000 C:  16643 Min:     13 Act:   14 Avg:   19 Max:      91
T: 3 (26542) P:99 I:2500 C:  13314 Min:     12 Act:   18 Avg:   18 Max:      87

~> uname -a
Linux linux 3.10.107-rt122 #2 SMP PREEMPT Mon Aug 28 14:43:28 MSK 2017 aarch64 aarch64 aarch64 GNU/Linux

С нагрузкой на процессор:
операции чтения-записи на диск,скачивание пакетов и установка.

BUILD/rt-tests-1.0> sudo ./cyclictest -a -t -n -p99
# /dev/cpu_dma_latency set to 0us

policy: fifo: loadavg: 2.13 1.66 0.98 1/337 2132           

T: 0 ( 1835) P:99 I:1000 C: 388657 Min:      5 Act:    6 Avg:   10 Max:    1971
T: 1 ( 1836) P:99 I:1500 C: 259070 Min:      5 Act:    6 Avg:    9 Max:    7929
T: 2 ( 1837) P:99 I:2000 C: 194325 Min:      5 Act:    6 Avg:    8 Max:    5706
T: 3 ( 1838) P:99 I:2500 C: 155443 Min:      5 Act:    6 Avg:   11 Max:    7850

на выделенном ядре (isolcpus=3)

BUILD/rt-tests-1.0 # taskset -c 3 ./cyclictest -a -t -n -p99
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 2.04 2.06 1.48 2/383 7501           

T: 0 ( 7301) P:99 I:1000 C: 380957 Min:      6 Act:   10 Avg:   11 Max:     488
T: 1 ( 7302) P:99 I:1500 C: 253971 Min:      6 Act:    8 Avg:   12 Max:     882
T: 2 ( 7303) P:99 I:2000 C: 190478 Min:      6 Act:   24 Avg:   13 Max:     192
T: 3 ( 7304) P:99 I:2500 C: 152383 Min:      6 Act:   43 Avg:   10 Max:     247

Без  нагрузки на процессор:

работает cyclictest (на 1-м ядре 95%-загрузки)
~/data/BUILD/rt-tests-1.0> sudo ./cyclictest -a -t -n -p99
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 2.97 3.97 3.11 2/311 2928         

T: 0 ( 2924) P:99 I:1000 C:  67219 Min:      6 Act:   14 Avg:    9 Max:     205
T: 1 ( 2925) P:99 I:1500 C:  44813 Min:      6 Act:    7 Avg:    8 Max:     326
T: 2 ( 2926) P:99 I:2000 C:  33610 Min:      6 Act:    7 Avg:    8 Max:     384
T: 3 ( 2927) P:99 I:2500 C:  26888 Min:      6 Act:    8 Avg:    8 Max:     184

короткий промежуток времени
BUILD/rt-tests-1.0 # ./cyclictest -a -t -n -p99
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 1.44 1.33 0.88 1/314 1971         

T: 0 ( 1968) P:99 I:1000 C:  81089 Min:      6 Act:    6 Avg:    7 Max:     136
T: 1 ( 1969) P:99 I:1500 C:  54059 Min:      6 Act:    6 Avg:    8 Max:      64
T: 2 ( 1970) P:99 I:2000 C:  40544 Min:      6 Act:    7 Avg:    8 Max:      66
T: 3 ( 1971) P:99 I:2500 C:  32435 Min:      5 Act:    6 Avg:    6 Max:      45





Если нагрузить видео систему glxgears то в любых вариациях через 60000-140000 циклов
появляется то, что в видно в первом тесте.
LinuxCNC + Orange Pi glxgears_на_BPI-M64.png


Кто подскажет, что эти цифры означают?
С нагрузкой на процессор:
T: 0 (26413) P:99 I:1000 C: 98452 Min: 5 Act: 19 Avg:187367895763518 Max: -60
T: 1 (26414) P:99 I:1500 C: 65635 Min: 5 Act: 18 Avg:281050416297867 Max: -65
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
going
Мастер
 
Сообщения: 283
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 81

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master » 12 окт 2017, 15:24

going писал(а):Попробую сегодня собрать LCNC пакет и установить штатным менеджером пакетов.

Я этого не делаю, т.к. без RT будет только симуляция. Реально поработать не удастся.

going писал(а):Кстати вот первые тесты:

У меня такие же числа, и с RT патчем и без него.

Argon-11 писал(а):это точно, я ради этого на али взял популярную тогда мат.плату Huanan X79 с 8-ядерным 16-поточным Xeon-ом

на какие только траты не пойдёшь, чтобы заставить работать бюджетный одноплатник :hehehe:

going писал(а):Кто подскажет, что эти цифры означают?
С нагрузкой на процессор:
T: 0 (26413) P:99 I:1000 C: 98452 Min: 5 Act: 19 Avg:187367895763518 Max: -60
T: 1 (26414) P:99 I:1500 C: 65635 Min: 5 Act: 18 Avg:281050416297867 Max: -65

минус - это явно переполнение максимального значения
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 2723
Зарегистрирован: 27 июн 2015, 19:45
Откуда: форт Верный
Репутация: 1425
Медальки:
Настоящее имя: Михаил

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master » 12 окт 2017, 15:47

Может кто знает, есть ли другие готовые RT системы, которые можно поставить на ARM железо?

Может есть что-то более специализированное, чем Linux общего назначения?
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 2723
Зарегистрирован: 27 июн 2015, 19:45
Откуда: форт Верный
Репутация: 1425
Медальки:
Настоящее имя: Михаил

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение going » 12 окт 2017, 16:02

MX_Master писал(а):Может есть что-то более специализированное, чем Linux общего назначения?
Изображение

FreeRTOS, QNX - но как их запилить на апельсин и банан? Я не знаю.

QNX 4 года назд ставил на х86 машинку. Работало замечательно. Эксперимент однако.
Сейчас поддерживается 2 или 3 ARM процессора. Но это наверно дорогой вариант.
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
going
Мастер
 
Сообщения: 283
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 81

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master » 12 окт 2017, 19:08

Просмотрел инфу по RT осям. Чтобы сделать порт под апельсин хотя бы одной, уйдёт больше времени, чем настройка RT в текущей системе. Вощем, будем держать это в голове просто как идею.

Посмотрел интернетов на предмет RT тестов на малине. И тут меня посетили смутные сомнения.. А правильно ли я запускаю RT тест на апельсине? На одной из страниц я увидел, что под первую малину человек запускал тест вот с такими параметрами

sudo cyclictest -m -t1 -p 80 -n -i 500 -l 100000

Я решил попробовать, нагрузив систему также как проверял до этого. Изменив пару параметров и запустив тест, я увидел, что последний столбец (Max Latency) стал выглядеть иначе

Код: Выделить всёРазвернуть
master@orangepione:~/rt-tests$ sudo ./cyclictest -m -t4 -p 80 -n -i 500 -l 1000000
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 2.46 1.56 0.66 1/293 4110           

T: 0 ( 3498) P:80 I:500 C: 335436 Min:      8 Act:   27 Avg:   24 Max:     235
T: 1 ( 3499) P:80 I:1000 C: 167700 Min:      7 Act:   32 Avg:   27 Max:     158
T: 2 ( 3500) P:80 I:1500 C: 111787 Min:      8 Act:   27 Avg:   24 Max:     128
T: 3 ( 3501) P:80 I:2000 C:  83830 Min:      7 Act:   32 Avg:   25 Max:     150

Пожалуй, надо изучить параметры cyclictest получше. А, может, и вовсе опробовать другие тесты. Можно, кстати, заюзать latency test от LinuxCNC..
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 2723
Зарегистрирован: 27 июн 2015, 19:45
Откуда: форт Верный
Репутация: 1425
Медальки:
Настоящее имя: Михаил

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение muxa » 12 окт 2017, 19:25

MX_Master писал(а): есть ли другие готовые RT системы, которые можно поставить на ARM железо?

xenomai
muxa
Мастер
 
Сообщения: 221
Зарегистрирован: 15 мар 2012, 12:29
Репутация: 22

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение going » 13 окт 2017, 07:53

MX_Master писал(а):Можно, кстати, заюзать latency test от LinuxCNC..


Вот провёл сравнение тестов.
Платформа - ноутбук, i3, SSD, openSUSE-13.2 kernel-4.1.10-rt100.9:

LinuxCNC + Orange Pi latensy_test.png


В обоих тестах одинаковый результат 50us

PS: Похоже я понял в чём причина.
У меня на BPI-M64 крутится ядро linux-sunxi, которое я сначала поднял до версии 3.10.107
а потом наложил патч rt https://www.kernel.org/pub/linux/kernel ... s/rt/3.10/
Но, если внимательно посмотреть на имена файлов, которые изменяет этот патч с именами файлов,
которые добавили\ изменили программисты sanxi, становится понятно - некоторые части ядра
не работают в RT режиме. Их и надо дорабатывать.
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
going
Мастер
 
Сообщения: 283
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 81

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение going » 13 окт 2017, 08:29

MX_Master писал(а):Просмотрел инфу по RT осям. Чтобы сделать порт под апельсин хотя бы одной

Если не сложно, разверни мысль, когда она созреет.
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
going
Мастер
 
Сообщения: 283
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 81

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение MX_Master » 13 окт 2017, 09:01

Ранее arkhnchul говорил, что на станочном одноплатнике apparmor будет лишним. Я тогда не придал этому значения, просто отключил apparmor. Но, что если нам действительно убрать весь обвес общего назначения системы, оставив только нужное? Я уверен, что и RT на обезжиренной системе можно поднять быстрее (предположение). В крайнем случае, можно сделать пару своих патчей системы для убыстрения и распределения каких-то действий.

Поинтересовался этим вопросом в интернетах. И первое, что нашлось это http://tinycorelinux.net. И кто-то на их форуме уже делал мини сборочку под Orange Pi (H3) - http://forum.tinycorelinux.net/index.php?topic=20394.0. Жаль, только образ не сохранился по ссылке.

тины кор :hehehe:
https://www.youtube.com/watch?v=eXlHgZEBNMM

Что-то мне подсказывает, что таких мини Linux систем есть больше, чем одна. А для станочной ОС нам как раз минимум и нужен..
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 2723
Зарегистрирован: 27 июн 2015, 19:45
Откуда: форт Верный
Репутация: 1425
Медальки:
Настоящее имя: Михаил

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение going » 13 окт 2017, 10:45

MX_Master писал(а):Жаль, только образ не сохранился по ссылке.

Толку от образа не будет. Он под х86 архитектуру.
Я тестировал в 2009г. целый ряд таких дистров. Чудесная штука.
Вся система при загрузке заливается сразу в оперативку, что актуально при использовании только флешки.
На работе даже древний комп с 125М оперативки и 486 проц. летал пользы для, пока новый не прислали.
Но придётся всё портировать на ARM v7 end aarh64, а это слишком много работы.
Проще сделать встраиваемую минимальную систему из уже готовых пакетов.
Собирать только необходимое (libmodbus, linuxcnc, и др. чего не хватает).
Дистр. получится не более 500 Мб.

Но сначала ядро.

Код: Выделить всёРазвернуть
cat kernel-config | grep -i sunxi >file_config
cat rt.path | grep "/a" | grep sunxi>file_rt_path      # "/a" нужен шаблон который выведет только строки с именем
изменяемого файла

A=linux-3.4.39   # kernel.org
B=linux-sunxi     #kernel sunxi без RT
diff -q -r --exclude=.gitignore --exclude=.directory $A/ $B/ | grep sunxi >file_diff_kernel

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

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение going » 13 окт 2017, 12:34

MX_Master писал(а): уже делал мини сборочку под Orange Pi (H3)

going писал(а):Толку от образа не будет. Он под х86 архитектуру.

Извиняюсь. Прочитал бегло.
Образ выложили на DROPBOX и видимо временно открыли доступ.
Платы: BPI-M3, BPI-A64, OPI-PC2
Аватара пользователя
going
Мастер
 
Сообщения: 283
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 81

Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi

Сообщение UAVpilot » 13 окт 2017, 14:03

MX_Master писал(а):Я уверен, что и RT на обезжиренной системе можно поднять быстрее (предположение).

Неправильное предположение. В современных ядрах те части, которые не нужны/не работают из ресурсов требуют фактически только место на диске.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 16162
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 3940
Медальки:
Настоящее имя: Сергей

Пред.След.

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

Кто сейчас на конференции

Зарегистрированные пользователи: aka, AlexM-Tomsk, artmec, Barbossa, Bing [Bot], Сергей Саныч, german, Google [Bot], Lafayette, metel.alexey, mhael, michael-yurov, nevkon, NickSon, nik1, putnik, sashaK, sazn86, scroober, shtanc, svb, SVP, Taganrog, tbc, tehnic, UAVpilot, Uda4LIVEc, vala, vladumur, vovafed, Yandex [bot], Квадрат

Поделиться

Reputation System ©'