Комментарии 218
Вообще необходимость в защите кода сильно зависит от разрабатываемого устройства. Хочу также заметить, что обновляемое ПО не обязательно является незащищённым. Если речь идёт, например, о медицинском приборе, то оставлять его содержание в открытом доступе во многих случаях просто опасно. Даже в секторе IoT можно получить много сюрпризов, оставив ПО открытым.
В 95% девайсов прошивка производителя нужна только для демонстрации возможностейя бы не рискнул высказываться так однозначно, возможно в вашем сегменте это так, но обобщать не стоит.
В серийный устройствах, изготовляемых китайцами я вообще рекомендую клиентам исключительно функциональные тесты прошивать. Для устройств, имеющих беспроводные интерфейсы, ещё бутлоадер для перепрошивки, причём привязанный к номеру устройства.
В большинстве случаев, для более-менее сложных дивайсов всё равно окончательную сборку, прошивку и тестирование клиенты уже в России делают. Ну а скажем такие вещи как автомобильные сигнализации, часто имеют универсальную плату в которую шьётся ПО для различных моделей.
Даже в секторе IoT можно получить много сюрпризов, оставив ПО открытым.Про security through obscurity слышали?
Сегодня телевизоры действительно висят на стенах и в принципе можно делать очень совершенные датчики проникновения, при наличии резервной батареи они могут заставить программу самоуничтожиться.
Но этим никто не хочет заморачиваться, ведь это надо будет учитывать при установке софта, развертывании в домене(например). А там как обычно поменяют что-то незначительно и установка прав не сработает, надо другой набор атрибутов прописывать а для этого нужно выяснить какие именно… с точки зрения затрат на решение проблемы, развертывание виртуальной среды дешевле и даёт стабильный результат.
С корпусами как раз проблем нет с появлением переходников QFP-DIP и аналогичных. Плюсом, на этих переходниках есть вся необходимая комплектуха. Популярность 8-битных МК вызва Ардуино сообществом, где они и применяются, в основном.
Тем не менее думаю фактор Ардуино таки перевешивает. Правда большинство любителей этой платформы оперирует на уровне плат и редко что-то самостоятельно на микронтроллерах собирает.
Свои первые поделки в кружке радиолюбителей в конце концов я так паял и ничего, работало. Правда микросхем в них не было никаких, даже в DIP корпусах.
А переходники — так какая разница паять QFP на переходник или сразу на плату?
Проблема не впаять контроллер в плату, а изготовить ту самую плату в домашних условиях.
А проводить дорожки между выводами QFP не каждое производство позволит. И если вдруг возникает такая необходимость, то явно имеются какие-то проблемы с проектированием платы в целом, а не с ограничениями домашнего изготовления.
Китайцы конечно сделать смогут, а вот тот же Резонит уже вряд ли. В таких ситуациях гораздо лучше перейти на четырёх слойку и она обойдётся дешевле чем двухслойка, которая позволяет творить такие чудеса! При массовом производстве плат сегодня четырёхслойка без извращений стоит всего процентов на 20 дороже двухслойки с одинаковыми нормами допуска.
В последнем проекте очень хотелось поставить BGA чипы с шагом 0.5 мм, но крепко подумал отказался. Вручную сэмплы спаять сложно, проверить качество пайки невозможно, отлаживать плату крайне неудобно. Скрипя сердцем установил таки LQFP 64 и перекинул несколько компонентов на вторую сторону платы. Зато плату без проблем сделали в Резоните. Это был прототип, если дойдёт до серии ещё подумаю…
Кстати, что легко можно делать даже в утюжной технологии — пускать проводники по углам LQFP, для 64 нового корпуса и более легко проходит по три проводника.

