• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Web-свалка на RTL871x

pvvx

Активный участник сообщества
Ну удержать hardlink'и - не трудно, если в принципе знать, что они есть (уже лет 20 как, если не больше) а что до WSL, то это штука новая, не везде доступная. У меня, к примеру, рабочий лэптоп на Win7, и я пока тратить 2-3 недели на переустановку всего, что мне нужно (в том числе и редко) на Win10 не готов, тем более, что эта деятельность ненавистна мне). Лично я предпочитаю нативные виндузовые средства разработки, если и портированные с *nix, то целиком, без костылей. Но бывает, что приходится пользоваться тем, что есть. При этом, я не помню, чтобы скорость сборки проекта была для меня когда-то узким местом.
Вы сами написали – “я пока тратить 2-3 недели на переустановку всего, что мне нужно (в том числе и редко) на Win10 не готов, тем более, что эта деятельность ненавистна мне”. Так-же и многим, при комплексной стыковке проектов и других случаях, ненавистно ждать пока там оно свариться, да ещё требует установки всяких левых прибамбасов. Если время сборки и заливки в железо изменений до 10 секунд, то это не раздражает при комплексной отладке/стыковке нескольких проектов... И что будет с проектом, использующим специфическое временное ПО, через несколько лет, при сопровождении ради внесения малого изменения? Будете пытаться на новую систему поставить что-то древнее и не совместимое с ней?
Поспрашивайте мнение о времени сборки у STM32CubeMX и Keil :)
А может поставим эксп на тему, сколько времени у вас уйдет на сборку простого проекта на MVS c её установкой и обновлением? Целый рабочий день или более, на чистом компе с уже установленной Win :)
Если проект рассчитан на WSL, то значит, что вам надо всего добавить в систему компилятор под данный проц и пересобрать проект написав строку сmake и/или make. :p
Вы наверно ещё не осознали, что WSL – это полная замена MSYS, minGW, Cygwin и прочих устаревших прибамбасов, которые уже не развиваются из-за вытеснения их WSL. Об этом уже свидетельствуют даты последних обновлений для этих костылей...
И т.к. на всех компах Windows уже имеет WSL, то установку каких-то отсебятенных фриковских прибамбасов в здравом уме уже никто не будет делать. Это ещё раз подтверждает, что ESP-IDF чисто фриковский проект.
 
Последнее редактирование:

sharikov

Active member
Если проект рассчитан на WSL, то
То я его отложу в сторону ввиду отсутствия у меня этой самой WSL.
Linux есть, Cygwin есть и даже ущербный MSYS есть а WSL нету.

И т.к. на всех компах Windows уже имеет WSL, то установку каких-то отсебятенных фриковских прибамбасов в здравом уме уже никто не будет делать. Это ещё раз подтверждает, что ESP-IDF чисто фриковский проект.
Искал WSL на Win7-64 не нашел, искал на Win7-32 - нет. Могу на XP и Vista поискать но подозреваю что и там нет.
 

pvvx

Активный участник сообщества
То я его отложу в сторону ввиду отсутствия у меня этой самой WSL.
Linux есть, Cygwin есть и даже ущербный MSYS есть а WSL нету.


Искал WSL на Win7-64 не нашел, искал на Win7-32 - нет. Могу на XP и Vista поискать но подозреваю что и там нет.
На DOS не пробовали?
И машина у вас на угле?
Нафига вы сунулись в WiFi-SoC, если есть только дубина и камень?
Вы противоречите сами себе - Linux у вас есть. Вот он и встроен в Windows, а не наоборот. :p
Программы вы пишите для пользователей или для машин? - У 99% пользователей Win и Android.
Из этого следует, что вы никогда не проверяете что написали. Тогда и всем пофиг вообще что там у вас. :p
ESP-IDF позиционируется для пользователей-обывателей. У них на сегодня Win10 и Android.
Т.е. ESP-IDF не тянет текущие условия, о чем и говорит её распространенность. На данном сайте её запустило от силы пару человек :)
И есть ещё мелкий нюанс:
Корпорация Microsoft позиционирует WSL в первую очередь как инструмент для разработчиков, веб-разработчиков и тех, кто работает над или с приложениями с открытым исходным кодом.
А не для некромансеров или занимающихся антиквариатом.
 
