Микроконтроллеры STC: первые впечатления.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
Necromant
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб июн 12, 2010 16:14:09
Контактная информация:

Микроконтроллеры STC: первые впечатления.

Сообщение Necromant »

Добрый день всем,
Как и обещал отписываюсь о первых результатах экспериментов с этим добром.
Сегодня ко мне приехали мелкая девборда: http://stc-51.com/devtools/stc51-starter.php
программатор (на практике - просто usb-uart донгл), и десяток STCшных мк попроще.
В общем, главным плюсом стоит отметить стоимость. В остальном, не хуже и не лучше других мк. Процесс особенно вначале не для слабонервных, так что запасаемся валерьянк^Wтерпением. Особенно при чтении даташитов.
В виде компилятора я выбрал sdcc, ибо был в репозиториях и умеет архитектуру 8051, на выходе него легко можно получить готовый хекс для заливки. Для работы под виндой производитель рекомендует Keil, но я его не ковырял, ибо нет у меня желания в винду возвращаться.
Для работы с SDCC потребуется хедер файлик: http://www.stc-51.com/devtools/STC_NEW_8051.H
Там худо бедно описаны STCшные регистры и на помигать диодами и инициализировать уарт хватит.

Для заливки используется спец софтина: http://stc-51.com/devtools/STC-ISP-V4.8 ... NGLISH.EXE
Прошивальщик написан на VB6 и криво переведен на английский. Впрочем, все основное понятно. Если верить документации, то загубить STC неправильными фьюзами проблематично. Параметры работы выбираются галочками в GUI. необходимость gui для прошивки здорово раздражает, в makefile не запихнешь.

Сам протокол никак не документирован, но я подрубил две RX пины от ft2232 и немного посниффил самопальной софтиной протокол. (Ну и еще кое что почерпнул отреверсив местами софтину-прошивальщик) Частично процесс уже восстановил. Суть такая: мк при старте маленькое время ждет по уарту волшебного байтика (0x7f), по которому автовыставляет, если это возможно, баудрейт уарта, далее контроллер шлет кучу данных, в которых видна его сигнатура, выставленные параметры, частота с которой он работает и еще какой-то хлам, назначение которого я не совсем пока еще понял), далее контроллер софт-сбрасывается, и уже высылаются хекс иидет дальнейший обмен данными.
Сейчас как закончу носиться с документами в аспирантуру, напишу нормальный прошивальщик из командной строки.

Если не считать недостатком немного кривой английский в даташитах, и идиотский прошивальщик, то в общем и целом остается более или менее приятное впечатление.
Отворот и приворот. Потомственный мастер. Выезд со своей отверткой.
Аватара пользователя
selevo
Открыл глаза
Сообщения: 41
Зарегистрирован: Чт ноя 26, 2009 13:44:03
Откуда: Ижевск
Контактная информация:

Re: Микроконтроллеры STC: первые впечатления.

Сообщение selevo »

ждём нах новостей :)
ибо цена меня тоже волнует больше всего остального.
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: Микроконтроллеры STC: первые впечатления.

Сообщение МитяРа »

Мяу всем..

Во чего в МК51 семействе не хватало, так это моделей в DIP-8 корпусе.. /NXP - не в счёт../

Попробуем изучить отличие STC от "классики", а потом попробуем потискать вживую... :tea:
ИзображениеМежду людьми возникает напряжение, если у них разный потенциал...
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: Микроконтроллеры STC: первые впечатления.

Сообщение qwerky »

Имхо интересно разве что для массовых производителей, экономящих каждый цент. Чипы сами по себе малоинтересны - слабая периферия, по цене ненамного ниже STM8/32.
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

Re: Микроконтроллеры STC: первые впечатления.

Сообщение avreal »

А корпус DIP8 ничем не лучше SO-14 даже для домашних LUT-изделий «выходного дня», не говоря уже о TSSOP для серии :-)
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Freiwind
Прорезались зубы
Сообщения: 208
Зарегистрирован: Вт авг 14, 2007 14:46:45
Откуда: Москва
Контактная информация:

