ESP32-С3 тоже RISC-V, а их уже давно массово самодельщики используют
Главное - как используют! Я не опущусь до уровня абдурины. А ESP32 до сих пор на уровне baremetal разве что светодиодиком помигать может… 20-ногий CH32V003 по пинам полностью соответствует STM8S003, а по мощам куда круче. Видимо, как его замену и разработали (я встречал в более свежих "вольтметрах" и т.п. с алиэкспресса уже CH32V003 вместо STM8). Однако, если сравнивать с STM32, то лучше уже брать, например, CH32V2xx и выше. Ну, у меня с ними получилось помигать диодиком и USART запустить, но с использованием асмового стартапа, что с интернетов скачал. А это - некошерно. Коль уж все исходники на сях, то и стартап обязан быть на С.
Цитата:
полностью программный
Это значит, что его нет! Да и реализовать CDC ногодрыгом… Тормоза же будут адовы! А аппаратный в легкую 6Мбит/с может, без особого напряга. А если взять пошустрей чип, а не на 72МГц, то и 12Мбит/с получится + кучу всего параллельно можно считать.
Помнится, кто-то на БХ сетовал, мол, почему калокубовский USB такой тормозной. Потом взял на проверку мою реализацию и реализацию COKPOWEHEU. И, ух ты! 12Мбод!!! (правда, на F103 12Мбод - все-таки миф, т.к. если с такой скоростью непрерывно поток в компьютер засылать, больше ни на что не останется ресурсов).
_________________ Windows must die! And the users of this crap should either become smarter or become janitors.
Это значит, что его нет! Да и реализовать CDC ногодрыгом… Тормоза же будут адовы!
Его не было бы, если бы CPU не успевал его обслуживать на 1.5 мегабитах, минимально необходимых для корректной работы USB. Но он успевает. И ссылку на исходники геймпада, мыши, клавиатуры и бутлоадера на нем я предоставил. Зря пытаетесь отрицать очевидное )))
А аппаратный в легкую 6Мбит/с может, без особого напряга.
Нет такого в стандарте. Есть Low-Speed 1.5 ± 1,5 %, потом Full-Speed 12 ± 0,25 %, потом High-Speed 480 ± 0,05 % и так далее. И если устройство работает не меньшей скорости, то это может приводить к проблемам в работе остальных устройств на этой же шине. Особенно изохронных.
Непонятно. Но ржавчина... Ужас! Зачем себя так насиловать? А вообще, если в коде поковыряться, видно вызовы каких-то сторонних методов. В общем, не видя исхдоников SDK, невозможно сказать, насколько она убога. Ну и, опять же, ethernet, bluetooth и wifi работать не будут.
Цитата:
И ссылку на исходники геймпада, мыши, клавиатуры и бутлоадера на нем я предоставил.
Как говорится: зачем нам экскаватор, если кайлом долбить веселей?
Цитата:
потом Full-Speed 12 ± 0,25 %
Вот, он самый. Но данные STM32F103 не успевает слать со скоростью больше 6Мбод, если нужно еще и что-то полезное делать. Даже при двойной буферизации. Другое дело - мелкие транзакции. Да, там честно 12Мбод.
Цитата:
Средства надо подбирать под задачу, а не наоборот!
Вот я и советую самый распространенный 40-рублевый микроконтроллер. С аппаратным USB. Ногодрыгом пусть абдуринщики занимаются.
_________________ Windows must die! And the users of this crap should either become smarter or become janitors.
Непонятно. Но ржавчина... Ужас! Зачем себя так насиловать?
Потому что как только начинаются сетевые сервисы, ручное управление памятью и владением наверняка будет содержать ошибки, которые тяжело локализовать. Если для сетевых сервисов под k8s я использую C#, Java или Go, то языки со сборкой мусора мне для встроенных систем совсем не по душе. Остается Ada и Rust. Последний сейчас более развит. Потому его и выбрал, несмотря на 40 лет опыта разработки на C/C++.
Ну и, опять же, ethernet, bluetooth и wifi работать не будут.
А почему у меня работают? Или Вы имели ввиду, что хотите собрать команду инженеров, потратить несколько лет и написать собственный низкоуровневый API для 802.11 и 802.15.1? По самым скромным оценкам, стоимость такой разработки, по опыту Espressif, будет в районе миллиона долларов США.
И ссылку на исходники геймпада, мыши, клавиатуры и бутлоадера на нем я предоставил.
Как говорится: зачем нам экскаватор, если кайлом долбить веселей?
Вообще-то наоборот. Если Вы не заметили, то в качестве экскаваторов всё чаще выступают программные решения, заменяющие аппаратные. Например, в RP2040 даже не стали делать CAN. Просто потому, что PIO легко позволяет реализовать его функционал, как и любого другого интерфейса подобного уровня сложности.
Вот, он самый. Но данные STM32F103 не успевает слать со скоростью больше 6Мбод, если нужно еще и что-то полезное делать.
Что ставит крест на полноценном использовании Full-Speed USB в STM32F103 в реальной жизни. У большинства чипсетов сейчас всего 3-4 USB шины. И выделять персональную шину под STM32F103 выглядит непозволительной роскошью. Вообще для меня странен интерес к STM32F103. Для DIY он сейчас занимает весьма узкую нишу между CH32V003 и RP2040. Причем последний всё сильнее поджимает его по цене, на порядок превосходя по возможностям.
Средства надо подбирать под задачу, а не наоборот!
Вот я и советую самый распространенный 40-рублевый микроконтроллер.
Вы советуете устаревший бесперспективный МК, рынок которого сужается с каждым днем, что я уже указал выше )))
linux_rulezz писал(а):
С аппаратным USB.
А клавиатурой Вы тоже пользуетесь чисто аппаратной, вроде EC 7927? Или переломили себя и перешли на современную, управляемую программно МК? ))) Монитор тоже у Вас чисто аппаратный ЭЛТ EGA без программного управления МК? ))) Неужели так трудно осознать, что программные решения куда более удобны в использовании, благодаря более простой поддержке и более низкой цене?
Простейший http-сервер - это три-пять страниц сишного кода! Понятно, если захочется уровень апача, то это жесть. Но для МК такого не нужно.
Цитата:
А почему у меня работают?
Потому что вы не пишете baremetal. А используете проприетарные закрытые блобы и убогие HAL'ы.
Цитата:
По самым скромным оценкам, стоимость такой разработки, по опыту Espressif, будет в районе миллиона долларов США.
Если бы все нужные спецификации были в открытом доступе, не бойтесь, буквально через 2-3 года появился бы свободный вариант.
Цитата:
в качестве экскаваторов всё чаще выступают программные решения, заменяющие аппаратные.
Это - некошерный, экстенсивный метод разработки. Нельзя так. Нужно по максимуму использовать аппаратные ресурсы МК. DMA, кстати, тоже.
Цитата:
PIO легко позволяет реализовать его функционал, как и любого другого интерфейса подобного уровня сложности
Софтовый CAN? Это уж вообще мужеложество какое-то!
Цитата:
странен интерес к STM32F103
Я его в основном рассматриваю как самый дешевый МК с CAN на борту (увы, там USB и CAN одновременно работать не могут, поэтому в таких случаях приходится брать F072 или F303).
Цитата:
устаревший бесперспективный МК
Китайцы еще лет 20 на нем будут всякие "ПЛК" и прочее шлепать. Например, клон FX3U. "Родная" прошивка там безобразная, поэтому я свою написал, чтобы хоть какое-то подобие конфетки из дерьма сделать. Но, увы, интерфейсы там не имеют гальваноразвязок, да и вообще с защитой плохо. Его можно только в некритичных узлах использовать, заранее сделав запас ЗИПа...
Цитата:
А клавиатурой Вы тоже пользуетесь чисто аппаратной
Какая мне разница, что там "под капотом"? Но, судя по разборке, таки там аппаратный USB. И свои HID я под STM32 разработал - тоже полностью аппаратные. За использование софтового USB при наличии аппаратного нужно бить морду! Как и за прочие извращения (например, я встречал софтовый I2C, когда на МК есть аппаратный!). Если разработчик не в силах освоить документацию (причем, на английском, а не китайском!), гнать его надо из профессии ссаными тряпками!
Цитата:
Неужели так трудно осознать, что программные решения куда более удобны в использовании, благодаря более простой поддержке и более низкой цене?
А потом из-за таких как вы, людям приходится покупать новый компьютер, т.к. на старом, видите ли, криворукий быдлокодер не осилил нормально браузер написать, чтобы тот не жрал гигабайты оперативки!
_________________ Windows must die! And the users of this crap should either become smarter or become janitors.
Простейший http-сервер - это три-пять страниц сишного кода!
Простейший http-сервер в ESP-IDF - это более трех тысяч строк сишного кода. Если у Вас на странице помещается от 600 до 1000 строк, то мне Вас жаль ))) И это только esp-idf/v5.2.2/components/esp_http_server, без TCP/IP стека. Покажите мне хотя бы аналог lwip на три-пять страниц сишного кода ))) Я даже не касаюсь реализации 802.11, которая и в сто страниц сишного кода вряд ли уложится )))
По самым скромным оценкам, стоимость такой разработки, по опыту Espressif, будет в районе миллиона долларов США.
Если бы все нужные спецификации были в открытом доступе, не бойтесь, буквально через 2-3 года появился бы свободный вариант.
Так они в свободном доступе. Например, идете сюда https://standards.ieee.org/ieee/802.11/7028/, жмете Purchase, На открывшейся странице видите "Available through the Reading Room". Спокойно жмете на PDF и получаете 80211-2020.pdf размером ~50МБ. Его внимательно и изучаете. )))
в качестве экскаваторов всё чаще выступают программные решения, заменяющие аппаратные.
Это - некошерный, экстенсивный метод разработки.
Во-первых, на кошерность наплевать всем, кроме ортодоксальных евреев, да и то не всех. Во-вторых, как Вы вообще представляете чисто аппаратную реализацию даже простейшего WiFi роутера? Даже каналы ввода вывода и стойки управления накопителями IBM 360 были реализованы во многом программно, а не аппаратно. Предлагаете всем вернуться в середину прошлого века? )))
Я его в основном рассматриваю как самый дешевый МК с CAN на борту (увы, там USB и CAN одновременно работать не могут, поэтому в таких случаях приходится брать F072 или F303).
А на RP2040 одновременно могут работать два CAN и USB. Причем практически не нагружая основные два ядра. )
Китайцы еще лет 20 на нем будут всякие "ПЛК" и прочее шлепать.
Партия сказала нет и все подчиняются. Точно не помню, но от ARM и прочих зарубежных лицензионных архитектур китайцы собрались отказаться уже примерно к 2030 году. Когда в ход вступает налоговая политика и господдержка, то бабло сразу всё решает )))
А клавиатурой Вы тоже пользуетесь чисто аппаратной
Какая мне разница, что там "под капотом"? Но, судя по разборке, таки там аппаратный USB.
А не факт. Судя по заявлениям Padauk, их OTP МК широко используются в клавиатурах и мышах, хотя реализация USB у них полностью программная ))) И это вполне логично, так как такие МК стоят в районе одного-двух центов, что совершенно не сравнимо со стоимостью МК с аппаратной реализацией USB.
Неужели так трудно осознать, что программные решения куда более удобны в использовании, благодаря более простой поддержке и более низкой цене?
А потом из-за таких как вы, людям приходится покупать новый компьютер, т.к. на старом, видите ли, криворукий быдлокодер не осилил нормально браузер написать, чтобы тот не жрал гигабайты оперативки!
Даже не касаясь того, что вне зависимости от браузера, тяжелый сайт на HTTP5, вроде Яндекс-Дзен, по любому потребует гигабайты оперативки, можно заметить, что браузеры при таком подходе для пользователя бесплатны, А вот если бы кто-то решил написать браузер на baremetal, то он стоил бы тогда для конечного пользователя больше хорошего игрового компьютера. Желающих тратить такие деньги на софт что-то не находится. ))) Не верите, напишите IEEEE 802.11, TCP/IP стек, HTTP/2, node.js, виртуальную машину для WebAssembly и браузер на baremetal. Даже если Вы молодой и богатый, то к тому времени, как Вы это напишете, оно просто никому уже не будет нужно, так как все эти стандарты к тому времени безнадежно устареют )))
Последний раз редактировалось ПростоНуб Чт окт 02, 2025 14:23:41, всего редактировалось 1 раз.
Мы про сервер говорили, а не стек TCP/IP! Если что, у меня есть пара железок, где вообще вместо веб-сервера запущен баш-скрипт, использующий netcat! Отправляет тебе статику, а ты как GET-запрос сделаешь, он отрабатывает. Что до lwip - да, очень жирная штука. Я и не пытаюсь пока на МК в сеть лезть! Как кто-нибудь напишет что-то более вменяемое, тогда welcome, как говорится. А пока - нафиг-нафиг!
Цитата:
написать свою реализацию
Я и не собираюсь. Достаточно тех, кто это может сделать. Я могу принять участие и какой-нибудь частью заняться, делая пулриквесты.
Хватит уже софт и хард путать! "Хардовой" реализации маршрутизаторов не существует. А вот "хардовая" реализация стека USB - есть. И грех ею не пользоваться, а выдумывать бредятину ногодрыгом!
Цитата:
Точно не помню, но от ARM и прочих зарубежных лицензионных архитектур китайцы собрались отказаться уже примерно к 2030 году
Не надо им верить: лет 20 назад они собирались полностью от маздая отказаться. И? Как куда ни глянешь - сплошной маздай-онли. Гребаные китайцы! Прибил бы сволочей! Есть же линукс!!!11 Зачем лизать задницу террористам, если можно и нужно свободным софтом пользоваться?
Цитата:
браузеры при таком подходе для пользователя бесплатны
Нет! Пользователь платит за них, покупая все более и более дорогие комплектующие. Иначе купил комп в 2000 году - и пользуйся, пока он вообще не сгниет..
Цитата:
node.js
Призываю расстреливать тех, кто этой парашей пользуется! Мало нам ублюдства в виде жабоскрипта в веб-страницах (вместо webassembly, например), так еще и находятся те, кто вместо С или С++ на КОМПЕ пытаются что-то на жабоскрипте писать…
_________________ Windows must die! And the users of this crap should either become smarter or become janitors.
А Вы видели где-то TCP/IP в baremetal? ))) Это даже не считая того, что я указал выше:
ПростоНуб писал(а):
Простейший http-сервер в ESP-IDF - это более трех тысяч строк сишного кода. Если у Вас на странице помещается от 600 до 1000 строк, то мне Вас жаль ))) И это только esp-idf/v5.2.2/components/esp_http_server, без TCP/IP стека.
Там описано всё, что необходимо для написания собственной реализации 802.11 на baremetal. Причем, есть даже open source реализации на baremetal. Наиболее живая, хоть и с кучей багов - https://github.com/open-sdr/openwifi Вот только необходимо применения Xilinx ZC702 или подобных ему FPGA. Вы действительно готовы вместо ESP32 за 130-140 рублей, но с проприетарной закрытой реализацией 802.11, использовать свободную реализацию на Xilinx ZC702+FMCOMMS2 или ему подобных за ~100 тыс. рублей? ))) Кто же у Ваc это купит?
А вот "хардовая" реализация стека USB - есть. И грех ею не пользоваться
То есть грех пользоваться принтером, если есть телеграфный аппарат РТА-80, реализованный полностью аппаратно на 561 серии? ))) Вы не поверите, но даже многие команды современных CPU реализованы программно на микрокоде. Вам это сильно мешает? И почему Вы тогда так восхваляете STM32 на проприетарном закрытом ARM, но хаете полностью открытый RISC-V? )))
Точно не помню, но от ARM и прочих зарубежных лицензионных архитектур китайцы собрались отказаться уже примерно к 2030 году
Не надо им верить: лет 20 назад они собирались полностью от маздая отказаться. И?
Китай запретил использование Windows на правительственных компьютерах в 2014 году, и теперь они используют в основном операционные системы на базе Linux. Microsoft в 2024 году получил лишь около 1,5% своих доходов в Китае.
браузеры при таком подходе для пользователя бесплатны
Нет! Пользователь платит за них, покупая все более и более дорогие комплектующие. Иначе купил комп в 2000 году - и пользуйся, пока он вообще не сгниет..
Но в результате это обходится ему на порядок, если не на два дешевле, чем если бы он покупал намного более дорогой и более оптимизированный софт.
Призываю расстреливать тех, кто этой парашей пользуется!
Начните с себя, так как даже видео в браузере без V8 Вы не смогли бы смотреть ))) Я уже молчу, что при прямой интерпретации js в браузере, большая часть современных веб-страниц либо открывалась бы по несколько минут, либо требовала аппаратных ресурсов на уровне топовых серверных CPU.
Карма: 38
Рейтинг сообщений: 268
Зарегистрирован: Пт сен 07, 2018 20:20:02 Сообщений: 2723 Откуда: деревня в Тульской губернии
Рейтинг сообщения:0 Медали: 1
А что поделать, если человек не может даже понять, что вообще МК появились на свет именно для того, чтобы решать программным путём то, что раньше решалось аппаратным? И эта тенденция просто развивается дальше. Потому что логичней вместо вороха специализированных блоков, половина из которых не используется в конкретных проектах, иметь несколько универсальных PIO со своим набором команд, ориентированным исключительно на произвольный ногодрыг, независимо от CPU и совместно с DMA. Хотим CAN - пожалуйста, ModBUS - пожалуйста, дополнительные USB, USART, SPI, I2C - тоже пожалуйста. И всё ничуть не хуже, чем в специализированном аппаратном блоке. Но зато без плясок с бубнами вокруг описанных и не описанных багов в ERRATA, так как любой баг исправляется обычной перепрошивкой.
В большинстве случаев специализированные микросхемы сами делаются на основе МК и/или ПЛИС. Только с масочным ПЗУ. Одно из направлений работы с МК это как раз и есть изготовление собственных спецмодулей на основе ограниченного набора "универсальных кристаллов" в виде хорошо изученных МК и с использованием освоенных средств разработки программ для них (IDE, компиляторы).
В большинстве случаев специализированные микросхемы сами делаются на основе МК и/или ПЛИС. Только с масочным ПЗУ.
В ряде случаев идут OTP. С одной стороны, это несколько увеличивает себестоимость, несмотря на то, прошивка выполняется автоматизированно. Но с другой стороны снижает потери при выявлении ошибок в прошивке, так как не требует никакого взаимодействия с поставщиком кристаллов. Еще в ряде случаев, особенно если прошивка достаточно большая, а целевой кристалл дорогой, используют флеш или, на компьютерах, оперативную память. Если заглянуть в linux в папку /lib/firmware, то там можно обнаружить порядка 500 МБ таких прошивок для самых разнообразных устройств. Начиная с GPU и заканчивая простейшими сетевыми адаптерами или USB устройствами. Одно время я повеселился, подбирая прошивку для обычного RTL8168, когда её неожиданно умудрились сломать в Ubuntu. То есть, ошибку свою через обновления они быстро поправили, а вот в ISO образе для установки она осталась. А без сетевого адаптера обновить систему было весьма проблематично.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения