Прямую, да. А то меня после прочтения 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? И с прошивкой и со свистками и прочим.. Я начинаю подозревать нехорошее..
да все там нормально с прошивкой, в крайнем случае купишь дешевенькую плату разработчика, там ST-LINK правильный, можно шить через UART, никто не запрещал жеж, там унутрях есть загрузчик для этого, только с двумя пинами поиграться перевести в этот режим
Спасибо большое за ссылку.
Я так понял, мне нужен CubeCLT (command line tools). Вроде как там и компилятор и отладчик и stm32cubeprog в одном флаконе
это вы у “спеца” выше, спрашивайте.
Разобрался, как FreeRTOS себе туда добавить (библиотека есть такая, STM32duino FreeRTOS).
А то такой толстенький процессор, да еще и с полноценным MPU, и без многозадачности.
Они, кстати, двуядерные бывают, но у нас в магазине есть только одноядерный. Эх. Ну и ладно.
Из неприятного - не может загружаться с SPI flash. А нутрянной у него “всего“ 2 мегабайта. Но пишут, что проблема решается заливкой бутлоадера во внутренний флеш, а софта - во внешний. SDRAM тоже - можно ее инициализировать уже после того как все загрузилось фактически. Т.е. память эту, свежепроинициализированную, надо будет как-то mallocу скормить, чтобы он ее оттуда выделял.
кто не может?
stm32h743vi
И что?
У нее нет XIP?
Или ты не в курсе, что это такое?
Сначала придется загрузится из внутреннего флеша, а потом только XIP
работает и даже прошивку обновляет, мб мне повезло просто)
А почему «свистки» не должны работать? Я от WeAct по пальцам пересчитать можно сколько раз пользовался, а свистки всегда использую. И отладка и прошивка работает (правда с мк оригинальными, от того же WeAct). К тому же они дешевые, я 4шт купил и с четырьмя платами одновременно использую (не нужно программатор «перетыкать»)… ![]()
а у кавота по другому?
esp32 или rp2040, у кого?
у ЕСП32 сразу из SPI флеша исполняется.
В примерах нашел, как из SPI флеша исполнять. Ну, не для начинающих, конечно. Смысл в том, что там бутлоадер свой пишется, который стартует из внутреннего флеша, потом маппит SPIFLASH на адресное пространство свое и делает на туда jmp
…чтобы кэш инструкций перечитать ![]()
Мне так нравится теоретические сведения “я прочитал” ![]()
Вы для начала хотя бы запустите stm32h743 без библиотек и cube IDE.
PS. Я вот три дня уже мучаюсь, весёлый квест.
а я предупреждал
![]()
легкотня!
Пример блинка из arduino ide 2.3.6, компиляция с ключиком -O2
Скетч использует 22548 байт (1%) памяти устройства. Всего доступно 2097152 байт.
Глобальные переменные используют 1360 байт (0%) динамической памяти, оставляя 522928 байт для локальных переменных. Максимум: 524288 байт.

