Как стать автором
Обновить

Комментарии 18

Спасибо за статью!
Как дела у CubeMX обстоят с совместимостью с семейством STM32F103?
Пробовал какое-то время сгенерировать им код для F103. То ли одного инсталятора CubeMX недостаточно для работоспособности, то ли он пока не совместим с F103. Сгенерированный код содержал одни пустышки с закомментированными плейсхолдерами в коде.
Судя по картинке отсюда, то пока никак.

Но вообще-то он и для других генерирует код с пустышками внутри. Непустышки у него только в области инициализации. Или я про другое?
Ну у меня были пустышки в коде инициализации. Назначал некоторые пины на AF, а в сгенерированном коде получал либо ничего (пустые области, обрамленные комментариями-заголовками), либо закомментированные строки с конфигурацией пинов в GPIO.
Кажется даже пытался сгенерировать код FreeRTOS, и ничего не вышло.

Поскорее бы допилили.
Ну судя по скорости поддержки L1/L0 (в мае прошлого года точно не было), то скоро будет. Но сильно не радуйтесь, даже для «обкатанного» F4 есть ошибки в ихних «фирмварях». Причем ошибки классическо-индусного типа «не посмотрели, забыли и забили» :)
Хммм… Только что на удачу закачал с той страницы инсталлятор, установил и зачал новый проект. Все настроил как хотелось, нажал «Сгенерировать код». Он запросил восстановить коннекцию с STM для скачки фирмварей и вот уже качает.

Быть может хоть что-то нагенерирует. Позже отпишусь.

PS: с ошибками разберемся как-нибудь.
УРА!
Сгенерировался код. На текущей машине не был установлен ARMGCC тулчейн и Eclipse, потому сгенерировались дополнительно проектные файлы только для EWARM, Keil и еще какой-то IDE. Не могу проверить генерацию под GCC пока. Однако код библиотек получается общий и можно будет просто сымпортировать в Eclipse.
Работоспособность кода также пока не проверял.
Ну это же хорошо :) Скорее всего, это появилось в недавнем обновлении, а на сайте не исправили :)
Либо в первую свою попытку я прошляпил коннекцию к серверу STMicro.
Если все будет работать как надо, то уже CooCox не будет так сильно нужен. Есдинственная его киллер-фича будет только автозаливка бинарника в МК (а может и тут я просто пока не научился это делать в ванильной Eclipse).
Я как-то мучался-мучался и привык к Keil :) Причем иногда матерюсь, вспоминая добрым словом кококс, но потом матерки утихают, когда я вспоминаю 2.х версии кокоса и keil уже кажется милым и прекрасным средством разработки :)
Имеется — еще 16 декабря была. Просто эту новость все узнали только потыкав в апдейтер куба…
Проверьте версию — должна быть 4.6.0.
Вот только сегодня и попробовал (комментарии выше). Код был сгенерирован успешно. Не успел еще попробовать запустить.
Я к HAL и STMCube присматривался примерно полгода назад. Я не смог понять, как теперь пользоваться UART'ом и не нашел никакой документации или примеров. Теперь с этим получше?

Ах да, еще я обнаружил достаточно тривиальный баг в одной из HAL'овских функций, но сообщать о нем пришлось на форум; никакой формы для баг-репорта я тоже не нашел. И не знаю, исправили этот баг уже или нет, надо будет проверить.
Хм, не скажу насчет «отлично», но примеры есть. Конечно, тяжело без описаний, почему это сделано так, а не этак, но исходники выручают :)
Верной дорогой идут с этим STM32CubeMX: бардака меньше, а удобства больше. Главное чтобы не бросили и через год-два опять не решили всё переделать.

Кстати по поводу RTOS и HAL. В упомянутой вами в первой части ChibiOS, HAL для STM32 свой, встроенный. Не возьмусь судить насколько он качественный, но то, что он разрабатывался под конкретную ОС и доступен из коробки, уже неплохо.
Я пробовал HAL от ChibiOS. Вполне себе. В смысле свои задачи выполняет и даже в отличии от STMовского, кроссплатформенный (вот тут сильно не тестировал, но один и тот же код мигал и на STM32 и на MSP430)
Интересно, а есть где-то толковый гайдлайн или описание структуры HAL для применения в своих проектах и для перехода с SPL?
А то документ у них с описанием есть, но в типичном бюрократическом стиле — сплошные ссылки по документу, куча ненужной инфы, а нужная изложена так, что лучше б ее не было.
Вот взял кубик, сгенерировал проект с USB CDC
с включённым FreeRTOS устройство вообще не определяется
если выключить FreeRTOS определяется с ошибкой Code 10/Код 10

ЧЯДНТ и как его заставить хотя бы определяться во FreeRTOS?
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Публикации

Истории