При массовом производстве плат сегодня четырёхслойка без извращений стоит всего процентов на 20 дороже двухслойки с одинаковыми нормами допуска.В Резоните при прочих равных цена пропорциональна числу слоев.
Потом ты узнаёшь от них что твой заказ с такими допусками настолько индивидуален, что придётся делать его на отдельной заготовке, площадь которой придётся оплатить полностью, причём по завышенному тарифу.
В результате у меня бывали случаи что переплачивать приходилось в 3-5 раз при заказе маленьких по площади плат в небольших количествах, а другие у меня редко бывают.
Кроме того, если вы знаете допуски и введете их при создании заявки, калькулятор все это учтет. А еще там можно не ставить галочку «запускать без оплаты» и тогда это «придется» уже будет зависеть от ваших приоритетов.
Но дальше начался ад. Сначала они подняли визг, что я не указал реквизиты плательщика, хотя совершенно не понятно какого чёрта им они нужны, если это частное лицо. Я никогда ранее их не указывал и всё работало. Потом они не включили в стоимость заказа стоимость доставки, хотя раньше всегда по умолчанию включали. Потом они зачем-то заменили лицо, указанное мной в адресе доставки на ФИО плательщика, причём без предупреждения. В итоге, в место того, чтобы доставить в ближайший постомат заказ в Самаре, его доставили почему — то в деревню под Самарой, хотя адрес был указан точно и полно вплоть до индекса! Пришлось названивать ругаться и в результате заплатить более 1000 рублей за доставку платок, общей площадью менее двух квадратных дециметров! Процесс логистики в России разваливается буквально на глазах, даже у ранее уважаемых мной компаний. Резонит не единственная в этом списке.
Что касается остальной жести — у меня такое в первый раз. Кстати, они совсем недавно сменили партнёра, который занимался доставкой, видимо это сыграло свою роль.
Например: www.symmetron.ru/suppliers/wells
Панельки по ссылке выше, разумеется, не для серийного устройства, а, например, для прошивальщика или для прототипа.
речь про DIY, а это, если немного утрировать, — паяльник на 40 ватт, припой ПОС-61 прутком и сосновая канифоль в баночке
Это уже какой-то случайный DIY и речь уже будет идти не о разработке, а о повторении — взять ардуину, припаять к ней на проводках остальное как показано в ролике на Ютубе :) Тогда и панельки не востребованы и статья эта не для таких людей.
Сейчас наверно эти советские раритетные паяльники остались у очень немногих, а в основном если хочешь заняться DIY сейчас очень хороший выбор для старта в том числе и жала для пайки волной по цене ничем не отличающиеся от обычных а стало быть нет причин чтобы не иметь их в арсенале.
Вот что сейчас кусается ценой для DIY так это инфракрасные паяльники, но думаю в итоге и они тоже пойдут в дело. Ведь это почти как фен только не сдувает компоненты с платы.
В DIY обычно нет такого понятия как «прототип»
У меня — есть. Сначала слепить прототип с кучей проводков, из остатков каких-то плат, просто чтобы проверить что все заработает, ничего не забыто и не перепутано, написать ядро будущей прошивки. А потом уже с учетом полученного опыта сделать нормальную плату в нужных размерах со всеми компонентами на ней.
Но у кого-то может все так на проводках и останется припаянным к такой панельке.
Переходник гоооораздо дороже выйдет.
Он просто не нужен.
Панельки для DIP никоим образом не влияют на размер платы
Посмотрите на плату на КДПВ этой статьи и представьте на ней корпус DIP на 40 ног. Влазит? И это на 40 ног, а не на 64, как у микроконтроллера на фото.
позволяют вынуть контроллер и залить в него новую прошивку за две минуты
Вот прямо сейчас у меня рядом лежит отлаживаемая плата, на которую я заливаю прошивку за 3 секунды вообще не прикасаясь к ней. И отлаживаюсь в рилтайме, выполняя по шагам, останавливая программу на нужных строках, видя вживую все переменные и регистры. Вот это — гигантское преимущество. В панельки (обычные для DIP) — это костыль, когда ничего другого не остается.
А такие панельки как по ссылке выше… Вы в курсе цен на такие панельки для QFP? Они совершенно не для DIY.