Re: Микроконтроллеры STC: первые впечатления.

Сообщение Freiwind »

Necromant писал(а):Добрый день всем,
Как и обещал отписываюсь о первых результатах экспериментов с этим добром.
Для работы с SDCC потребуется хедер файлик: http://www.stc-51.com/devtools/STC_NEW_8051.H

Я заметил, что таблицы SFR разные, допустим для STC12C5Axx и STC12C56xx. И адреса некоторых регистров не совпадают. А хедер-файл, как ни странно, один.

Что-нибудь новенькое наэкспериментировали? ;)

P.S. Нашел заголовки для других камней на их китайском сайте. :)
Аватара пользователя
Necromant
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб июн 12, 2010 16:14:09
Контактная информация:

Re: Микроконтроллеры STC: первые впечатления.

Сообщение Necromant »

Кроме пробных программок небольших я особенно не гонял. Так что про хедер и SFR ничего не могу сказать. sdcc вроде нормально подцепил.
Штатный прошивальщик неюзабельное Г. Быстренько наваял сниффер, отреверсил почти полностью протокол прошивки.
Вот сырцы сниффера: https://github.com/nekromant/usniffer
(cборка как обычно - autoreconf --install --force && ./configure && make && make install, под виндовс не собирал)
Нужно два уарта, RXы вешаем на линии по которым будем прошивать STCшку, после запускаем и смотрим дамп.
Коды устройств я выдрал из штатной прошивальни, прошивка шьется блоками, каждому из которых считается чексумма. Какой алгоритм подсчета чексуммы я пока не допер, но близок к этому. Думаю к новому году домучаю до конца и напишу свою реализацию, чтобы с мейкфайлов можно было нормально шить.
Отворот и приворот. Потомственный мастер. Выезд со своей отверткой.
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: Микроконтроллеры STC: первые впечатления.

Сообщение qwerky »

как там с периферией и скоростью по сравнению с MCS51,52/AVR/STM8 ?
Аватара пользователя
Necromant
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб июн 12, 2010 16:14:09
Контактная информация:

Re: Микроконтроллеры STC: первые впечатления.

Сообщение Necromant »

По периферии - что-то вроде avr. местами понавороченнее. Блок GPIO например тут поболе режимов умеет. Скорость - до 35 мегагерц, рекламируют как 'mostly single cycle execution'. Ну и это CISC, код выходит местами более компактным, по сравнению с аврками. C stm8 сравнить не могу - не ковырял и пока st не разродиться нормальным компилятором (gcc || sdcc) не планирую. Радует что сотенку очень мелких 8ногих можно взять крайне дешево (то что надо для мелких решений). Жаль нету аналога vusb под них. С ним было бы совсем ку!
Отворот и приворот. Потомственный мастер. Выезд со своей отверткой.
qwerky
Мучитель микросхем
Сообщения: 487
Зарегистрирован: Пт июн 12, 2009 19:17:35
Контактная информация:

Re: Микроконтроллеры STC: первые впечатления.

Сообщение qwerky »

цены не такие уж низкие - почти 1$ за самую мелочь, сопоставимо с Attiny13/Atmega48/STM8S103/STM32F100. Плюс на сайте декларируют Free shipping, а на странице заказа наворотили 38$ за доставку.

чипы в Soic8 также программируются через RS232 ?
Аватара пользователя
Necromant
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб июн 12, 2010 16:14:09
Контактная информация:

Re: Микроконтроллеры STC: первые впечатления.

Сообщение Necromant »

Да, там все уартом, даже если в самом мк уарта нет. Шиппинг у них фри, просто они накосячили когда на али заполняли. Надо написать им при заказе, исправят. Можно так же stcшки брать с siliconray.com - вкусное местечко, там даже Free gift'ы можно выбрать к заказам в зависимости от суммы заказа (блок питания там, мультиметр, смдшные резюки). Но шиппинг почтой там Flat Rate - 15$, т.е. выгодно брать, когда заказ около сотни в сумме.
Отворот и приворот. Потомственный мастер. Выезд со своей отверткой.
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: Микроконтроллеры STC: первые впечатления.

