Комментарии 32
Озвучивайте цену на IAR для тех, кому не подходят ограничения, будьте добры.
Открытые компиляторы появились?
www.st.com/en/development-tools/stm-studio-stm8.html
Ещё вопрос почему не stm32?
Ещё вопрос почему не stm32?
Писал об этом в статье.
Если подробней раскрывать, то любые лишние усложнения для начинающего не желательны. Я когда на втором курсе учился, перед курсом микропроцессоров, решил почитать книги по программированию PIC контроллеров, слова «флаг» и «банк» встречались через предложение, не хватило сил разобраться самому.
В stm8L не говоря о 32 уже нужно настраивать тактирование GPIO например, лишнее усложнение. Да и вся остальная периферия устроена сложнее, я же хочу сосредоточиться на методах работы и обработки. На процессе, а не на частностях устройства сложной и непонятной большинству новичков периферии.
Для начинающего главное не тонкости работы и настройки компиляторов/препроцессоров и прочей чепухи, а удобство. Запустил, настроил пару параметров — изучаешь МК и методы работы с ним. (Но процесс должен быть осмысленным, вопросов «почему эти параметры и почему именно так» возникать не должно) Считаю бесплатную версию IAR для этого подходящей.
В любом случае, есть вариант лучше, но я его не знаю, а изучать все среды в поисках лучшего не предмет статьи. (И занятие крайне неразумное, есть подходящий инструмент — пользуйся)
И правда, нету.
Я года два назад смотрел, лицензия стоила в пересчете на рубли от 200 т. рублей (могу ошибаться в меньшую сторону) в зависимости от условий. Чем дороже, тем дольше срок бесплатных обновлений версии.
Но опять же, суть не в этом. Есть инструмент и пользоваться им в целях обучения можно. Вопрос цены, вообще не наша головная боль, я себе не покупал, у меня есть работодатель и обеспечивать меня инструментами его задача. (Тем более, что когда я пришел инструмент уже был)
А вообще буду перепроверять, прежде чем говорить, неприятно.
Просто потому что не у всех людей на свете есть лишние 600+ рублей для покупки нормальной отладочной платы, а как сделать самому — начинающему не понятно.
Переход от создания проекта к отладке выглядит, как рисование совы. Там же ещё настройки компилятора должны быть… кроме того писать полный путь к заголовочникам нехорошо, проект будет непереносимым, лучше использовать $TOOLKIT_DIR$.
И путь я не просил никого прописывать никакой, я указал где посмотреть точное название заголовочного файла именно для вашего МК.
По поводу понятности изложения, принял к сведению, постараюсь придумать как можно описать этот процесс еще подробней.
(Хотя все предельно просто — создать проект, добавить цикл, выбрать в настройках программатор, выбрать модель МК и нажать кнопочку похожую на Play. Что может пойти не так, непонятно)
Ну просто я ожидал, что надо настроить компилятор: вот вы написали
Программировать на С (опять же, не все так сложно), но при этом выбрали проект на С++. Т.е. компилятор вы сейчас настроили С++, и у вас сейчас Си код работать не будет, потому что стоит С++, а ведь есть, например, авто-определение, т.е. вариант, когда среда сама определить Си или С++ это код.
Устраивать холивар по поводу использования С++ компилятора для компилирования кода написанного на С не хочу и не буду. На этот счет есть различные мнения и право на существование имеют все. По этому поводу в будущих статьях вы можете указать, что и почему работать не будет. (И это уже будет предметный и полезный для меня разговор.)
Быстрых стартов достаточно и заниматься написанием статей такого плана смысла не вижу, пробую описать свое видение проблемы. Опять же, может быть я не прав и нужно скачать MX Cube и генерировать проекты уже с настройкой большей части периферии, но я пока для этого слабоват.
отладочная плата от 150 рублей, бесплатный софт STM32CubeMX и Atollic TrueSTUDIO for STM32.
Плюсы CubeMX очевидны, это скорость разработки, среда существует и используется людьми. STM32 замечательный контроллер. Как и PIC, AVR, TI и многие другие. (Много интересного оборудования существует. Я недавно датчик давления NXP встретил в работе, он же МК, он же акселерометр и термометр и даже в радио на 433 МГц сообщения отправлять умеет.) Но причем тут я и моя статья только о STM8S, мне увы не понятно. Все это к теме не относится.
У меня в наличии имеется несколько STM8S105K6 в корпусе LQFP32, он из этого семейства, потому выбираю его.
Работу с контактными макетными платами (breadboard) я не рассматриваю потому, что не использую.
3. Выбор IDE
Для меня вопрос выбора пока не актуален, работаю в IAR для STM8, ибо в ней делали проект над которым я сейчас работаю, по той же причине старая версия
Такое ощущение, что задачей ставится удобство для автора, а не для тех начинающих, кто будет статьи читать.
У меня в наличии имеется несколько STM8S105K6 в корпусе LQFP32, он из этого семейства, потому выбираю его.
Используя статью как инструкцию к действию можно купить за 40 рублей ЛЮБОЙ МК серии STM8S и заставить его работать. Мне нужно было показать как использовать datasheet, для этого нужно привязаться к какому-то МК. (похожий МК запаян на discovery плату от ST если не изменяет память, так что выбор удачный)
Работу с контактными макетными платами (breadboard) я не рассматриваю потому, что не использую.
Попробуйте сделать проект состоящий больше чем из одной кнопки и одного светодиода на breadboard'е. Я пробовал, не понравилось. Платы бывают разные и моя дешевая китайская не дала мне даже с UART работать, просто все провода отходили и ничего не работало. Спаял на макетной плате и процесс пошел быстрее. Если я что-то собрал, я хочу быть уверен что это работает.
3. Выбор IDE
Для меня вопрос выбора пока не актуален, работаю в IAR для STM8, ибо в ней делали проект над которым я сейчас работаю, по той же причине старая версия
Не вижу смысла пытаться кого-то научить тому, чего я не умею либо плохо ориентируюсь. Хотя по поводу версии, думаю лучше скачаю новую, с такими же ограничениями как у всех. Чтоб вопросов не возникало лишних.
Если вы не будете потно пилить стандартные библиотечные функции вроде stringf, а напишите их ручками(что, к слову, довольно просто), то память МК всё также будет при вас и практически любую задачу можно решить даже с ограничениями на триал-версию.
Например, было организовано устройство, собирающее данные с 2 внешних АЦП по I2C, выполняющее управление дискретными каналами, в том числе ШИМ, выполнялись чтение/запись в CAN шину стандарта NMEA2000(app.B) и чтение/запись в UART(через CH340 в ПК) а также индикация на 4-строчный LCD-дисплей.
Поэтому, здесь я на стороне автора, среда удобная и достаточная не только для новичка, но и как я описал выше, для более весомых и даже зрелых проектов.
Однозначно плюс. Если цикл статей по периферии будет в том же духе, то это должно стать хорошим пособием для ухода от бесконечных библиотек, не дающих ничего, кроме желания принять Ислам.
Изучаем STM8S Медленный старт. Часть 0