Не обращайте внимания на состояние меди — этот отладочный прототип уже с год валяется в ящике :)
Я наоборот за поверхностный монтаж — QFP, QFN. Обычным паяльником я запаиваю десяток TQFP-64 минут за 8, раза, наверное в два-три быстрее, чем паять DIP в пересчете на один вывод :)
Хотя уже с пол-года не занимался этим в таких объемах, после того как купил PnP-станок и трафаретный принтер :)
Взял самый дорогой вариант TVM802BX из-за встроенного компьютера, то есть не нужно искать где-то отдельный комп, занимать им место. Ну и в дальнейшем выяснилось еще одно его преимущество — у него шаговые сервоприводы, а не просто моторы. То есть с энкодерами на валах для обратной связи по положению. В более младших моделях стоят двигатели без энкодеров.
Я делал на него обзор, если интересно — mysku.ru/blog/taobao/66376.html
P.S. Вот вам ARM Cortex-M0 в DIP-корпусе.
И вообще, много интересного есть.
ISP создает проблемы в разводке, да и с подключенными цепями совместим далеко не всегда
А какие проблемы у Вас с разводкой двух линий? И зачем совмещать их с какими-то цепями?
Дёргать контроллер из панельки для очередной отладочной прошивки… и сколько раз ты его так сдёрнешь до первого обломанного вывода? Панелька… это от силы десяток-другой выдёргиваний, если надо больше это уже крайне неудобно.
Не возьмусь судить о том, насколько статья понятна человеку, далекому от эмбеда, поэтому лучше придерусь :)
Одно из неоспоримых преимуществ микроконтроллера — программа, под управлением которой он работает, скрыта внутри его корпуса (в секции под названием “память программ”) и очень хорошо защищена от взлома, конечно, в случае, если разработчик микрокода об этом позаботился, активизировав встроенные механизмы защиты. Таким образом, вы получаете защиту интеллектуальной собственности настолько большую, насколько это возможно в наши дни.
Что нельзя взломать — то можно скопировать. Зачем пытаться считать код, встроенной в микроконтроллер программы, с помощью дорогостоящих хитроумных приспособлений, если проще и дешевле найти профессионала, который может написать его заново? Возможно результат будет даже лучше, а функционал богаче чем у прототипа. Да это стоит денег, но содержание FLASH памяти сегодняшних микроконтроллеров настолько хорошо защищено, что попытки грубого “взлома” обойдутся ещё дороже.
К сожалению, это не совсем так. По крайней мере, большинство производителей потребительской электроники очень расплывчато гарантирует защиту прошивок от чтения. Практика показывает, что взломать такую защиту (в некоторых случаях) можно достаточно бюджетно — раз, два и хардкорное три.
Физический доступ к девайсу это очень серьезный аргумент при взломе, тут нужны какие-нибудь более серьезные процы с сертификацией, типа ST53G.
Потому как тот, кто оплатит дорогой взлом вряд-ли будет сильно демпинговать, а пока этот взлом будет длиться рынок наш.
Бывают варианты — зачастую сам процесс вывода на рынок изделия настолько затратен, что контрафакт имеет мало смысла. Исключение пожалуй составляют очень массовые изделия, которые клонируют китайцы, либо просто часть тиража продают налево.
Что касается программных методов взлома — зачастую они становятся возможными по одной простой причине — программист не уделил достаточно много внимания защите кода, особенно это характерно для устройств с бутлоадерами. Можно пролезть в «дырку», изменить часть кода «внедрив» в программу «демона», который перехватит управление и сольёт содержание программы через один из внешних интерфейсов.
Однако это путь «настоящих джидаев». Даже «чёрные кассы» — кассовые аппараты с закладками для обнуления — создавали в своё время разработчики ПО для тех же касс с целью дополнительного заработка.
Цифровые входы обычно имеют очень высокое входное сопротивление, поэтому, если их оставить не подключенными, их состояние может скакать из нуля в единицу и обратно, под действием наводок электромагнитных полей. Для того, чтобы этого не происходило, существуют специальные режимы, когда внутри чипа вход соединяется через сопротивление 20 — 50 КОм с плюсом питания микроконтроллера (pull-up) или с минусом (pull-down).
Недавно тут была статья, в которой советовалось неиспользуемые выводы переводить в режим аналоговых входов. Тогда внутренний триггер Шмитта отключается и не молотит от всех этих наводок.

