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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
igor48
Прорезались зубы
Сообщения: 246
Зарегистрирован: Пт ноя 22, 2013 22:06:15
Откуда: Липецк

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

Сообщение igor48 »

Тут много раз высказывались про то, что ядро x51, на котором базируются STC, устаревшее. А в чем конкретно это будет проявляться при написании и исполнении кода? По сравнению с другими 8-разрядными МК и при равной тактовой частоте.

А вот по поводу "...взял STM32 помощнее и всё ОК! Клиент заплатит..." мне кажется как раз наоборот. В настоящее время новые производительные камни обычно и стоят дешевле. Пока разработчик "старой школы" будет по привычке разбираться в регистрах, "молодой" уже выполнит заказ и будет попивать пивко. Да, он будет использовать библиотеки типа SPL или даже HAL (вот негодяй) и у него останеться на 20% меньше свободной памяти. Зато продажи уже идут и заказчик тоже попивает мартини.
Аватара пользователя
Александр Д.
Встал на лапы
Сообщения: 111
Зарегистрирован: Вс май 12, 2024 12:41:38
Откуда: Подмосковье

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

Сообщение Александр Д. »

Частично соглашусь со второй частью Вашего сообщения. Иногда так и есть
Но на то надо иметь некий опыт проектирования, особенно на первой стадии - планировании.
Я не поленился и продумал алгоритм. Мой код работает на МК 8051 (в партии из 100 шт он стоит 3 юаня, грубо 45р), его - на каком-то STM32 за 850р. В год они продают 150-200 изделий.

Про "моральное устаревание" 8051
Был удивлён, но в применяемых мною компиляторах получилось весьма парадоксально: один и тот же код на ЯВУ, но скомпилированный под AVR и 8051, дал меньший по размеру bin именно под 8051. А когда я переписал SPI с программного на аппаратный, то и еще меньше.
Да, и про скорость: Тут вообще весело ))
Был код для AVR, тактовая - 16 МГц. Дисплей монохромный st7920 на SPI. Когда запустил на STC 8051 - дисплей не работал. Пришлось его тактовую снизить до 6 МГц.

а вообще, это уже халивары: кто stm8 хвалит, кто молится на STM32, а ретрограды типа меня фыркают и мимишкаются с avr и 8051 :write:
Верните прошлое! там было такое прекрасное будущее...
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

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

Сообщение jcxz »

[uquote="igor48",url="/forum/viewtopic.php?p=4664000#p4664000"]А в чем конкретно это будет проявляться при написании и исполнении кода? По сравнению с другими 8-разрядными МК и при равной тактовой частоте.[/uquote]В меньшей скорости исполнения и бОльшем объёме кода. В среднем.
В каких-то отдельных случаях, зная особенности ядра (систему команд, регистры и т.п.), конечно можно так написать код, что на данном конкретном ядре под конкретным компилятором этот код будет быстрее/меньше, чем на другом.

[uquote="igor48",url="/forum/viewtopic.php?p=4664000#p4664000"]Пока разработчик "старой школы" будет по привычке разбираться в регистрах, "молодой" уже выполнит заказ и будет попивать пивко. Да, он будет использовать библиотеки типа SPL или даже HAL (вот негодяй) и у него останеться на 20% меньше свободной памяти. Зато продажи уже идут и заказчик тоже попивает мартини.[/uquote]....а когда завтра обнаружится баг (внутри использованной "либы"), то попивавший пивко ничего с ним сделать не сможет. Ибо надо разбираться и в тоннах кода чужой "либы" и ещё + разбираться в регистрах. Чего он не умеет. И просто молча сольётся, кинув заказчика.
А написавший код сам (разбираясь в регистрах) найдёт и исправит баг. Ведь код он писал сам, а в своём коде разбираться многократно проще, чем в чужом. Да и разбираться нужно просто меньше (регистры он уже знает, и свой код - много меньше чем чужие "либы", так как написан под данную задачу, без всякого лишнего мусора).

И так как правило и случается всегда. А баги - они всегда были и будут.
Как правило такие кодонаписатели потом заявляют: "Баг не у меня, а в либе. И нужно подождать пока авторы либы его исправят". И заказчику приходится ждать неопределённое время или смириться с тем что есть.
Аватара пользователя
ks0
Прорезались зубы
Сообщения: 231
Зарегистрирован: Чт фев 28, 2013 14:16:10

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

