Рейтинг
37.92
голосов: 42

О блоге

Работа и описание контроллеров STM8

Администраторы (1)

Модераторы (0)

Модераторов здесь не замечено

Читатели (121)

dcoder _YS_ Krieger Tabke XANDER marvin_yorke Ultrin WildCat Vga mzw kalvenolt dievgen woogle Deer ZiB neiver Leopoldius Ageofenigma bomond Daimeeo

Все читатели блога

Одной строкой: Cosmic для STM8 теперь бесплатен и без ограничений

Собственно, новость, о которой я узнал из рассылки ST сегодня, а до этого как-то даже и не слышал (хотя, может быть, просто слоупок). Поэтому оставлю ее здесь.

С марта 2016 года компилятор Cosmic для STM8 стал абсолютно бесплатным, без ограничений и даже вроде как с поддержкой.

Скачать можно тут: cosmicsoftware.com/download.php

Пожалуй, это очень хорошо. Рискуя развести срачи, все-таки выскажусь, что это еще один приличный гвоздь в крышку гроба малых AVR, особенно в определенных сферах и нишах. Теперь, видимо, буду честно и без зазрения совести использовать STM8 в коммерческих проектах, так как многие вещи мне в них нравятся и, что немаловажно, даже на сегодняшний день у них очень привелкательная цена.

STM8 USB V-USB

github.com/wlianmin/stm8_usb
в комплекте пример hid мышки самодвигающейся :)
китайцы взяли в основу труды этого товарища:
ziblog.ru/2014/02/20/programmnyiy-usb-na-mikrokontrollerah-stm8.html
и в общем-то довели до рабочей железки

А нашлось сначала вот что:
STM8 USB
vk.com/doc-73481857_408253851

портированные на IAR
vk.com/doc-73481857_408254606

Makefile для IAR + CodeBlocks

Открыл для себя Code::Blocks, чего и всем желаю.
Преднастроенных в ней компиляторов для STM8 нету, попытался добавить туда EWSTM8 но плюнул на эту затею.
Случайно попал на Atomthreads и обратил внимание, что там есть мейкфайлы под иар и космик.
Взял и причесал под себя иаровский, с космиком пока не срослось.
Полученный мейкфайл успешно испольую с CB.
Я понимаю, что тут нет нормальной отладки, но при особой нужде недолго поднять иаровский проект.
Вобщем — выкладываю, авось кому пригодится.
Конструктивная критика приветствуется.

Шаблоны проектов IAR для STM8S/STM8L SPL


Честно говоря запарился я на каждый проект перетаскивать исходники, настраивать пути, прописывать хедеры и прочее прочее. И наконец-то созрел сделать себе нормальные шаблоны. Лучше ведь поздно чем никогда, верно?

И для того чтобы не забыть, что и где я правил в оригинальной библиотеке, да и чтобы где-то забэкапить результаты своих трудов решил написать эту заметку. Ну а если кому-то это поможет сэкономить время — буду только рад =)

Для создания шаблонов использовался IAR 1.42.3, и библиотеки STM8S SPL v2.2.0, STM8L51x SPL v1.6.1.



Читать дальше

Программные задержки для STM8

Доброго здравия, All.

Ковыряю STM8 контроллеры, и часто сталкиваюсь с тем, что нет каких-то мелочей, к которым привык. На этот раз такой мелочью стали программные задержки. Например, в AVR-LibC была для этого delay.h.

Её-то я «интерфейс» я и повторил под осваиваемого зверька. Можно спорить об актуальности программных задержек, но бывает, что всё же нет альтернативы. Например — это часто проще, чем возиться с таймером. Или когда требуется формировать короткие промежутки времени: вход и выход из прерывания требуют довольно большого количества тактов, а значит — просто не успеем. Есть ещё фактор: когда время входа в прерывание плохо предсказуемо, и требует особого внимания.