хороший результат, отлично поработали коллега
Спасибо, но тут основная заслуга у железа, а оно по большей части не мое :) Я в нем только несколько моментов исправил (типа отсутствия подтяжки на затворах ключей, включающих питание, делители и т.д.). Ну и по дисплею предложил добавить ключ на его питание, сейчас это решается.
Я много работаю с беспроводными решениями в последнее время, BLE в основном
У меня тоже в некотором смысле беспроводное решение — с использованием GSM-модема. Но с потреблением модема решается просто — ему рубится питание когда он не нужен :) У девайса задача просыпаться через заданные промежутки времени для сбора данных с кучки датчиков, а через более длительные промежутки времени просыпаться и отправлять собранные данные через модем. Если не получилось отправить — сохранить и передать в следующем сеансе связи вместе с новыми данными, терять накопленные данные недопустимо.
до последнего времени как раз STM32L151 юзали
А на что перешли и по каким причинам?
купить во такого монстра
Помню статью о нем :) Если не секрет — сколько такая штука стоит? :)
от STM32L151 отказываться не собираемся, но в последнем проекте потребовался аппаратный интерфейс к SD карте, SPI медленно работает и не со всеми картами. А иногда наоборот что-то надо бывает попроще и подешевле — был эксперимент с STM32L031
SPI медленно работает и не со всеми картами.
А можно вот тут поподробнее? С какими не заработало?
Обычно карточки вроде SD/TF или MMC работают по упрощённому SPI интерфейсу или 4*SPI с тактовой частотой до 45Мгц.
Для режима single-SPI скорость тактовая ограничена, поэтому кроме того что карта работает всего лишь в один поток из 4-х так ещё и медленней в итоге реальная скорость обмена не больше 1-2мб/сек.
Не представляю как такие карты обеспечивают режим работы класса U3? 30Мбайт/сек на запись гарантированно, скорость интерфейса должна быть минимум 60Мгц на 4 канала, или там >30Мгц но защёлка срабатывает и по фронту и спаду тактового сигнала? или многофазный тактовый сигнал? Дальше только SATA интерфейс встраивать прямо в карту или USB3.1 но это новый виток войн интерфейсов…
Собственно и мой вопрос насчёт 'какие-то карты не работают с SPI' был вызван именно этим — может, из-за того, что не подали низкую частоту вначале инициализации. Ну а может, у китайцев появились 'чюдесные' нестандартные карты, которые «SPI-illiterate» :)
Хотя если микроконтроллер не умеет управлять своими клоками, тогда шутка, да :)
Возможно причина моих пробелов в этом:

