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

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

НЛО прилетело и опубликовало эту надпись здесь

Озвучивайте цену на IAR для тех, кому не подходят ограничения, будьте добры.


Открытые компиляторы появились?

Открытых IDE немеряно. Сам работаю на System workbench. Все нравиться, много информации. И да, компилятор используют GCC
Ой, прошу прощения, действительно с STM8 проблемка со свободными IDE. Но есть неплохой от самой ST. Его и использую. Правда уже года два как ничего не делаю нового на восьмибитных. Но микроконтроллеры великолепны. Парочку проектов на низ сделал, работают без проблем.
Ещё вопрос почему не stm32?

Писал об этом в статье.
Если подробней раскрывать, то любые лишние усложнения для начинающего не желательны. Я когда на втором курсе учился, перед курсом микропроцессоров, решил почитать книги по программированию PIC контроллеров, слова «флаг» и «банк» встречались через предложение, не хватило сил разобраться самому.
В stm8L не говоря о 32 уже нужно настраивать тактирование GPIO например, лишнее усложнение. Да и вся остальная периферия устроена сложнее, я же хочу сосредоточиться на методах работы и обработки. На процессе, а не на частностях устройства сложной и непонятной большинству новичков периферии.
Это не среда разработки: STM Studio run-time variables monitoring and visualization tool for STM8 microcontrollers
Цена IAR адекватна и написана на сайте производителя, среда имеет огромный функционал.
Для начинающего главное не тонкости работы и настройки компиляторов/препроцессоров и прочей чепухи, а удобство. Запустил, настроил пару параметров — изучаешь МК и методы работы с ним. (Но процесс должен быть осмысленным, вопросов «почему эти параметры и почему именно так» возникать не должно) Считаю бесплатную версию IAR для этого подходящей.
В любом случае, есть вариант лучше, но я его не знаю, а изучать все среды в поисках лучшего не предмет статьи. (И занятие крайне неразумное, есть подходящий инструмент — пользуйся)
например где она там написана, если куда не сунься, цена по запросу

И правда, нету.
Я года два назад смотрел, лицензия стоила в пересчете на рубли от 200 т. рублей (могу ошибаться в меньшую сторону) в зависимости от условий. Чем дороже, тем дольше срок бесплатных обновлений версии.
Но опять же, суть не в этом. Есть инструмент и пользоваться им в целях обучения можно. Вопрос цены, вообще не наша головная боль, я себе не покупал, у меня есть работодатель и обеспечивать меня инструментами его задача. (Тем более, что когда я пришел инструмент уже был)
А вообще буду перепроверять, прежде чем говорить, неприятно.

Есть SDCC, он умеет в STM8. Можно даже собрать GDB с патчами и отлаживаться в железе с STLink. IDE прикрутить тоже можно много какую, NetBeans, CLion, Eclipse, и всякие VS Code.
Статья о том, что можно купить stm8 и скачать IAR с сайта :(
По факту да, но именно этой информации мне в свое время не хватило.
Просто потому что не у всех людей на свете есть лишние 600+ рублей для покупки нормальной отладочной платы, а как сделать самому — начинающему не понятно.
НЛО прилетело и опубликовало эту надпись здесь

Не понимаю сарказма, для изучения МК среда подходит.

НЛО прилетело и опубликовало эту надпись здесь

Переход от создания проекта к отладке выглядит, как рисование совы. Там же ещё настройки компилятора должны быть… кроме того писать полный путь к заголовочникам нехорошо, проект будет непереносимым, лучше использовать $TOOLKIT_DIR$.

Вы меня простите, но я не понимаю, как подключение заголовочного файла из корневой папки среды разработки может влиять на мобильность проекта. Это стандартный путь в любом создаваемом проекте. Ну вот не понимаю.
И путь я не просил никого прописывать никакой, я указал где посмотреть точное название заголовочного файла именно для вашего МК.
По поводу понятности изложения, принял к сведению, постараюсь придумать как можно описать этот процесс еще подробней.
(Хотя все предельно просто — создать проект, добавить цикл, выбрать в настройках программатор, выбрать модель МК и нажать кнопочку похожую на Play. Что может пойти не так, непонятно)
Хотя по умолчанию IAR ищет заголовочники в папке IAR Systems\Embedded Workbench 6.5\<Ядро>\inc не всегда заголовочники для конкретного микро лежат там, например, для ARM, там вообще мало что лежит, а все, относящееся к микро ST лежит в папке IAR Systems\Embedded Workbench 8.3\arm\inc\ST, ну или вообще в папке CMSIS. Поэтому логично сразу указать относительный путь к заголовочному файлу в Options->C/C++ Compiler/Preprocessor указать где искать… и если это папка IAR Systems\Embedded Workbench 6.5\<Ядро>\inc, то $TOOLKIT_DIR$\stm\inc
Ну просто я ожидал, что надо настроить компилятор: вот вы написали
Программировать на С (опять же, не все так сложно)
, но при этом выбрали проект на С++. Т.е. компилятор вы сейчас настроили С++, и у вас сейчас Си код работать не будет, потому что стоит С++, а ведь есть, например, авто-определение, т.е. вариант, когда среда сама определить Си или С++ это код.
Я не понимаю что я делаю не так. У меня установлено 2 версии IAR, 6.5 и 8.0 на другом ноутбуке. Посмотрел на обоих, в папке \Embedded Workbench 8.0(и в 6.5)\ нет папки arm. Но есть папка stm8 в которой лежит inc. А в ней все необходимые мне файлы. Папки CMSIS у меня нет (есть в IAR для STM32, но это другой разговор).
Устраивать холивар по поводу использования С++ компилятора для компилирования кода написанного на С не хочу и не буду. На этот счет есть различные мнения и право на существование имеют все. По этому поводу в будущих статьях вы можете указать, что и почему работать не будет. (И это уже будет предметный и полезный для меня разговор.)
НЛО прилетело и опубликовало эту надпись здесь
Для полноты картины можно ознакомиться со статьями в интернете по запросу «быстрый старт stm8s». В одной статье сразу и скачивают среду, и работают с GPIO и с UART и с таймерами и с прерываниями. Документацию на МК читать там не собираются. Задействовано огромное кол-во библиотек и никого это не смущает.
Быстрых стартов достаточно и заниматься написанием статей такого плана смысла не вижу, пробую описать свое видение проблемы. Опять же, может быть я не прав и нужно скачать MX Cube и генерировать проекты уже с настройкой большей части периферии, но я пока для этого слабоват.
Stm32 Для старта проще)

