Qualcomm купил Ардуино

Прямую, да. А то меня после прочтения agreement опять выкидывает назад

Я так понял, что Ардуино ядро для STM32 работает на стремной RTX5 RTOS. А может работать под управлением FreeRTOS, как ESP32. Мне это значительно ближе. В КубеИДЕ можно выбрать тип RTOS: RTX5 или FreeRTOS. А в Ардуине нельзя :(. Ну, или я пока не нашел, где.

Мелочь, а неприятно. Хотя я так посмотрел, почти все вызовы FreeRTOS можно один в один заменять на соответствующие вызовы RTX5.

Еще в КубеИДЕ у них там графический конфигурятор, я тоже хочу там мышкой тыкать :).

А есть тут спецы по STM32? Можно ли там вообще обойтись какой-нибудь простой системой сборки, типа make? Или там все привинчено к ИДЕ и руками могут собрать только авторы?

Вот в ESP32, когда я использую среду разработки от Espressif, я могу все из командной строки делать: конфигурировать проект, выбирать нужные компоненты, отключать ненужные, конфигурировать железо в известных пределах:

>idf.py --set-target esp32s3
>idf.py menuconfig
>idf.py build flash monitor

А с STM32 так можно? Я скачал пока только аддон ардуиновский, с ним более-менее все понятно. А как с нативной средой у STM32?

И вообще, почему весь интернет забит вопросами с какими-то ужасными проблемами с STM32? И с прошивкой и со свистками и прочим.. Я начинаю подозревать нехорошее..

так все спецы через make и делают, это кто не может ему куб подавай

да все там нормально с прошивкой, в крайнем случае купишь дешевенькую плату разработчика, там ST-LINK правильный, можно шить через UART, никто не запрещал жеж, там унутрях есть загрузчик для этого, только с двумя пинами поиграться перевести в этот режим

там все есть.

а вот тебе программатор правильный

Спасибо большое за ссылку.

Я так понял, мне нужен CubeCLT (command line tools). Вроде как там и компилятор и отладчик и stm32cubeprog в одном флаконе

это вы у “спеца” выше, спрашивайте.

Разобрался, как FreeRTOS себе туда добавить (библиотека есть такая, STM32duino FreeRTOS).

А то такой толстенький процессор, да еще и с полноценным MPU, и без многозадачности.

Они, кстати, двуядерные бывают, но у нас в магазине есть только одноядерный. Эх. Ну и ладно.

Из неприятного - не может загружаться с SPI flash. А нутрянной у него “всего“ 2 мегабайта. Но пишут, что проблема решается заливкой бутлоадера во внутренний флеш, а софта - во внешний. SDRAM тоже - можно ее инициализировать уже после того как все загрузилось фактически. Т.е. память эту, свежепроинициализированную, надо будет как-то mallocу скормить, чтобы он ее оттуда выделял.

кто не может?

stm32h743vi

И что?
У нее нет XIP?
Или ты не в курсе, что это такое?

Сначала придется загрузится из внутреннего флеша, а потом только XIP

работает и даже прошивку обновляет, мб мне повезло просто)

А почему «свистки» не должны работать? Я от WeAct по пальцам пересчитать можно сколько раз пользовался, а свистки всегда использую. И отладка и прошивка работает (правда с мк оригинальными, от того же WeAct). К тому же они дешевые, я 4шт купил и с четырьмя платами одновременно использую (не нужно программатор «перетыкать»)… :slight_smile:

а у кавота по другому?
esp32 или rp2040, у кого?

у ЕСП32 сразу из SPI флеша исполняется.

В примерах нашел, как из SPI флеша исполнять. Ну, не для начинающих, конечно. Смысл в том, что там бутлоадер свой пишется, который стартует из внутреннего флеша, потом маппит SPIFLASH на адресное пространство свое и делает на туда jmp

…чтобы кэш инструкций перечитать :slight_smile:

Мне так нравится теоретические сведения “я прочитал” :grinning_face:

Вы для начала хотя бы запустите stm32h743 без библиотек и cube IDE.

PS. Я вот три дня уже мучаюсь, весёлый квест.

а я предупреждал :sweat_smile: :handshake:

легкотня!
Пример блинка из arduino ide 2.3.6, компиляция с ключиком -O2

Скетч использует 22548 байт (1%) памяти устройства. Всего доступно 2097152 байт.
Глобальные переменные используют 1360 байт (0%) динамической памяти, оставляя 522928 байт для локальных переменных. Максимум: 524288 байт.