весьма характерная строчка сегодня для региона России, но редкая для Евросоза, где я сейчас нахожусь
Я бы сказал, что F7/H7 — это такой особый класс SoC — замена Linux-систем. То есть Вместо 3х чипов для linux — ставим один для FreeRTOS. Мы, лично, получили большой кайф при избавлении от linux.
Поэтому мой совет — если у вас linux, но сама задача в H7 влезает — подумайте, нужен ли вам этот огромный монстр?
— Cholesky using float pair
Cnt=10000 Neg=0 SumTime=10.9s AveTime=1.0ms
Cholesky using double
Cnt=10000 Neg=0 SumTime=6.5s AveTime=657.5mks
Gauss_TT using float
Cnt=10000 Neg=0 SumTime=34.2s AveTime=3.4ms
Gauss_TT using double
Cnt=10000 Neg=0 SumTime=19.8s AveTime=1.9ms
max err Cholesky = 0.000000077
max err Gauss_TT = 0.000000000
— С оптимизацией "-O3":
— Cholesky using float pair
Cnt=10000 Neg=0 SumTime=6.2s AveTime=629.1mks
Cholesky using double
Cnt=10000 Neg=0 SumTime=6.5s AveTime=656.5mks
Gauss_TT using float
Cnt=10000 Neg=0 SumTime=19.5s AveTime=1.9ms
Gauss_TT using double
Cnt=10000 Neg=0 SumTime=19.5s AveTime=1.9ms
max err Cholesky = 0.000000077
max err Gauss_TT = 0.000000000
—
float- арифметика через float pair на 32битном FPU, double — soft FPU. Видно, что обращение матрицы все равно занимает 1.9мс, то есть больше 500 обращений в секунду не сделать.
Кстати и 64битный FPU дает ускорение где-то на полпорядка (в 3-6 раз, если не путаю). Матрицы довольно большие, при обращении все в кэш не лезет.
Ну и чтобы два раза не вставать. Расчет sqrt полиномом обычно настолько эффективен, что может даже обгонять FPU. Помню как 35 лет назад мы очень этому факту удивлялись. Проверьте на любом доступном вам проце — думаю, что тоже удивитесь.
Ну и ещё совершенно ясно, что на m4f даблы будут эмулироваться, смысл их тестировать? Double-word arithmetic даёт максимальную точность, равную кол-ву бит мантиссы в двух флоатах, т.е. 23*2=46 бит, в то время как точность даблов — 53 бита, откуда следует, что эмулировать даблы при помощи double-word arithmetic нельзя.
Я же плотно засел на атмеги. Да они сейчас на китае в основном контрафакт но имея арсенал из 15 устройств в разработку которых потрачено много времени сил и денег — переход на армы пока не планируется даже просто потому что под арм уже двусторонняя плата нужна а это стоимость и проблема в том что и атмеги 328 нам хватает не то что за глаза — а просто выше крыши.
правда если бы было на неё полное описание и открытый SDK
Вот поэтому, наверное, его и не все любят :)
правда если бы было на неё полное описание и открытый SDK… ну и gpio мало
То-то и оно :)
под арм уже двусторонняя плата нужна
Не совсем понял — как это внутренняя архитектура микроконтроллера влияет на количество слоев платы? :)
атмеги 328 нам хватает не то что за глаза — а просто выше крыши
Только стоит она как очень неплохой такой ARM, особенно в DIP-корпусе :)
тогда она вышла в районе 0.9 долара за штуку. армы на такой ценник только большими партиями, у популярных из них много ног
STM32F030C8T6 — 0.73$ за штуку в партии от 750 штук (в Компэле), 64/8 кб флэш/оперативка, LQFP-48 :)
STM32F030K6T6TR — 0.48$ за штуку в партии от 960 штук (в Компэле), 32/4 кб флэш/оперативка, LQFP-32 :)
0,9 это с доставкой — нас устраивает. Переход на принципиально другой камень на 3.3 вольта это сложно технически и программно и не обойдется без пары преобразователей 3.3-5 что уже недопустимая роскошь. Дада в 2019 году есть устройства которые не понимают 3.3/3.6 на входе на частоте 100 герц всего :) опять же цена.
Конечно же когда встанет вопрос разработки нового устройства следующего в серии мы попытаемся прикинуть и впихнуть в арм какойто но это очень сложно на текущий момент не смотря на то что атмеги не производятся официально — атмель умер
Переход на принципиально другой камень на 3.3 вольта это сложно и не обойдется без пары преобразователей 3.3-5 что уже недопустимая роскошь.
Если это однонаправленные линии, то преобразователь — это транзистор с парой резисторов — это меньше одного рубля :)
можете посмотреть вот здесь
По моим оценкам они стоят где то в два раза дешевле чем аналогичные производства STM, но простейших Cortex-M0 они не производят, только старенькие копируют.
Если важно низкое энергопотребление то не подойдут.
В результате девайсы я так и не опробовал в действии. На сайте написано что они аналоги за исключением совсем мелких деталей в конфигурации. Я так понял все отладочные средства должны действовать, но не проверял.
progchip666, Опять же мы не из России и потому есть проблемы определенные с логистикой.
Брак попадался и попадается… у нас есть уарт 38400 с другим кварцованным устройством. раньше никогда проблем небыло в том что атмега работает на внутреннем генератора. тест 0..+50 оно выдерживало. С конца прошлого года пошли приколы — партия с заниженной частотой, купили ещё партию — пришли все с завышенной частотой — сделал на этапе прошивки калибровку — проблема ушла… третья партия этого года мало того что в перемешку завышенные и заниженные так ещё и уход на полтора мегагерца(с 8ми) уже при +5 на корпусе вместо +25 а на +40 вообще мегагерц в плюс… тоесть дажде уарт уже ломался. Пришлось сделать онлайн-калибровку частоты по вот этому уарту — меряю програмно длину стартбита и подгоняю частоту OSCCAL под соответствие измеренной длины стартбита реальному значению. Костыль да но в общем-то и изящное решение — ноль внешних компонентов, ноль нагрузки на проц(раз в секунду промер 10 мсек в моменты простоя) и обьем кода мизерный. и никаких апаратных модулей дополнительно не используется — меряю уартом же на скорость 921600 без стартбита — тупо смотрю сколько бит в нуле до первого в единице — точности более чем хватает. опыты показывают что прекрасно теперь работает и при -20 и при +120 — никаких рассинхронов.
Ещё были приколы с собственно кварцевым генератором на другом устройстве — кварцы не стартовали ни в какую ни с обычными кварцами ни с гарантированно рабочими. решили эти процы пустить на другие платы без кварца.
Не хочется пытаться вас учить, но может всё таки попробовать разорвать шаблоны. Мой опыт показывает что сам этот процесс бывает крайне болезненным, но в конечном случае перемены выводят тебя на более высокий уровень.
Конечно трудно тут что-то советовать, но у меня цифры вызывают сомнения. При общих объёмах 5 тысяч штук в год и такой маленькой прибыли что 5 центов на изделие играют роль не совсем понятно зачем подобным бизнесом, который сопровождается такими проблемами заниматься. Возможно всё таки стоит сделать более технологичное изделие, пайку отдать на автоматы, немного пожертвовать прибылью, освободив часть своего времени и использовать это время на запуск новых моделей.
Удачи в вашем деле!
Но ведь если уартом подстраиваться под стартовый бит, первая порция данных уйдёт в мусор… после этого ждать следующего кадра по метке.
по другому сделал — впереди пакета посылается одиночный импульс, по нему делается калибровка, а потом уже идёт информационный сигнал.
progchip666 эти платы это маленькая часть огромного обьема работ что мы делаем помимо собственно плат. На производстве пластика мы отыгрываемся но постоянно нужно менять формы этого пластика совершенствоваться и так далее при этом плата — не меняется ни физически ни програмно. Вот на эти эксперименты + содержание кружка юнного техника авиа и судомоделирования на бесплатных началах — вынуждает ужиматься с расходами по максимуму + по прибыли ну года два назад это был очень прибыльный бизнес, потом про это пронюхал китай и сейчас у нас каждые пару месяцев происходит прикол что наш прошлый кораблик уже выпускается китайцами и нам собственно надо уже чтото новее лучше бустрее делать. платы не меняются — есть 5 «категорий» если так можно сказать с разными платами и программами. а внутри категорий собственно очень много разных вариантов корабликов. Иногда выходит что новая модель пол года держится до подделок иногда и месяца не проходит а уже надо новые пресформы :)
лишний транзистор это лишняя номенклатура на складе, это лишние точки пайки, это лишняя точка отказа, это собственно деньги на этот элемент, логистика его доставки
Я, конечно, не знаю Ваших условий, но чтобы на складе у компании, занимающейся разработкой и производством электронных устройств, не было самых ширпотребных копеечных транзисторов — как-то с трудом укладывается в голове. Я же не экзотику предлагаю ставить, которую еще поискать и доставить надо :) Про лишнюю точку отказа, если честно, вообще улыбнуло после того как прочел какого качества микроконтроллеры Вы ставите в серийные устройства. Вы не обижайтесь, я без наездов это, просто у меня действительно в голове не укладывается как можно на таких комплектующих делать коммерческую продукцию. Вот уж где не точка отказа, а жирное пятно, на фоне которого обычный транзистор даже в микроскоп не увидеть :)
У нас это плавающая штука… там вода конденсат и прочее внутри гермокорпуса — милое дело. но по причине отказа проца ещё ни одной платы за 6 лет работы не вернулось ;) при производстве проблемы да… бывало но… то что ушло наружу обычно возвращается после утопления или наезда на него машины. хотя нет… был один кадр — он катал устройство в багажнике велика без амортизаторов и там тупо все выводные компоненты и штыревые соединения поотламывало(не поотсоединялись а именно поломало штыри у основания платы) так что нет — проблем с процами не бывает а вот с лишними точками пайки которые окисляются — бывает ещё и как.
Но если идёт речь об экономии в несколько центов на плату… Шелкографией ясное дело можно пожертвовать. Маской — тут большой вопрос. Если ваши платы малы по размеру, а судя по косвенным признаком это так, то за счёт такой экономии выиграете вы меньше чем 5 центов за плату.
Кстати, покупая у китайцев неофициально произведённые микроконтроллеры на брак не нарывались? Если нарывались, компенсацию удавалось вырвать?
Ещё хочу заметить, если у вас постоянная потребность в одних и тех же чипах, в размере нескольких тысяч в год хотя бы, то можете обратиться к российским дистрибьюторам, реально защитить проект, сэкономить на этом 10 — 30 процентов, да ещё и товарный кредит получить!
В прошлой жизни я работал пару лет Бренд Менеджером, знаю эту кухню не по наслышке. Так что переход на простейшие АРМы в новых изделиях может даже снизить издержки. ПО у вас не сложное как я понял, модификация вряд ли отнимет много сил и времени.
Вычислительная мощность большая, но выводов на корпусе и периферии маловато. Всё сильно заточено под программирование на скриптах.
В общем очень непривычная хотя и крайне любопытная штука.
А что добавит переход на Cortex-M4, кроме возросшей в пару раз цены?
…
USB научился работать в режиме HOST
Да что вы говорите? usb host появился ещё в f105 и f205.
Переход на Cortex-M0+. Самый дешёвый способ получить дополнительные функции
…
в два раза увеличилась максимальная тактовая частота
с 2 до 1.7 вольт понизилось минимальное напряжение питания
АЦП способно работать в два с половиной раза быстрее
…
И какая связь между набором периферии (о котором как раз речь) и применённым в контроллере ядром процессора?
По факту, очень похоже по стилю изложения на маркетолуха.
Да что вы говорите? usb host появился ещё в f105 и f205.
Не буду спорить, но я сравнивал конкретные модели, ОТG появился в тех же LPC вообще в незапамятные времена.
И какая связь между набором периферии (о котором как раз речь) и применённым в контроллере ядром процессора?
Вот тут как раз очень большая связь. Расширенную периферию в маркетинговых целях производители очень любят ставить в серии с высокопроизводительными ядрами, чтобы стимулировать их покупку, а не потому? что с ней скажем? тот же Cortex M0 не может справиться.
В этом отношении очень большой плюс, что появились малопотребляющие серии с богатой периферией. По крайней мере для меня, поскольку часто приходится делать проекты с автономным питанием.
Переходы от семейства к семейству мотивируются вещами, которых в природе нет
1. Да, этот момент слишком обобщен и размыт, но не так категорично.
2. Вижу только неточности, привнесенные в угоду краткости статьи и ее доходчивости для тех, кто не знаком с микроконтроллерами.
3. Даже в работе с периферией ARM способен быть гораздо эффективнее большинства 8-битников за счет наличия DMA. Плюс умение управлять своей тактовой частотой во многих случаях очень хорошо помогает сэкономить энергию. Так что тоже не все однозначно и уж точно нельзя безапелляционно утверждать про «заблуждений и откровенной дезинформации».
DMA не для всех возможных режимов работы периферии доступна
Да я и не говорил про все режимы. Даже более того — не для всех случаев он даст преимущество в скорости. Но «в среднем по больнице» наличие DMA все же способно значительно сократить время активности микроконтроллера.
а уж в плане работы с битами ARM всегда проигрывает мелким контроллерам
Можно конкретный пример? А то у ARM, например, есть даже команда BFI среди битовых операций, остальные битовые операции как-то вроде не сильно беднее, чем у тех же AVR.
И у Cortex-M0 тоже есть?
Нету, но Вы ведь без всяких оговорок объединили все ядра под одной аббревиатурой — «в плане работы с битами ARM всегда проигрывает мелким контроллерам» :)
Каждой задаче свой инструмент, а автор как-то очень свободно подменяет факты своими домыслами.
Ну, Вы-то со своими категоричными утверждениями еще более свободно подменяете понятие «в некоторых случаях» на «всегда» :)
* бедность периферии заставляет дергать I/O, руками, хотя битовые операции с I/O чуть-чуть помогают
* DMA не помогает нигде и никогда
* отсутствие необходимости настройки периферии экономит сотню тактов, но передача пары-тройки байт по софтовому SPI съедает напрочь эту экономию
* необходимость провести какие-то вычисления с числами больше байта (например, произвести расчет реального атмосферного давления из полученных от датчика BMP180 данных) приводит к большому оверхеду
У AVR нет хардварного SPI?
У AVR нет двух хардварных SPI, как и нет назначения разных выводов для него. Но можно взять для примера более жизненный случай — ШИМ. Аппаратные возможности вывода ШИМ сильно ограничены в 8-битниках ввиду ограниченности числа таймеров.
Кстати, а Вы в курсе, что даже у 8-битников бывает DMA?
В курсе. Так же в курсе, что бывают 8-битники с сотнями МГц тактовой.
Как с этим быть?
А как быть с тем, что у CC2540 нет команд SBI/SBIC/SBIS? И как это увязать с Вашим утверждением «в плане работы с битами ARM всегда проигрывает мелким контроллерам»?
У AVR нет двух хардварных SPI
Зато иногда в режиме SPI может работать UART (или как он там уже начинает называться).
Лично меня в разработке электроники больше всего смутило и удивило, что корпус и/или продажная упаковка часто стоят дороже самой электронной компоненты.
Лично меня в разработке электроники больше всего смутило и удивило, что корпус и/или продажная упаковка часто стоят дороже самой электронной компоненты.
Это наверно потому, что вы ещё не интересовались сколько стоит молд, или другими словами прессформа, для изготовления кастомного корпуса. Вот это действительно адские деньги! Уложиться в 10K гринов — большая удача!
Молд — это всё-таки крупная серия, если единицы-десятки штука корпуса ещё дороже, хотя серия суммарно и дешевле. С большим удовольствием читаю, как
TPS6205x 800-mA Synchronous Step-Down Converter
12-µA Quiescent Current (Typical)
И про LDO выше дело написано.
Уникальный серийный номер Каждый микроконтроллер имеет свой уникальный серийный номер, присвоенный ему на производстве. Очень удобная особенность, которую можно использовать при организации серийного производства ваших изделий.
Пришлось лезть в гугл… Ну нет не Атмегах серийника, только в версиях с USB он бывает.

bt-приёмник — имеется виду Bluetooth или что то другое?
АЦП на stm32 все же не очень. Только оверсемплинг, медиана и фильтрация помогут. ЦАП — много лучше, 13 бит и более выжимаются почти без хлопот.
Атмелы — 300МГц — это хорошо, но давно же есть STM32H7 — 400МГц
АЦП на микроконтроллерах вообще сложно реализовать хорошо, как и сделать дизайн оптимальный дизайн платы когда рядом такой источник импульсных помех как микроконтроллер с тактовой в сотни мегагерц. Но поскольку получаешь очень дешёвое решение, по сравнению с отдельным АЦП в отдельном корпусе, приходится мириться.
USART — асинхронный последовательный порт, часто использующийся для связи с компьютером там он называется COM или RS232, модемами и другими устройствами
A universal synchronous and asynchronous receiver-transmitter (USART) is a type of a serial interface device that can be programmed to communicate asynchronously or synchronously. See universal asynchronous receiver-transmitter (UART) for a discussion of the asynchronous capabilities of these devices.
См. например
www.edn.com/electronics-blogs/embedded-basics/4440395/USART-vs-UART--Know-the-difference
Разработка электроники. О микроконтроллерах на пальцах