Сообщение ks0 »

[uquote="jcxz",url="/forum/viewtopic.php?p=4663901#p4663901"]Чтобы компоновщик мог вырезать неиспользуемые функции/данные, надо чтобы компилятор создавал для каждой такой функции или блока данных отдельную секцию. Только в этом случае компоновщик сможет удалить её (так как манипулирует входными секциями целиком и не может вырезать из них куски). Вот такой ключ (помещать каждую функцию в отдельную свою секцию .obj-файла) и нужно найти и включить в компиляторе.
Иначе - для каждого файла исходного кода генерится одна секция. В которой находятся код всех функций этого файла в виде единой секции. И если хотя-бы одна из функций этой секции где-то используется, то вся секция будет включена в выходной образ прошивки. Даже если там 99 функций - не используется, а используется только одна.[/uquote]
Вот кстати. Когда игрался с stm8 на sdcc (а sdcc под 8051 заточен изначально, кто не знает), то там такая же беда была, что компилятор тянул все функции stdperiph в исполняемый файл. И эту проблему там решили разложив эти библиотечные функции на сотни отдельных файлов: одна функция - один файл. Даже скрипт какой-то был (не вручную же это делать).
Вот такая вот порнография. Не думаю, что проблем с Кейл так же решается и igor48 рад такое услышать ))

Добавлено after 3 minutes:
[uquote="igor48",url="/forum/viewtopic.php?p=4664000#p4664000"]Тут много раз высказывались про то, что ядро x51, на котором базируются STC, устаревшее.[/uquote]
Пофигу ядро. Зато цена копейки и периферия на уровне. Мне в них не нравится, что еепром нет.
Аватара пользователя
Александр Д.
Встал на лапы
Сообщения: 111
Зарегистрирован: Вс май 12, 2024 12:41:38
Откуда: Подмосковье

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

Сообщение Александр Д. »

[uquote="ks0",url="/forum/viewtopic.php?p=4664159#p4664159"]Мне в них не нравится, что еепром нет.[/uquote]
А как же IAP в ряде моделей? Из минусов этого подхода - перезапись сразу всего сектора!
Верните прошлое! там было такое прекрасное будущее...
Adrift
Вымогатель припоя
Сообщения: 539
Зарегистрирован: Вт окт 01, 2024 15:22:33

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

Сообщение Adrift »

[uquote="Александр Д.",url="/forum/viewtopic.php?p=4664009#p4664009"]Да, и про скорость: Тут вообще весело ))
Был код для AVR, тактовая - 16 МГц. Дисплей монохромный st7920 на SPI. Когда запустил на STC 8051 - дисплей не работал. Пришлось его тактовую снизить до 6 МГц.[/uquote]
Вы подключили тормозной SPI дисплей по документации работающий на частоте 2.5 MHz к 16 MHz AVR, как думаете какой там делитель был для SPI? 8, в крайнем случае 4. А на STC видимо делитель был 2, потому до 6 MHz частоту и пришлось понижать )
Аватара пользователя
Александр Д.
Встал на лапы
Сообщения: 111
Зарегистрирован: Вс май 12, 2024 12:41:38
Откуда: Подмосковье

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

Сообщение Александр Д. »

Замечание дельное, но тут иная ситуация: SPI везде был софтовый, каких-либо настроек скорости он не содержал.
После того, как я переписал под STC на аппаратную реализицию, мне пришлось включить делитель 64, но и этого оказалось мало. Как ранее писал: Пришлось уменьшить тактовую STC до 6 МГц, тогда работа пошла.
Верните прошлое! там было такое прекрасное будущее...
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Ср июн 29, 2022 16:25:45

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

Сообщение Just_Fluffy »

Если мне не изменяет память, то 7920 у меня работал максимум на 1.75 МГц. На 2 МГц заводился, но глючил. Плюс там еще засада - каждая команда обрабатывается дисплеем 72 мкс. Очень дурной и неудобный дисплей.
Там тактовая может быть низкая, но не выдержать паузу между командами - глюки... Паузу выдержать, но поднять тактовую - те же грабли....

Насчет выбрасывания неиспользуемого кода - то на СТМках в свойствах проекта в настройках тулчейна я ставлю 3 галки:
2 в настройках компилера (раздел оптимизации) - Prepare dead code removal и Prepare dead data removal
1 в настройках линкера (так же, в блоке оптимизации) - Dead code removal.
И только вот тогда у меня все неиспользуемые функции улетают из кода вон. Возможно, в кейле тоже есть отдельные настройки у компилятора и у линкера для STC
Белая и Пушистая
Аватара пользователя
Александр Д.
Встал на лапы
Сообщения: 111
Зарегистрирован: Вс май 12, 2024 12:41:38
Откуда: Подмосковье

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

Сообщение Александр Д. »

[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4664796#p4664796"]Плюс там еще засада - каждая команда обрабатывается дисплеем 72 мкс. Очень дурной и неудобный дисплей.[/uquote]
согласен!
но когда дизайнер выбрал что-то близкое по размерам - тут не до выбора...
Верните прошлое! там было такое прекрасное будущее...
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Ср июн 29, 2022 16:25:45

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

Сообщение Just_Fluffy »

Александр Д., капец! Там же еще и плата конских размеров!!!! Куда смотрел дизайнер?
Белая и Пушистая
Аватара пользователя
Александр Д.
Встал на лапы
Сообщения: 111
Зарегистрирован: Вс май 12, 2024 12:41:38
Откуда: Подмосковье

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

Сообщение Александр Д. »

А это из-за излучения. :)))
Близость дизайнера к телу руководства гораздо сильнее на него воздействует, чем увещевания инженера... :dont_know:

ps
а еще бывает:
Ой, у нас был проект торгового автомата молокомата (продажа разливного молока)...
А можно платы приспособить для нашего будущего станочка ЧПУ? :idea:
Верните прошлое! там было такое прекрасное будущее...
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Ср июн 29, 2022 16:25:45

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

Сообщение Just_Fluffy »

Александр Д. писал(а):проект торгового автомата молокомата (продажа разливного молока)...
А можно платы приспособить для нашего будущего станочка ЧПУ?
Пивомат лучше.
Белая и Пушистая
Аватара пользователя
Александр Д.
Встал на лапы
Сообщения: 111
Зарегистрирован: Вс май 12, 2024 12:41:38
Откуда: Подмосковье

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

Сообщение Александр Д. »

Хотели, конечно :beer:
Но Закон запрещает: А вдруг вы "до 18" продадите?
СпойлерСпециально глянул архивы: В 2016 делал автоматику для пивоварни. Затиратор, Терморегулятор и Наливатор :)))
Чаны плавают в баках с глицерином (чтобы не кипело как вода при 100С). Мощность нагревателя каждого - 120 Квт вроде было
Верните прошлое! там было такое прекрасное будущее...
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

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

Сообщение Jack_A »

[uquote="jcxz",url="/forum/viewtopic.php?p=4664085#p4664085"]И заказчику приходится ждать неопределённое время или смириться с тем что есть.[/uquote]
Не встречал я таких заказчиков. Мой, например, в таких случаях говрил: "Щас я приеду и табуретку тебе на голову надену !".
Когда затронуто святое - бабло - про гуманизьм и прочие изьмы можно забыть.
Касаемо чужих либ. Вера в их непогрешимость бывает чревата. Либо её тестируешь до изнеможения (либу, а не веру :) ) - и то не факт, что не выкинет что-то в редком и недотестрованном наборе данных - либо пишешь своё. Но в своём тоже могут быть ошибки? Конечно. Но, как правильно было замечено, исправление своего кода быстрее на порядок с вытекающими из-под отсюда последствиями.
Последний раз редактировалось Jack_A Вс дек 29, 2024 11:41:02, всего редактировалось 3 раза.
Изображение
Аватара пользователя
Александр Д.
Встал на лапы
Сообщения: 111
Зарегистрирован: Вс май 12, 2024 12:41:38
Откуда: Подмосковье

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

Сообщение Александр Д. »

[uquote="Jack_A",url="/forum/viewtopic.php?p=4665243#p4665243"]Касаемо чужих либ. Вера в их непогрешимость бывает чревата.[/uquote]
СпойлерЛет этак больше 10 назад был на "обучении". Большой дядька в безопасности со сцены вещал разные тех. казусы, после которых то взорвалось что-то, то сгорело, то растворилось в "химии" )))
Особо запомнился случай, когда совпадение двух "не может быть" привело к огромным проблемам на производстве.
Как помню:
На оборудовании висит некий блок автоматики с ЖКИ.
Персонал тележкой бьёт блок, внешнее проявление повреждения - трещина на экране ЖКИ. Трещина, но вроде всё видно, и особо считыванию данных не влияет. Приходит КИПовец, смотрит: Закажу. Уходит.
Через ХХ дней происходит какая-то аварийная ситуация и... автоматика зависает. В конце концов "бабах" и чего-то там еще нехорошее.
...
Почти 1.5 года шло расследование.

В заключении много интересного. Особенно про веру в библиотеку (а там было что-то серьезное, типа IAR или подобное).
При подаче питания - инициализация ОЗУ, периферии и нашего ЖКИ. В оной ожидание изменения некого флага. Обычно за сколько-то там десятков mS активировалось.
НО такая же инициализация при выводе аварийного сообщения. Идея такова: если даже какой был сбой в памяти контроллера, то ЖКИ точно оживёт.
Дальше: все события пишутся в лог. При срабатывании тревоги - еще и коды ошибок.

И вся цепочка получается знатной:
При подаче питания активация WD и всей периферии, ОЗУ чистим.
В логи пишем код ошибки = 0 (нет ошибки).
Авария > инициализация ЖКИ, зависаем в ожидании флага, перезапуск по WD, чистое ОЗУ, в логах код ошибки 0 (нет ошибки).
Перезапуск... и так до бесконечности.
Верните прошлое! там было такое прекрасное будущее...
Serg S
Родился
Сообщения: 12
Зарегистрирован: Пт сен 06, 2024 15:42:31
Откуда: Заречный Свердловской

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

Сообщение Serg S »

Подскажите ссылку на мануал STC8H8K64U, где есть распиновка в корпусе DIP28. Есть мнения по аналогиям, но нет полной уверенности. Где-то слева внизу должна быть опора (Vref)? Хочу заменить ими 15W408 есть сомнения.
Аватара пользователя
Александр Д.
Встал на лапы
Сообщения: 111
Зарегистрирован: Вс май 12, 2024 12:41:38
Откуда: Подмосковье

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

Сообщение Александр Д. »

Выслал в личку
Верните прошлое! там было такое прекрасное будущее...
Serg S
Родился
Сообщения: 12
Зарегистрирован: Пт сен 06, 2024 15:42:31
Откуда: Заречный Свердловской

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

Сообщение Serg S »

Спасибо. Опасения подтвердились - на порт "5" лап не осталось.
igor48
Прорезались зубы
Сообщения: 246
Зарегистрирован: Пт ноя 22, 2013 22:06:15
Откуда: Липецк

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

Сообщение igor48 »

Наконец мне стала понятна эта беспощадная логика компиляции.
Из описания C51 для Keil: «Невызванная процедура рассматривается компоновщиком как потенциальная процедура прерывания. Это означает, что функции назначается ненакладываемое пространство данных для ее локальных переменных.»

Т.е. она не только занимает место в памяти программ, но и память данных отъедает больше обычного. В общем – полное зло.
Аватара пользователя
FoxtrotKZ
Родился
Сообщения: 12
Зарегистрирован: Вс мар 01, 2020 07:11:32
Откуда: Ridder

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

Сообщение FoxtrotKZ »

Привет всем Котам.
Увидал тему про STC, решил под черпнуть инфо о STC15W408AS, и жестко обломался узнав что прошивку с них не считать. А ещё думал глядя на картинку проги "А где же кнопка Чтение?". Досадно. :cry:
Есть сварочный аппарат Elitech_is200m
СпойлерИзображение
Брал его для экспериментов с силовой техникой т.к. у подобного аппарата управа была на STM, а у этого на STC15W408AS. Видимо последствия удешевления.
Правильно понимаю до сих пор нет вариантов чтения прошивки с этих МК?
Ответить

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