Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

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

Пт мар 11, 2011 22:27:19

Добрый день всем,
Как и обещал отписываюсь о первых результатах экспериментов с этим добром.
Сегодня ко мне приехали мелкая девборда: 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), по которому автовыставляет, если это возможно, баудрейт уарта, далее контроллер шлет кучу данных, в которых видна его сигнатура, выставленные параметры, частота с которой он работает и еще какой-то хлам, назначение которого я не совсем пока еще понял), далее контроллер софт-сбрасывается, и уже высылаются хекс иидет дальнейший обмен данными.
Сейчас как закончу носиться с документами в аспирантуру, напишу нормальный прошивальщик из командной строки.

Если не считать недостатком немного кривой английский в даташитах, и идиотский прошивальщик, то в общем и целом остается более или менее приятное впечатление.

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

Пн май 09, 2011 12:02:40

ждём нах новостей :)
ибо цена меня тоже волнует больше всего остального.

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

Ср май 11, 2011 09:14:42

Мяу всем..

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

Попробуем изучить отличие STC от "классики", а потом попробуем потискать вживую... :tea:

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

Ср май 11, 2011 14:29:10

Имхо интересно разве что для массовых производителей, экономящих каждый цент. Чипы сами по себе малоинтересны - слабая периферия, по цене ненамного ниже STM8/32.

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

Ср май 11, 2011 15:44:09

А корпус DIP8 ничем не лучше SO-14 даже для домашних LUT-изделий «выходного дня», не говоря уже о TSSOP для серии :-)

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

Вс июл 10, 2011 12:40:40

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

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

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

P.S. Нашел заголовки для других камней на их китайском сайте. :)

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

Вс ноя 13, 2011 22:12:29

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

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

Вс ноя 13, 2011 23:04:25

как там с периферией и скоростью по сравнению с MCS51,52/AVR/STM8 ?

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

Пн ноя 14, 2011 12:21:38

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

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

Пн ноя 14, 2011 12:40:33

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

чипы в Soic8 также программируются через RS232 ?

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

Вт ноя 15, 2011 10:26:24

Да, там все уартом, даже если в самом мк уарта нет. Шиппинг у них фри, просто они накосячили когда на али заполняли. Надо написать им при заказе, исправят. Можно так же stcшки брать с siliconray.com - вкусное местечко, там даже Free gift'ы можно выбрать к заказам в зависимости от суммы заказа (блок питания там, мультиметр, смдшные резюки). Но шиппинг почтой там Flat Rate - 15$, т.е. выгодно брать, когда заказ около сотни в сумме.

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

Вт ноя 15, 2011 15:55:34

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

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

Вт ноя 15, 2011 23:09:40

МитяРа писал(а):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

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

Ср ноя 16, 2011 09:13:58

Благодарю.. подумаем..

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

Сб ноя 19, 2011 10:54:58

В принципе весьма неплохие мелкосхемки…
Можно бы и приграться, НО… :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

STCDUDE-0.1

Вт окт 02, 2012 23:47:30

Такс, у меня дошли руки, запилил прошивальщик этих мк под линукс, ибо виндовый это ужас летящий на крыльях ночи, как и укуренный неюзабельный 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 - самое то.

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

Пт мар 13, 2015 20:42:22

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

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

Чт июл 06, 2017 09:51:21

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

Имеется STC12C5608AD(из сгоревшего блока - сама живая), стоит задача скопировать ее в новую такую же "болванку".
Правильно ли я понимаю, что более менее единственным вариантом будет, написать "програмку" для нее, для вычитки память AP, через старт написанной программы для нее из IAP?
Или есть еще варианты?

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

Чт июл 06, 2017 10:28:28

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

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

Чт июл 06, 2017 11:12:34

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