Последнее редактирование:

sharikov

Active member
ESP-IDF позиционируется для пользователей-обывателей. У них на сегодня Win10 и Android.
Позиционирование ESP-IDF вы сами выдумали. Он предназначен для разработчиков а обыватели ничего разрабатывать неспособны и ESP-IDF им без надобности.
Ни в установке ни в функционировании ESP-IDF нет ни малейших проблем: ставится по инструкции без каких либо проблем вообще. На linux естественно.

Вот с проблемами ставится EmbSysRegView на Eclipse Oxygen.2 но и его удалось руками приколотить.
 

pvvx

Активный участник сообщества
Позиционирование ESP-IDF вы сами выдумали. Он предназначен для разработчиков а обыватели ничего разрабатывать неспособны и ESP-IDF им без надобности.
Ни в установке ни в функционировании ESP-IDF нет ни малейших проблем: ставится по инструкции без каких либо проблем вообще. На linux естественно.

Вот с проблемами ставится EmbSysRegView на Eclipse Oxygen.2 но и его удалось руками приколотить.
Ну дык вопрос то поставлен - как запустить ESP-IDF на том, что можно купить в магазине. А в магазине ныне Win10 и Android.
Ничего дельного, как предложить установить на современный комп неработающий (с вылетами на многоядерных CPU и прочими отсутствующими поддержками современной комплектации компа) на нем GCC под Linux вы не смогли.
 
Последнее редактирование:

pvvx

Активный участник сообщества
и на windows естественно.
Вы от куда вылезли? На win оно ставиться с никчемными прибамбахами, типа MSYS2, когда достаточно встроенного WSL:
Снимок2.gif
Пример без прибамбахов в Windows и FAR...
@nikolz Тут вообще-то разговор идет о сборке проектов на том что актуально, например на Android.
Я хочу выведать, как лучше и проще строить среду сборки.
Пока для Web-свалки c RTL8710BN Windows надо установить:
1) gcc-arm-none-eabi-7-2017-q4-major-linux в WSL
2) Eclipse Cpp Oxygen под Windows
3) Склонировать с git проект и импортировать его в Eclipse.
Далее жмыкать менюшки в Eclipse - собрать, залить и т.д.
Можно обойтись и без Eclipse...
sharikov предлагает найти древний комп и установить на него Linux, естественно пересобрав за пару вечеров до красных глазок, потом уже пробовать набивать скрипты в командной строке для установки по типу ESP-IDF... Я пробовал этот метод на RPI - надо недели.

Так-же у нас тут на форуме есть пример Unofficial Developer Kit. На первых версиях, более 2-х лет назад, его можно было как-то использовать для большинства проектов. Но на сегодня он в состоянии только для сборки встроенного в него примера “hello world” и другая поддержка прекращена.

Аналогичная участь может постигнуть и MSYS2 и прочие самопальные костыли для Windows, что уже произошло с minGW и т.д. Часть из них стала платной или с обязательной регистрацией у авторов... Их уже не обновляют пару лет.

Актуальная версия MVS платная изначально и не каждый захочет с ней связываться.
На её установку уходит несколько часов скачиваний "обдейтов" c инет, прежде чем вы приступите к работе со своим проектом...

Ну и большинство проприетарного ПО типа CubeMX для STM, IAR, MPLAB IDE,... и прочих, спустя некоторое время не собирают старые проекты, требуя покупки новых версий, что проблему сборки старого проекта не решает :)
 
Последнее редактирование:

pvvx

Активный участник сообщества
Подключите пользователя к группе dialout и получите доступ к /dev/tty и не нужно админом сборку делать
Права доступа на COM-port (Прочитано 10793 раз)
И вопрос снова - куда в makefile впихнуть (и что?), чтобы автоматически сработал доступ к COM портам у пользователя.
Так тоже не очень:
echo 'KERNEL=="ttyS[0-9]*",MODE="0666"' | sudo tee '/etc/udev/rules.d/50-myusb.rules'
 