Собственно, файл брать здесь.
27.11.2014 Не упомянул компилятор, для какого тестировал — COSMIC. Зато теперь работает и для SDCC.

STM8L. Настройка UART для новичков

Не увидел я на сайте статей для новичков по настройке и работе с UART на STM8L, поэтому решил восполнить этот недостаток. Сейчас я расскажу как просто и быстро его настроить.
В качестве отладочной платы с этим микропроцессором я буду использовать STM8L-Discovery, в которой есть свой отладчик ST-Link. Среду для программирования будем использовать IAR.


Читать дальше

Программный USB на микроконтроллерах STM8 (Часть 2)

Продолжаем описание программного USB на базе микроконтроллеров STM8 (первая часть читать).

Сегодня расскажу о коде приемника и о первом включении устройства:

image



Читать дальше
  • +10
  • 22 февраля 2014, 17:28
  • ZiB
  • 1

Программный USB на микроконтроллерах STM8

В один прекрасный момент в меня засела мысль “а можно ли реализовать программный USB на микроконтроллерах STM8, по аналогии с V-USB для AVR микроконтроллеров”.

И не знаю почему, но я занялся данной реализацией (правда, запала хватило не до конца Печальная рожица, но об этом далее).

На сколько мне известно первым реализовал данный протокол на АВР-ах Инженер Игорь Чешко (Igor Cesko)), в последствии Atmel опубликовала документ AVR309: Software Universal Serial Bus (USB) (читать перевод на русский).

Игорем был реализован прием данных в кодированном виде с последующим анализом, а в V-USB уже декодирование NRZI и выборка незначащих бит происходит “на лету”.

(Если я где-то ошибся прошу сильно не пинать, я не очень сильно углубился в данную тему).

Читать дальше

Библиотека STM8 для DipTrace

Начал интересоваться STM8. Для полюбившегося в последнее время DipTrace не нашел готовых библиотек — решил сделать сам.


Читать дальше
  • +3
  • 31 октября 2013, 00:30
  • shilow
  • 1

Bootloader для STM8. Прошивка "по воздуху"

Представленные ниже материалы не претендуют на научную новизну и новаторство, а являются просто кратким обзором моей реализации бутлоадера для STM8 для прошивки из внешней EEPROM. В конце статьи приложен рабочий проект под IAR. Основано (скорее даже «содрано») все на AppNote от ST. Надеюсь, что кому-то поможет быстрее реализовать некоторые задумки.

Предисловие
Делал я недавно приборчик с Wi-Fi модулем на борту. Хост контроллер там стоит STM8S. Ну и встал вопрос обновления прошивки МК «по воздуху».
Обычно везде описывается вариант работы бутлоадера «на лету» с управлением от некой компьютерной утилиты, которая по какому-либо интерфейсу (UART, SPI, I2C) засылает фрагмент прошивки в МК, этот фрагмент заливается во flash, далее идет следующий фрагмент… и так пока не зальем всю прошивку. Если в процессе прошивки произошел какой-либо сбой (вырубился свет, отказал канал связи), мы спокойно этот сбой устраняем, запускаем bootloader и повторяем попытку. Автономность загрузчика в большинстве случаев ограничивается проверкой условия входа в загрузчик.

Но в некоторых случаях (например, в моем) этот вариант не катит. Например, когда нет прямого доступа к интерфейсам МК, потому что связь с ним (МК) осуществляется через некий канал связи (GSM-модуль, Wi-Fi модуль, PLC). Тогда если произошел сбой в процессе прошивки, то при следующем запуске уже некому будет установить этот самый канал связи т.к. скорее всего bootloader не потянет функционала по управлению вышеперечисленными устройствами.
Напрашивается идея сначала силами основной прошивки «сливать» «образ» новой версии куда-то (например во внешнюю EEPROM), а потом уже загрузиться под бутом и прошиваться с любым количеством попыток, т.к. даже если какой-то сбой и произойдет — из EEPROM образ прошивки никуда не денется.



Читать дальше