1. Введение (Почему IAR)
В прошлой статье по IAR я объяснил выбор просто: потому что не Keil. Ну а если более развернуто, то еще и потому что не Coocox и не Eclipse. Давайте вместе пройдемся по минусам:
- Keil — дорогой (upd: хотя в комментариях подсказывают, что для STM32F0 и STM32L0 он вообще бесплатен!);
- Coocox — нет симулятора, нет поддержки AVR;
- Eclipse — имеет симулятор, но убогий, работающий лишь под бубном;
Что предлагает IAR?
- Во-первых, бесплатную версию (лимит кода 16 Кб для Cortex-M0/M0+/M1).
- Во-вторых, нормальный симулятор для отладки кода — кто-то сейчас поморщит носом, что настоящие джедаи отлаживают лишь в железе, а мне вот лениво каждый раз заливать прошивку, да и свободы как-то больше.
- В третьих, IAR работает и под AVR, для этого нужно скачать соответствующую версию и при установке выбрать другую директорию (адепты AVR Studio дружно негодуют, а я не хочу курить две IDE, когда можно ограничиться одной).
С инструментами разобрались, перейдем к подопытному…
2. Что будем изучать
А изучать мы будем микроконтроллер STM32F030F4P6. Потому что он самый простой для домашней пайки. А еще самый дешевый — эдакий attiny13, лишь в мире STM32. Стоит чуть-чуть дороже тиньки, зато флеша 16 Кб (как раз в лимиты бесплатного IAR вписались!) и ног в три раза больше. А про богатство периферии (АЦП, UART, IRTIM…) я вообще молчу.
Изначально, у меня лежала душа к раскурке отечественной микросхемы от Миландр (К1986ВЕ92QI), но доллар подскочил, цена «отечественного» мк резко выросла — со 160 до 400 рублей — и как-то расхотелось иметь с ними дело…
3. Крик души, который можно не читать (и не писать)
Знаете, растущее количество материала по 32-битным контроллерам несомненно радует: сайты, статьи, отладочные платы… Но черт побери, нельзя же так зацикливаться на последних! Нет, правда, я всеми руками за облегчение жизни разработчиков, за быстрый старт… Только ведь довольно быстро надоедает управлять диодиками на дискавери-платах, хочется чего-то реального, не оторванного от жизни — и мы опять скатываемся в ардуино!
Ну а как иначе, если почти в каждой вводной статье советуют: «Начинать дружить с контроллерами STM32 надо с…»
- Плат STM32Fx-Discovery
- Программатора Versaloon
- Программатора-отладчика ST-LINK-V2
- STM3220G-EVAL
- Супер-мега-платы-звоните-прямо-сейчас
Я понимаю, что авторы этих статей не хотят терять ту публику, которая паяльник держит второй раз в жизни, но почему так популярен программатор «5 проводков» для AVR и так бессовестно обходится стороной «2 (!) проводка» на STM32? Наверное, потому что на отладочных платах есть встроенные пищалки, дисплеи, диодики… Плюс возможность отладки. Нет, вы серьезно?! Это правда то, что нужно позарез начинающему?
Странно, ведь я всегда считал, что начинающему нужна возможность как можно быстрее пройти этап 3-хколесного велосипеда. В чем прелесть 5 проводков? В том, что после программирования, плату с микрухой можно сразу затолкать в корпус. И не бояться, если что-то сгорит — новая микруха стоит копейки. Зато вокруг STM32 просто какой-то ореол таинственности для непосвященных. Что, действительно? Для того, чтобы начать изучение stm32 так важна функция отладки? Нет, это правда очень полезная фича, но не в рамках же «помигать диодиком»! Что, не все могут паять такую мелочь? Так можно легко научиться. И даже без фена! Смысл вообще их изучать, если на практике применять не собираетесь? И, наконец, самое главное: разве начинающий наслишь беспомощен, что не сможет сам решить, какую обвязку ему выбрать: диодик или дисплей?
В первых статьях настоящего цикла не будут использоваться готовые отладочные платы. Не будут от слова совсем. Полигоны для испытаний мы спаяем вместе, попутно вкурив их работу. А вот как вкурим, пойдут примеры на плате Pinboard (а то что, я зря ее покупал?) — впрочем, это для моего удобства, вы сможете обойтись и без нее.
На этом водная часть закончена, кто дочитал — молодец, а остальные уже читают следующую статью, чего и вам желаю!