Сообщение МитяРа »

Necromant, внимательно слежу за твоей темой..
Поясни, как-же они по usart-у шьются, если у них сброс внутренний.. или как?
ИзображениеМежду людьми возникает напряжение, если у них разный потенциал...
Аватара пользователя
Necromant
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб июн 12, 2010 16:14:09
Контактная информация:

Re: Микроконтроллеры STC: первые впечатления.

Сообщение Necromant »

МитяРа писал(а):Necromant, внимательно слежу за твоей темой..
Поясни, как-же они по usart-у шьются, если у них сброс внутренний.. или как?


Просто. по сути мк отличает cold-reset при подаче питания от дерганья ноги ресета, и при нем очень малый промежуток времени ждет ключевого байта на RX. 0xf7 по которому выставляет частоту передатчика и гадит параметрами программе. Это как бы первая стадия. Вторая - после записи/чтения параметров он перенастраивает частоту уарта, иногда на большую. и получает прошивку, которую пишет. Я пока не до конца отреверсил протокол - много работы с диссертацией. Везде юзается even четность. Так прошиваются, насколько понял, даже самые мелкие мк где аппаратного уарта по даташитам и нет.
Вот пример прошивки тестовых данный, которые я просниффил http://necromant.ath.cx/wp/2011/10/14/%d1%80%d0%b5%d0%b2%d0%b5%d1%80%d1%81%d0%b8%d0%bd%d0%b3-%d0%bf%d1%80%d0%be%d1%82%d0%be%d0%ba%d0%be%d0%bb%d0%b0-%d0%bf%d1%80%d0%be%d1%88%d0%b8%d0%b2%d0%ba%d0%b8-stc/?lang=ru
Отворот и приворот. Потомственный мастер. Выезд со своей отверткой.
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

Re: Микроконтроллеры STC: первые впечатления.

Сообщение МитяРа »

Благодарю.. подумаем..
ИзображениеМежду людьми возникает напряжение, если у них разный потенциал...
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15539
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Микроконтроллеры STC: первые впечатления.

Сообщение BOB51 »

В принципе весьма неплохие мелкосхемки…
Можно бы и приграться, НО… :cry:
В наших краях пока не наблюдается. :(
«От100» на побаловаться никто возить не будет, тем более 1-2 штуки.
В качестве ассемблера вполне подходит Атмеловский
c51asm.exe - http://www.atmel.com/dyn/resources/prod ... in_1-2.zip
с его возможностью назначать любой собственный SFR
директивой SFR, ну и прочими приятностями относительно
адресации данных, еепром, флеш и внешней памяти (подобно кейлу).
SDCC конечно тоже весьма приятно, но пока я с этим не играюсь…
Изучать протокол заливки в принципе без особой надобности – есть
оболочка-утилита и для начала того вполне достаточно.
Единственно – требуется страховаться по выводам программирования
от случайных комбинаций , которые могут привести к запуску режима
ввода программы, да и функции P4 на начальном этапе лучше не трогать
(по аналогии с реаниматором AVR).
Чего касательно купить – так цена должна быть в разумно-конкурентных
пределах :
AT89C2051 24PU – 10 гришек – девать некуда
(AT89C4051 24PU ~15)
AT89C52 24PI – 13 гришек- туда же
8-pin PICи – от 7 до16 гришек, то же и по AVR - в избытке
14-16-18 pin в пределах 25 гришек максимум
Ну а о «больших» (40pin и более) разговор несколько другой, но… это уже для «суперконструкций» которые обычно копируют (обезьянничают) а не разрабатывают
Там цены от 30 и до…300
Аватара пользователя
Necromant
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб июн 12, 2010 16:14:09
Контактная информация:

STCDUDE-0.1

Сообщение Necromant »

Такс, у меня дошли руки, запилил прошивальщик этих мк под линукс, ибо виндовый это ужас летящий на крыльях ночи, как и укуренный неюзабельный Keil. Пришлось попотеть, чтобы разобрать протокол без документации.
В общем, пока умеет:
Детект типа мк и вывод справочной информации.
Определять версию загрузчика.
Определять (сравнительно точно) частоту мк
На основе этого делать хэндшейк, переключение баудрейта и закачку бинарника.
Примеры проектов с make & sdcc, вместе с обработанным скриптом keil2sdcc.pl заголовочником положил к себе на гитхаб
https://github.com/nekromant/stc-makefile-example
Сам прошивальщик:
https://github.com/nekromant/stcdude
Может кому и пригодится. Моя стцдудка тянет в зависимостях только lua.
Подробный анонс у меня в бложике: http://ncrmnt.org/wp/2012/10/01/stcdude ... 1-is-here/

Проверено с STC10F04XE, STC12C5A32S2 и STC12C5A60S2 и кварцами 8 12 16 и 20.
Мк одних с ними серий будут работать скорее всего без проблем, мк других серий с аппаратным уартом скорее всего тоже, но на них не сгенерил mcudb пока, как потребуется - пишите. Остальные - надо пробовать.

P.S.
Их официальный магаз - siliconray.com, кратно 10шт.
На таобао они в разы дешевле, где-то 1-2 юаня за самые навороченные, но оттуда заказывать гемор.

P.P.S. Да, у меня не быстро дошли руки их домучать :))