отладочная плата от 150 рублей, бесплатный софт STM32CubeMX и Atollic TrueSTUDIO for STM32.
Как писал в статье, хотел бы получить адекватную критику, но не думал получить «а это проще». Программирование МК, схемотехника, электроника и сопряженные с этим всем области деятельности простыми не назовешь. Откуда такое рвение в поиске простых путей? Откуда вообще взялся тезис, что в этом занятии чем проще тем лучше?
Плюсы CubeMX очевидны, это скорость разработки, среда существует и используется людьми. STM32 замечательный контроллер. Как и PIC, AVR, TI и многие другие. (Много интересного оборудования существует. Я недавно датчик давления NXP встретил в работе, он же МК, он же акселерометр и термометр и даже в радио на 433 МГц сообщения отправлять умеет.) Но причем тут я и моя статья только о STM8S, мне увы не понятно. Все это к теме не относится.
STM32 намного шире применяется, по нему больше информации и легче найти людей, которым можно задать вопрос. Опять же бесплатный и доступный софт. Зачем усложнять себе жизнь? Не вижу причин начинать обучение на STM8.
Погуглите сегмент рынка 8-ми битных МК. Одни люди до сих пор разрабатывают и производят 8-ми битные контроллеры, другие покупают и производят на их основе оборудование и продают. Рынок 8-ми битных МК по миру составляет сотни миллионов долларов. Я не собираю МК с помощью советских транзисторов. Я занимаюсь тем, что мне интересно и оно даже немного востребовано и актуально.
У меня в наличии имеется несколько STM8S105K6 в корпусе LQFP32, он из этого семейства, потому выбираю его.

Работу с контактными макетными платами (breadboard) я не рассматриваю потому, что не использую.

3. Выбор IDE
Для меня вопрос выбора пока не актуален, работаю в IAR для STM8, ибо в ней делали проект над которым я сейчас работаю, по той же причине старая версия

Такое ощущение, что задачей ставится удобство для автора, а не для тех начинающих, кто будет статьи читать.
У меня в наличии имеется несколько STM8S105K6 в корпусе LQFP32, он из этого семейства, потому выбираю его.

Используя статью как инструкцию к действию можно купить за 40 рублей ЛЮБОЙ МК серии STM8S и заставить его работать. Мне нужно было показать как использовать datasheet, для этого нужно привязаться к какому-то МК. (похожий МК запаян на discovery плату от ST если не изменяет память, так что выбор удачный)

Работу с контактными макетными платами (breadboard) я не рассматриваю потому, что не использую.

Попробуйте сделать проект состоящий больше чем из одной кнопки и одного светодиода на breadboard'е. Я пробовал, не понравилось. Платы бывают разные и моя дешевая китайская не дала мне даже с UART работать, просто все провода отходили и ничего не работало. Спаял на макетной плате и процесс пошел быстрее. Если я что-то собрал, я хочу быть уверен что это работает.
3. Выбор IDE
Для меня вопрос выбора пока не актуален, работаю в IAR для STM8, ибо в ней делали проект над которым я сейчас работаю, по той же причине старая версия

Не вижу смысла пытаться кого-то научить тому, чего я не умею либо плохо ориентируюсь. Хотя по поводу версии, думаю лучше скачаю новую, с такими же ограничениями как у всех. Чтоб вопросов не возникало лишних.
5 лет назад я начал работать с STM8S, и моя работа началась не с написания кода, а действительно с поиска инструмента. И IAR действительно подходит хорошо. До момента подключения 4-строчного индикатора памяти хватало с большим избытком. Потом начались траблы, НО…

Если вы не будете потно пилить стандартные библиотечные функции вроде stringf, а напишите их ручками(что, к слову, довольно просто), то память МК всё также будет при вас и практически любую задачу можно решить даже с ограничениями на триал-версию.

Например, было организовано устройство, собирающее данные с 2 внешних АЦП по I2C, выполняющее управление дискретными каналами, в том числе ШИМ, выполнялись чтение/запись в CAN шину стандарта NMEA2000(app.B) и чтение/запись в UART(через CH340 в ПК) а также индикация на 4-строчный LCD-дисплей.

Поэтому, здесь я на стороне автора, среда удобная и достаточная не только для новичка, но и как я описал выше, для более весомых и даже зрелых проектов.
Однозначно плюс. Если цикл статей по периферии будет в том же духе, то это должно стать хорошим пособием для ухода от бесконечных библиотек, не дающих ничего, кроме желания принять Ислам.

Кстати, да, а где продолжение цикла? :)

Гугл в первых результатах по "stm8s habr" выдаёт эту статью... А дальше?..

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации