Как-то совсем незаметно прошло очень важное изменение от ST. Теперь в CubeMX 6.15.0 есть полная поддержка
Для меня это крайне хорошая новость, т.к. теперь можно использовать всю инфраструктуру
Я не успел ещё протестировать
Это происходит потому, что в файле
В любом случае, проблему наверняка скоро поправят. А я думаю о том, чтобы написать третью статью из серии про работу с STM - в этот раз с акцентом на
CMake toolchain. То есть теперь при выборе Toolchain/IDE -> CMake ниже появится новый пункт Default Compiler/Linker, и там можно выбрать между GCC и Starm-Clang.Для меня это крайне хорошая новость, т.к. теперь можно использовать всю инфраструктуру
clang без необходимости думать о том, как подружить clangd со специфическими GCC-макросами. Наконец-то на контроллерах можно работать с единой экосистемой.Я не успел ещё протестировать
Starm-Clang, зато в старом конфиге (с GCC), что-то идет не по плану и обновление ломает генерацию кода. Если воспользоваться инструкцией из моей статьи, то код просто не будет собираться, с ошибками вроде:error: implicit declaration of function ‘__LDREXW’
error: implicit declaration of function ‘__STREXW’
Это происходит потому, что в файле
CMakeLists.txt не появилась очень нужная там строка:# Include toolchain file
include("cmake/gcc-arm-none-eabi.cmake")
14 и 15 строки содержат два \n - как будто эти строки должны были появиться между ними, но что-то пошло не так.В любом случае, проблему наверняка скоро поправят. А я думаю о том, чтобы написать третью статью из серии про работу с STM - в этот раз с акцентом на
CMake toolchain и более глубокой настройкой clangd и clang-format.❤11👍10
Я тут наткнулся на хакатон, для получения инвайта на который необходимо решить серию из 3х квестов. Сам он проходит под Берлином и скорее всего для вас инвайт не будет иметь ценности. Но сами квесты достатчно интересные и у меня решение заняло 3 часа. Так что если сегодня вечером вам нечем занятся, попробуйте себя в решении.
root-access-hackathon.lovable.app
retro-root-access-abenteuer
Lovable Generated Project
🤔3👍1🔥1
Что-то давно не было постов. Нужно исправлять.
Буквально на днях произошол очередной "инфобез момент". На этот раз, он не связан с хардварой, но от этого нечуть не менее потешный. Сейчас шкварится компания ESET. Они нашли первый в истории самовайбкоденый вирус. Идея в том что кто-ко завайбкодил вирус (на go) внутри которого есть шаблон lua скрипта и попадая к жертве данный вирус скачивает и запускает локально gpt-oss-20b и эта модель продолжает вайбкодить данный щаблон. Получается мето вайбкодинг.
Что делает эту ситуацию еще более забавной? Этого вируса не существует. Буквально. Есть только скрины ресерчера из ESET в твитере, скачать его подезасемблить и самим посмотерть нальзя. Зато есть его автор, которому мы конечно-же верим.
Это еще самое веселое. На сколько вообще тяжёлая gpt-oss:20b? Сами веса весят около 16 гигов и еще столько-же нужно видеопамяти. А наскольно быстро оно работает? на 5090 вроде ок, также на ноутах с 16gb VRAM обещают 15-25 токенов в секунду, а на Apple Silicon Macs with M2 Pro 20-30 токенов. На обычном компе буде 1-0.5 токенов в секунду, а я напоминаю что 1 слово это, в среднем, 1-2 токена.
И того, вирус попадая к вам сначала скачает 16 гигов с интернета, а потом загрузит вашу 5090 под 100 процентов чтобы самозавайбкодится. Вообщем будьте осторожны и тчательно следите за уровнем загрузки ваших RTX5090.
Буквально на днях произошол очередной "инфобез момент". На этот раз, он не связан с хардварой, но от этого нечуть не менее потешный. Сейчас шкварится компания ESET. Они нашли первый в истории самовайбкоденый вирус. Идея в том что кто-ко завайбкодил вирус (на go) внутри которого есть шаблон lua скрипта и попадая к жертве данный вирус скачивает и запускает локально gpt-oss-20b и эта модель продолжает вайбкодить данный щаблон. Получается мето вайбкодинг.
Что делает эту ситуацию еще более забавной? Этого вируса не существует. Буквально. Есть только скрины ресерчера из ESET в твитере, скачать его подезасемблить и самим посмотерть нальзя. Зато есть его автор, которому мы конечно-же верим.
Это еще самое веселое. На сколько вообще тяжёлая gpt-oss:20b? Сами веса весят около 16 гигов и еще столько-же нужно видеопамяти. А наскольно быстро оно работает? на 5090 вроде ок, также на ноутах с 16gb VRAM обещают 15-25 токенов в секунду, а на Apple Silicon Macs with M2 Pro 20-30 токенов. На обычном компе буде 1-0.5 токенов в секунду, а я напоминаю что 1 слово это, в среднем, 1-2 токена.
И того, вирус попадая к вам сначала скачает 16 гигов с интернета, а потом загрузит вашу 5090 под 100 процентов чтобы самозавайбкодится. Вообщем будьте осторожны и тчательно следите за уровнем загрузки ваших RTX5090.
😁16🌚5
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня я расскажу, почему покупка Qualcomm Arduino ни на что не повлияет. И почему сама Arduino как концепция мертва уже лет 10, а сделать экзит с деньгами - лучшее, что руководитель мог сделать в своей ситуации.
Во-первых, вспомним, что было в самом начале. Arduino взлетела как удачный форм-фактор: вы могли быстро писать скетчи, не лезя сразу в чистый C или ASM. При этом авторы хоть сколько-нибудь сложных библиотек всё равно опускались на низкий уровень и мешали высокоуровневый код с С/ASM, как, например, тут. Это ужасно с точки зрения чистоты кода: библиотеки превращаются в свалку из миллионов
Что происходило дальше? Партнёрство с Intel (2013–2017). Немногие вспомнят такие платы, как Arduino 101 (2015-2016), а также попытки в Arduino с Linux - Intel Edison (2014-2017) и Intel Galileo (2013–2015). Где они сейчас? Проблема была в том, что Intel обеспечила поддержку базовых ардуиновских функций, но внутрь платформы лезть было трудно: отсутствовала документация и примеры и ни кто этим не стал занимался. Не помогло даже то, что Edison раздавали пачками - у меня было 5 или 6 отладочных плат.
Спустя ещё несколько лет началась активная диверсификация (2018): стали появляться новые платы. Например, Arduino с FPGA - MKR Vidor 4000 (2018), Arduino с NB-IoT - MKR NB 1500 (2018), "промышленный" контроллер - Opta (2022). Особо никто не знает и не видел - и причина та же: хреновая поддержка по верхам и игнорирование потребностей энтузиастов на низком уровне (инструменты, драйверы, документация, отладка).
Последний по-настоящему массовый продукт - Arduino UNO R4 (2023). Можно наивно предположить, что по USB там есть встроенный отладчик, как на многих нормальных девбордах, но нет. Видимо отладка слишком сложна для пользователя. Если у Minima хотя бы есть разъём под JTAG, то у версии WiFi он вообще не выведен. Да, можно закостылить ESP32 как CMSIS-DAP, но что делать, если я хочу отлаживать код вместе с Wi-Fi-частью?
И вот мы в текущем дне: Arduino UNO Q (2025). Супер-переусложнённая плата с большими вопросами по поддержке. Работает как макбук: можно вешать Type-C-хаб для вывода видео и подключения периферии, все в одном type C. Прогрессивно, но что с низким уровнем и инструментами?
Подводя итог: UNO Q - новый Edison. Qualcomm не славится любовью к опенсорсу, и с большой вероятностью HAL окажется закрытым или полузакрытым - это быстро убьёт экосистему вокруг платы. Слишком высокая сложность тоже не сыграет на руку мейкерам, которые привыкли тыкать модули в гребёнку, не погружаясь в схемотехнику. А что касается самой Arduino, их новые сложные платы так и не встали на один уровень с классикой и, по большому счёту, никому особо не нужны. Идея супер-сложных ардуин с очень высоким уровнем абстракции мертва уже около десятилетия. Так что остаётся порадоваться за тех, кто заработал хорошие деньги перед тем, как всё само развалится.
Во-первых, вспомним, что было в самом начале. Arduino взлетела как удачный форм-фактор: вы могли быстро писать скетчи, не лезя сразу в чистый C или ASM. При этом авторы хоть сколько-нибудь сложных библиотек всё равно опускались на низкий уровень и мешали высокоуровневый код с С/ASM, как, например, тут. Это ужасно с точки зрения чистоты кода: библиотеки превращаются в свалку из миллионов
#define под каждый контроллер. Но тем не менее это был самый простой способ доставить рабочий код конечному пользователю. Arduino помогала доставлять не только библиотеки, но и целые проекты. Самый яркий пример - Marlin. Очевидно, что сам проект разрабатывается не в Arduino IDE, но конечный пользователь, как правило, использует именно её.Что происходило дальше? Партнёрство с Intel (2013–2017). Немногие вспомнят такие платы, как Arduino 101 (2015-2016), а также попытки в Arduino с Linux - Intel Edison (2014-2017) и Intel Galileo (2013–2015). Где они сейчас? Проблема была в том, что Intel обеспечила поддержку базовых ардуиновских функций, но внутрь платформы лезть было трудно: отсутствовала документация и примеры и ни кто этим не стал занимался. Не помогло даже то, что Edison раздавали пачками - у меня было 5 или 6 отладочных плат.
Спустя ещё несколько лет началась активная диверсификация (2018): стали появляться новые платы. Например, Arduino с FPGA - MKR Vidor 4000 (2018), Arduino с NB-IoT - MKR NB 1500 (2018), "промышленный" контроллер - Opta (2022). Особо никто не знает и не видел - и причина та же: хреновая поддержка по верхам и игнорирование потребностей энтузиастов на низком уровне (инструменты, драйверы, документация, отладка).
Последний по-настоящему массовый продукт - Arduino UNO R4 (2023). Можно наивно предположить, что по USB там есть встроенный отладчик, как на многих нормальных девбордах, но нет. Видимо отладка слишком сложна для пользователя. Если у Minima хотя бы есть разъём под JTAG, то у версии WiFi он вообще не выведен. Да, можно закостылить ESP32 как CMSIS-DAP, но что делать, если я хочу отлаживать код вместе с Wi-Fi-частью?
И вот мы в текущем дне: Arduino UNO Q (2025). Супер-переусложнённая плата с большими вопросами по поддержке. Работает как макбук: можно вешать Type-C-хаб для вывода видео и подключения периферии, все в одном type C. Прогрессивно, но что с низким уровнем и инструментами?
Подводя итог: UNO Q - новый Edison. Qualcomm не славится любовью к опенсорсу, и с большой вероятностью HAL окажется закрытым или полузакрытым - это быстро убьёт экосистему вокруг платы. Слишком высокая сложность тоже не сыграет на руку мейкерам, которые привыкли тыкать модули в гребёнку, не погружаясь в схемотехнику. А что касается самой Arduino, их новые сложные платы так и не встали на один уровень с классикой и, по большому счёту, никому особо не нужны. Идея супер-сложных ардуин с очень высоким уровнем абстракции мертва уже около десятилетия. Так что остаётся порадоваться за тех, кто заработал хорошие деньги перед тем, как всё само развалится.
🔥14👍3❤2
Всем привет появилось желание написать что-то по поводу нового года. Этот год выдался не очень продуктивным с точки зрения контента, зато мне удалось чуть-чуть наладить жизнь за пределами интернета. Надеюсь в следующем году конткнта выйдет больше, посмотрим rust, zig в контексте микроконтроллеров, а также поковыряем RiscV и Zephyr os.
Вообщем всем с наступающем и надеюсь что следущий год будет хотябы немного лучше чем предыдущий.
Вообщем всем с наступающем и надеюсь что следущий год будет хотябы немного лучше чем предыдущий.
🔥16👍6❤3
В этом году в очередной раз посещаю Embedded World в Нюрнберге, и если вы где-то рядом то пишите, давайте кооперироватся.
ST кстати раздает бесплатные билеты.
Также постараюсь сделать посты если удастся найти что-то интересное непосредственно на самой выставке.
ST кстати раздает бесплатные билеты.
Также постараюсь сделать посты если удастся найти что-то интересное непосредственно на самой выставке.
👍9🥰6🔥5
Многих интересовал вопрос, зачем нужно было в
Компания ST представила 2 новых семейства:
Таким образом,
Сам
CubeIDE 2.0 вырезать CubeMX, и во время Embedded World я нашёл ответ.Компания ST представила 2 новых семейства:
STM32C5 и STM32V8. Первое -> это самый энергоэффективный микроконтроллер в мире, второе -> самый мощный (по производительности) контроллер от ST. Но важно не это, а то, что они не поддерживаются ни CubeMX, ни HAL. Для них теперь будут CubeMX 2 и HAL 2. Это не версии 2.0, это фундаментально другие продукты.CubeMX 2 позволит не просто назначать пины конкретным периферийным блокам, а позволит подключать конкретные драйверы из списка поддерживаемых ST. Как я понял, основная идея именно в том, чтобы связать пакеты конкретной версии с определёнными пинами. Очень сильно поменяется интерфейс. Например, будет отображаться код непосредственно перед генерацией.HAL 2 показался мне гораздо более интересным. Новый HAL должен стать минимальной обёрткой над LL, по сути, вызовы HAL будут объединением минимально необходимых функций LL.Таким образом,
CubeIDE должен поддерживать как первый, так и второй CubeMX, вот и причина. Я же очень с опаской смотрю на второй CubeMX: мне кажется, что в нём слишком много всего лишнего и что он действительно превращается в ардуино (мы берём рандомные библиотеки и наобум пытаемся их совместить). HAL 2 же, наоборот, мне показался очень интересным, скорее всего, я попробую полностью отказаться от CubeMX и перейти на чистый HAL. К тому же мне удалось пообщаться с человеком, который отвечает за архитектуру HAL 2, и он сказал, что CubeMX - фигня и настоящие мужики используют чистый HAL, у меня нет причин ему не доверять.Сам
CubeMX 2 должен выйти в релиз в ПН (16.03.26).👍10🔥2👎1