Попутно я еще сварганил на них пару проектов. По сравнению с AT89 (AT89SND1, например) они РЕАЛЬНО быстрые. Софтовая задержка на С которая на STC отрабатывает 1 секунду, на AT89 колупается около 30-40 при той же частоте. Периферии немного, железка тупая. В общем, для особенно мелких проектов, где не нужен USB - самое то.
Отворот и приворот. Потомственный мастер. Выезд со своей отверткой.
the_tolik
Родился
Сообщения: 10
Зарегистрирован: Пн ноя 21, 2011 20:40:49

Re: Микроконтроллеры STC: первые впечатления.

Сообщение the_tolik »

Скажите, какой мне нужно приобрести (или собрать) программатор для работы с STC12C5608AD (DIP28), у меня есть MiniPro TL866CS, с помощью его ни как?
Вот даташит http://www.datasheetspdf.com/PDF/STC12C5628AD/853212/1
Последний раз редактировалось the_tolik Пт мар 13, 2015 20:48:10, всего редактировалось 1 раз.
st47k3r
Родился
Сообщения: 4
Зарегистрирован: Сб май 20, 2017 17:43:02

Re: Микроконтроллеры STC: первые впечатления.

Сообщение st47k3r »

Necromant, Приветствую!

Имеется STC12C5608AD(из сгоревшего блока - сама живая), стоит задача скопировать ее в новую такую же "болванку".
Правильно ли я понимаю, что более менее единственным вариантом будет, написать "програмку" для нее, для вычитки память AP, через старт написанной программы для нее из IAP?
Или есть еще варианты?
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15539
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Микроконтроллеры STC: первые впечатления.

Сообщение BOB51 »

Чисто теоретически - верно....
Только вот...
Как бы потом штатного бутлоадера не лишиться...
:?
И самое главное - запишется ли область ISP из программатора?
Помимо прочего для такого фокуса необходимо чтобы ОСНОВНАЯ программа вызвала переключение на перезагрузку из области ISP, что авторами прикладной прожки наверняка не предусматривалось.
8)
st47k3r
Родился
Сообщения: 4
Зарегистрирован: Сб май 20, 2017 17:43:02

Re: Микроконтроллеры STC: первые впечатления.

Сообщение st47k3r »

BOB51, тут да.. но поле для деятельности есть - как с "программой" так и "болванок" - пруд пруди.
Так что не страшно.
Просто пытаюсь понять, и собрать варианты, как это можно сделать.. пока в мозг засел такой вариант.
Буду рад, если посоветуете, как еще можно :(
Ответить

Вернуться в «Разные вопросы по МК»