Похоже, компания ST наконец отошла от маниакального создания новых свежих чипов и решила оглянуться назад — «что же с этим всем делать?». Тема новой пятилетки — утилиты и примеры для уже созданных контроллеров.

Это довольно логично — можно сколько угодно делать железо, но без адекватной поддержки его софтом многие не слишком упорные инженеры просто уйдут с этой платформы. Поэтому я очень рад, что такие утилиты начинают появляться.

Этого от ST ждали давно, многие (очень многие!) ругают их за неудобство написания кода и отсутствие хороших примеров. Я могу сходу назвать несколько  моих личных претензий к ним:

  • Самые первые отладочные платы STM32F1Discovery продаются до сих пор, и даже создаётся видимость их поддержки (переименовали в STM32VLDiscovery) — но переделать архив с примерами на сайте никто не удосужился, при том что в новых версиях IAR они давно уже не компилируются.
  • Наличие ошибок в SPL.
  • Полное отсутствие примеров для некоторой периферии.

Вообще, довольно тяжело найти архив с примерами на сайте ST — только если знать, где его искать.

Наконец менеджеры ST услышали вопли инженеров, и ситуация начинает меняться.

STM32Cube

Месяц назад нас обрадовали проектом STM32Cube, который должен был наконец разрушить магию Startup-файлов и дать удобные инструменты для настройки тактирования и прочих параметров инициализации. Правда, ST поступает в точном соответствии с принципами Agile, и выкатывает обновления постепенно — пока Cube доступен только для микроконтроллеров серии F4, но начинание собираются продолжать.

Я эту утилиту так ни разу и не трогал, потому что сейчас не использую камни F4. Ждём такую же утилиту для других серий, особенно для F1.

STM32Snippets

Это то, о чём компанию просили очень давно. Теперь наконец-то есть куски кода, которые можно использовать в своих приложениях, и они, что называется, «просто работают». Отзывов об их качестве пока немного, но очень хочется чтобы эту идею не забросили.Загадочно выглядит переход обратно к прямому обращению к регистрам. В своё время ST много сил положила, чтобы заставить всех использовать её библиотеку периферии. Очень странно, почему в сниппетах они ушли от этого подхода. Может быть, поняли что SPL — не серебряная пуля?

 

Совершенно ясен выбор серий микроконтроллеров для этих обновлений.

Серии микроконтроллеров ST

Со стороны создаётся такое впечатление о сериях МК:

  • F1 — самая первая ласточка, сделано впопыхах чтобы успеть завоевать первенство и наводнить рынок дешёвыми контроллерами и отладочными платами. Отсюда — пухлые errata. Спустя несколько лет компания начинает насаждать мнение что эта серия устарела, и выводит новую серию
  • F2 — по-моему, вообще неудачная серия. В ней всего ЧЕТЫРЕ разных модели, остальные отличаются лишь размером памяти. Судя по тому, что ST про эту серию не говорит вообще нигде — похоже, эксперимент признан провалом. В старых материалах ST называет её прямым преемником серии F1, и акцент сделан на полной pin-to-pin совместимости и лёгкой замене.
  • F3 стоит особняком относительно других серий. Она позиционируется как этакий аналоговый процессор — не совсем DSP, но всё же. Большой набор ОУ, компараторов, хороших ЦАП и АЦП на борту выводит эти контроллеры в отдельную нишу — кому-то (начинающим и цифровым электронщикам) они вовсе не нужны, но в некоторых применениях (обработка звука, управление моторами, взаимодействие с датчиками) они буквально незаменимы. Мощное ядро Cortex F4 и FPU добавляют свою изюминку. Рекламы по этой серии тоже не так много, потому что тот, кому нужны все эти фичи — сам всё знает, а кому не нужно — тому есть другие серии.
  • F4 — самая крутая серия, с ядром Cortex F4 и FPU, а также самыми высокими MIPS/FLOPS. Объём памяти тоже впечатляет — 2 мегабайта флеша встретишь не в каждом современном МК! Явный фаворит всей линейки контроллеров, буквально говоря «полный фарш». Действительно, круче них нет ничего — огромный набор периферии, как ввода-вывода, так и внутренних блоков вроде хеширования и криптографии. Рекламируется из каждого утюга, потому что фаворит и потому что приносит много денег (эти МК довольно дороги). К тому же на них работает имидж первых серий, который закрепил стереотип «ST — это дёшево».
  • F0/L0/L1 — микро- и нанопотребляющие серии. На фоне общей озабоченности экологией и экономичностью, я думаю, расходятся очень хорошо. Ставка на экологию — это всегда выигрыш.

Однако, я уверен что значительную долю продаж до сих пор занимает серия F1, и удивительно почему она так незаслуженно забыта.