Последнее редактирование:

Алексей.

Active member
не зная особенностей wsl, я взялся давать советы, прошу прощения.
А на wsl есть ли systemd? можно было бы на старте выполнять chmod
 

pvvx

Активный участник сообщества
не зная особенностей wsl, я взялся давать советы, прошу прощения.
А на wsl есть ли systemd? можно было бы на старте выполнять chmod
При работающем WSL:
$ ls -l /dev/ttyS7
crw-r----- 1 root root 4, 71 Mar 17 15:37 /dev/ttyS7
$ sudo chmod a+rw /dev/ttyS7
...
$ ls -l /dev/ttyS7
crw-rw-rw- 1 root root 4, 71 Mar 17 16:26 /dev/ttyS7
Но повторный вход - всё с нуля. А ubuntu.exe или bash из Win входит каждый раз...
systemd есть, но что от неё?
Код:
$ systemd --help
systemd [OPTIONS...]

Starts up and maintains the system or user services.

  -h --help                      Show this help
     --test                      Determine startup sequence, dump it and exit
     --no-pager                  Do not pipe output into a pager
     --dump-configuration-items  Dump understood unit configuration items
     --unit=UNIT                 Set default unit
     --system                    Run a system instance, even if PID != 1
     --user                      Run a user instance
     --dump-core[=BOOL]          Dump core on crash
     --crash-vt=NR               Change to specified VT on crash
     --crash-reboot[=BOOL]       Reboot on crash
     --crash-shell[=BOOL]        Run shell on crash
     --confirm-spawn[=BOOL]      Ask for confirmation when spawning processes
     --show-status[=BOOL]        Show status updates on the console during bootup
     --log-target=TARGET         Set log target (console, journal, kmsg, journal-or-kmsg, null)
     --log-level=LEVEL           Set log level (debug, info, notice, warning, err, crit, alert, emerg)
     --log-color[=BOOL]          Highlight important log messages
     --log-location[=BOOL]       Include code location in log messages
     --default-standard-output=  Set default standard output for services
     --default-standard-error=   Set default standard error output for services
Ввести пароль в makefile - не очень то и катит. Пользователь его может и не знать :)

Ещё как пример, в windows строке:
Код:
E:\ESP32\esp-idf-template>ubuntu run ls -l /dev/ttyS7
crw-r----- 1 root root 4, 71 Mar 17 16:36 /dev/ttyS7
E:\ESP32\esp-idf-template>ubuntu run sudo chmod a+rw /dev/ttyS7
[sudo] password for user:
E:\ESP32\esp-idf-template>ubuntu run ls -l /dev/ttyS7
crw-r----- 1 root root 4, 71 Mar 17 16:37 /dev/ttyS7
Но если открыть другую сессию и держать открытой, то атрибуты будут удержаны для создаваемых запросов с других сессий...
 
Последнее редактирование:
Ну и большинство проприетарного ПО типа CubeMX для STM, IAR, MPLAB IDE,... и прочих, спустя некоторое время не собирают старые проекты, требуя покупки новых версий, что проблему сборки старого проекта не решает :)
MPLAB IDE - это только IDE, она ничего не собирает и бесплатна. Компиляторы разных версий прекрасно живут вместе, и если для старых проектов нужен старый, то им и собирать. А старые проекты новыми средствами могут не собираться вне зависимости от того проприетарные это средства или нет.
 

pvvx

Активный участник сообщества
MPLAB IDE - это только IDE, она ничего не собирает и бесплатна. Компиляторы разных версий прекрасно живут вместе, и если для старых проектов нужен старый, то им и собирать. А старые проекты новыми средствами могут не собираться вне зависимости от того проприетарные это средства или нет.
Не работают setup-ы компиляторов. Вылетают на инсталляции.
Так-же не работает регистрация - вылетает на протектед. Так что не стоит писать того, чего не знаете.
 

Алексей.

