ЧПУ контроллер на базе 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 в самой системе на плате выдаёт ошибки и вылетает.
Всё наоборот.
Аватара пользователя
going
Опытный
 
Сообщения: 176
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 49

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

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

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


Ключевое слово тут "patch.disabled" - он не рабочий.
Аватара пользователя
going
Опытный
 
Сообщения: 176
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 49

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
Мастер
 
Сообщения: 1686
Зарегистрирован: 27 июн 2015, 19:45
Откуда: недалеко от Aftaev City
Репутация: 760
Медальки:
Настоящее имя: Михаил

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

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

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


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

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

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

спасибо!
Аватара пользователя
going
Опытный
 
Сообщения: 176
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 49

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
Мастер
 
Сообщения: 1686
Зарегистрирован: 27 июн 2015, 19:45
Откуда: недалеко от Aftaev City
Репутация: 760
Медальки:
Настоящее имя: Михаил

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

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

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

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

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 пакет и установить штатным менеджером пакетов.
Аватара пользователя
going
Опытный
 
Сообщения: 176
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 49

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

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

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

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

А что делать!
Аватара пользователя
going
Опытный
 
Сообщения: 176
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 49

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 циклов
появляется то, что в видно в первом тесте.
ЧПУ контроллер на базе 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
Аватара пользователя
going
Опытный
 
Сообщения: 176
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 49

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
Мастер
 
Сообщения: 1686
Зарегистрирован: 27 июн 2015, 19:45
Откуда: недалеко от Aftaev City
Репутация: 760
Медальки:
Настоящее имя: Михаил

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

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

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

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

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

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

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

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

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

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
Мастер
 
Сообщения: 1686
Зарегистрирован: 27 июн 2015, 19:45
Откуда: недалеко от Aftaev City
Репутация: 760
Медальки:
Настоящее имя: Михаил

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

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

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

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

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:

ЧПУ контроллер на базе 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 режиме. Их и надо дорабатывать.
Аватара пользователя
going
Опытный
 
Сообщения: 176
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 49

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

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

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

Если не сложно, разверни мысль, когда она созреет.
Аватара пользователя
going
Опытный
 
Сообщения: 176
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 49

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
Мастер
 
Сообщения: 1686
Зарегистрирован: 27 июн 2015, 19:45
Откуда: недалеко от Aftaev City
Репутация: 760
Медальки:
Настоящее имя: Михаил

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

Попробуй сравнить полученные выхлопы.
Аватара пользователя
going
Опытный
 
Сообщения: 176
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 49

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

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

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

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

Извиняюсь. Прочитал бегло.
Образ выложили на DROPBOX и видимо временно открыли доступ.
Аватара пользователя
going
Опытный
 
Сообщения: 176
Зарегистрирован: 29 сен 2013, 20:55
Откуда: г.Киров
Репутация: 49

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

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

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

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

Пред.След.

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

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

Зарегистрированные пользователи: Ale2, Alex05, Alex2x, Argon-11, Bing [Bot], Сергей Саныч, Cvazist, dtblack, evgenkravtsov, frezeryga, geanet, Google [Bot], Google Feedfetcher, GRUserman, Hanter, kfz, Lafayette, Malyarka74, nevkon, Nixon, Nonstopich, nva-tuning, parlaq, Piligrym, PKM, Гагарин, Redmn, Rezus666, ruskama, sas_75, SeReGa Sh, sima8520, Smlua, Tonykei, ua3nbw, ultrus, Umnik, valera321, viael, vit_rus, Yahoo [Bot], Yandex [bot], Питерский, Валерий

Поделиться

Reputation System ©'