Active member
systemd есть, но что от неё?
systemd запускает службы (днмоны) и следит за их выполнением если это требуется, если искать что то похожее - то это будет SCM (Service Control Manager) на виндовс, вот я и думал на старте настроить systemd на запуск скрипта в котором будет выполняться chmod 666 /dev/tty*

С появлением WSL у меня сложилось мнение об изменении отношения руководства Микрософт к альтернативным ОС.

Когда я покупал последний раз бук, у меня остался от него ssd диск 128Г с установленной вин-10, я не торопился отказался от принятия лицензии, оставил прозапас. Сейчас попробую перенести на другой ssd 512Г чтоб рядом с вин-10 можно было бы установить убунту, 128Г уж очень мал. Хочу как и Вы поиграть в wsl :)
 
Последнее редактирование:

pvvx

Активный участник сообщества
systemd запускает службы (днмоны) и следит за их выполнением если это требуется, если искать что то похожее - то это будет SCM (Service Control Manager) на виндовс, вот я и думал на старте настроить systemd на запуск скрипта в котором будет выполняться chmod 666 /dev/tty*
Он не отрабатывает в WSL. Blockers for systemd? · Issue #994 · Microsoft/WSL
Другая система.
Варианта в WSL кроме как грубо патчить что-то у COM портов пока нет.
Данный вопрос актуален более полугода и объявлен не мной одним...
Проблем в том, что надо вводить пароль. Что совершенно не требуется при работе gcc и прочего.
Второстепенная часть, что настройки COM сбрасываются при закрытии и возобновлении сессии решается временным демоном, удерживающим аккаунт на время работы с COM... Но это всё кривизна.
Т.к. COM доступны из самой Win, а exe файлы Win и в самом WSL, то придется работать с COMn, а не /dev/ttySn
Т.е. например не python xxx.py -x /dev/tty... , а /mnt/c/Python27/python.exe xxx.py -x COMn ... прямо в sh (или makefile или командной строке ubuntu ) :)
"Смешались в кучу кони, люди, ..." (c) Лермонтов М. Ю
Со временем это наверняка исправят.
А пока приходится вводить chmod "число Дьявола", а в другом окне Windows запускать тот-же ESP-IDF c /dev/ttySn и прошивка работает...
 
Последнее редактирование:
Не работают setup-ы компиляторов. Вылетают на инсталляции.
Так-же не работает регистрация - вылетает на протектед.
Работают сетапы. И регистрация работает, во всяком случае, пиратская точно :) И для X серии и для picc HiTech, и для mcc18. Все работает.

Так что не стоит писать того, чего не знаете.
Вы же, зачем-то, пишете...
 

pvvx

Активный участник сообщества
Работают сетапы. И регистрация работает, во всяком случае, пиратская точно :) И для X серии и для picc HiTech, и для mcc18. Все работает.



Вы же, зачем-то, пишете...
Открываете страницу Embedded C Compilers and Tools for Software Development: HI-TECH Software
И наблюдаете ссылки в никуда, с последним оповещением от 2009-03-09.
Далее идете на ftp microchip и там качаете ВСЕ версии, затем запускаете по очереди и убеждаетесь в том, что часть из них уже не работает на Win10.
 

Алексей.

Active member
А пока приходится вводить chmod "число Дьявола", а в другом окне Windows запускать тот-же ESP-IDF c /dev/ttySn и прошивка работает...
для отладки приложения, которое требует прав суперпользователя, для gdb я в /etc/sudoers устанавливаю разрешение запуска sudo без запроса пароля
alex ALL=(ALL) NOPASSWD: /usr/bin/gdb
может поступить аналогичным образом, для make разрешить выполняться от суперпользователя без ввода пароля, тогда sudo make не будет запрашивать пароль.
 

pvvx

Активный участник сообщества
для отладки приложения, которое требует прав суперпользователя, для gdb я в /etc/sudoers устанавливаю разрешение запуска sudo без запроса пароля
alex ALL=(ALL) NOPASSWD: /usr/bin/gdb
может поступить аналогичным образом, для make разрешить выполняться от суперпользователя без ввода пароля, тогда sudo make не будет запрашивать пароль.
А как маску то задать в visudo для sudo chmod 666 /dev/ttyS[0...255] ?
Не так же оставлять:
user ALL=(ALL:ALL) NOPASSWD: ALL :)
(В винде убить /etc/sudoers невозможно - есть вход в каталог из windows и можно исправить в нем любую ляпу, по этому все эти атрибуты - чисто для Ubuntu, а не для "Проводника" в win :) )
Ну и ещё проблема в том, что устройств может быть пачка на разных COM... Не описывать же все ttyS0..255
----
Похоже, что выходит примерно такое:
username ALL=(ALL) NOPASSWD: /bin/chmod 666 /dev/ttyS[0-9]*
----
После правки и скрипта make
"c:\Users\user_name\Local Settings\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\user_name\esp\esp-idf\components\esptool_py\Makefile.projbuild"
или по Linux "~/esp/esp-idf/components/esptool_py/Makefile.projbuild" (вставки туда пачки [inline]@sudo chmod 666 $(ESPPORT)[/inline])
ESP-IDF заработал:
upload_2018-3-18_0-33-5.png

Т.е. и эта бяда временно решилась Notes on using Windows Subsystem for Linux with ESP-IDF - ESP32 Forum
И это ESP_Angus: Yes, MSYS2's additional layers to support *nix APIs on Windows causes us a big performance hit. The main impacts seem to be forking new processes and filesystem access. We've been looking for better solutions to this.
We've also noticed WSL is better but due to its filesystem translations it's not as fast as native Linux (or possibly even in Linux in a VM, depending.)

- не оправдалось.

Если взять 8 реальных ядер среднечастотного CPU на среднем по современным меркам компе (desktop 100%, Workstation 100%), то Win-WSL на HDD:

Make Clean:

real 0m0.847s
user 0m0.469s
sys 0m1.625s

Make All:

real 0m11.216s
user 1m3.156s
sys 0m53.391s

Make ALl(повтор):

real 0m0.494s
user 0m0.359s
sys 0m1.078s

(Стандартный проект esp-idf-template в Windows, ESP-IDF в WSL)
Но при установках по умолчанию и MSYS - валит за 2 минуты.
 
Последнее редактирование:
Открываете страницу Embedded C Compilers and Tools for Software Development: HI-TECH Software И наблюдаете ссылки в никуда, с последним оповещением от 2009-03-09.
Далее идете на ftp microchip и там качаете ВСЕ версии, затем запускаете по очереди и убеждаетесь в том, что часть из них уже не работает на Win10.
У меня они стоят и работают, мне не надо никуда ходить. На Win7, но, думаю, что и на Win10 будут. Впрочем, перенос проектов с HiTech на xc8 - не только не сложен, но и полезен. xc8 находит довольно нелепые ошибки, которые HiTech пропускал, вроде незакрытых комментариев. Не так давно, я даже HiTech 9.83 ставил, для совсем старого проекта, лет 12, наверное прошло, если не больше. Компилирует, и даже крак подходит по-прежнему. Хотя он-то, как раз, купленный был, даже CD болтается, вот только дисковод искать лень. И не надо посылать качать все версии, покажите ту одну, с которой у вас проблемы, не исключено, что они только у вас.
Код:
HI-TECH C Compiler for PIC10/12/16 MCUs  V9.83
Copyright (C) 2011 Microchip Technology Inc.
И последний их стоит
Код:
HI-TECH PICC COMPILER (Microchip PICmicro)  V9.60PL2
Copyright (C) 1984-2008 HI-TECH SOFTWARE
И xc8
Код:
 Directory of C:\Program Files (x86)\Microchip\xc8
06/21/2016  16:43    <DIR>          v1.37
09/24/2017  11:52    <DIR>          v1.44
И xc32 v1.31, v1.40 и v1.44.

И все они работают, даже
Код:
 C:\mcc18\bin>mcc18
Portions Copyright 1989, 1990  James  A.  Roskind
Usage: mcc18 [options] file [options]
Хотя, кажется, живых проектов на нем не осталось.
 
Сверху Снизу