Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Как защититься от переполнения стека (на Cortex M)?

Время на прочтение8 мин
Количество просмотров27K
Если вы программируете на «большом» компьютере, то у вас такой вопрос, скорее всего, вообще не возникает. Стека много, чтобы его переполнить, нужно постараться. В худшем случае вы нажмёте ОК на окошке вроде этого и пойдете разбираться, в чем дело.

image

Но вот если вы программируете микроконтроллеры, то проблема выглядит немного иначе. Для начала нужно заметить, что стек переполняется.

В этой статье я расскажу о собственных изысканиях на эту тему. Поскольку я программирую в основном под STM32 и под Миландр 1986 — на них я и фокусировался.
Читать дальше →
Всего голосов 61: ↑60 и ↓1+59
Комментарии66

Простейшее профилирование памяти на STM32 и других микроконтроллерах

Время на прочтение7 мин
Количество просмотров44K
«С опытом приходит стандартный, научный подход к вычислению правильного размера стека: взять случайное число и надеяться на лучшее»
— Jack Ganssle, «The Art of Designing Embedded Systems»


Привет, Хабр!

Как ни странно, но в абсолютном большинстве виденных мной «учебников для начинающих» по STM32 в частности и микроконтроллерам вообще нет, как правило, вообще ничего про такую вещь, как распределение памяти, размещение стека и, главное, недопущение переполнения памяти — в результате которого одна область перетирает другую и всё рушится, обычно с феерическими эффектами.

Отчасти это объясняется простотой учебных проектов, выполняемых при этом на отладочных платах с относительно жирными микроконтроллерами, на которых влететь в нехватку памяти, мигая светодиодом, довольно сложно — однако в последнее время даже у начинающих любителей мне всё чаще встречаются упоминания, например, контроллеров типа STM32F030F4P6, простых в монтаже, стоящих копейки, но и памяти имеющих единицы килобайт.

Такие контроллеры позволяют делать вполне себе серьёзные штуки (ну вот у нас, например, такая вполне себе годная измериловка сделана на STM32F042K6T6 с 6 КБ ОЗУ, от которых свободными остаются чуть больше 100 байт), но при обращении с памятью при работе с ними нужна определённая аккуратность.

Об этой аккуратности и хочу поговорить. Статья будет короткая, профессионалы ничего нового не узнают — но начинающим эти знания очень рекомендуется иметь.

Читать дальше →
Всего голосов 58: ↑57 и ↓1+56
Комментарии230

Расчёт электрических цепей методом структурных чисел для детей и взрослых

Время на прочтение12 мин
Количество просмотров14K

Когда я узнал об этом подходе, то первым ощущением было чувство, что меня где-то обманывают - или это какая-то ошибка и заблуждение, или от меня что-то скрывали все предыдущие годы обучения. Метод выглядел эффективным и удивительно простым в применении, но при этом я никогда не слышал о нём раньше. Как такое могло случиться?

Когда я говорю о простоте, то это не фигура речи. Если бы вы сидели напротив меня я уверен, что за 15 минут я научил бы ЛЮБОГО из вас. Ни знаний физики, ни знания математики не требуется. Это похоже на магию. Вы делаете простые операции с натуральными числами и ... в конце получаете все необходимые параметры схемы. В этом сила, красота и, возможно, проклятие этого подхода.

Если бы вы сидели напротив меня... но вы не сидите, и не так-то просто изложить всё это письменно. Я постарался. Если у меня получилось, то через 20 - 30 минут вы сможете рассчитать ЛЮБОЙ пассивный четырёхполюсник с линейными элементами.

Итак, засекаем время.

Читать далее
Всего голосов 43: ↑42 и ↓1+41
Комментарии9

Выбор графического движка (GUI) для встраиваемой электроники

Время на прочтение15 мин
Количество просмотров25K

Наступили времена, когда графические дисплеи стали дешевле микроконтроллеров. Это привело к увеличению числа доступных графических движков для малой электроники. Вслед за этим обострилась проблема выбора.

В нашем полифункциональном заряднике есть небольшой графический дисплей. Разберём что тут можно подобрать. 

Читать далее
Всего голосов 46: ↑46 и ↓0+46
Комментарии39

Система распознавания шрифта Брайля. Читаем написанное белым по белому

Время на прочтение13 мин
Количество просмотров12K

В 2018 году мы взяли из детдома в семью слепую девочку Анжелу. Тогда я думал, что это чисто семейное обстоятельство, никак не связанное с моей профессией разработчика систем компьютерного зрения. Но благодаря дочери через два года появилась программа и интернет-сервис для распознавания текстов, написанных шрифтом Брайля - Angelina Braille Reader.

Сейчас этот сервис используют сотни людей и в России, и за ее пределами. Тема оказалась хайповой, сюжет о программе даже показали в федеральных новостях на ТВ. Но что важнее - за свою многолетнюю карьеру в ИТ ни в одном проекте я не получал столько искренних благодарностей от пользователей.

Ниже расскажу о том, как делалась эта разработка и с какими трудностями пришлось столкнуться. Более развернутое описание приведено в публикациях [1,2].

Возможно, кто-то захочет внести в проект свой вклад.

Читать далее
Всего голосов 149: ↑148 и ↓1+147
Комментарии26

Частые ошибки начинающих СВЧ разработчиков

Время на прочтение3 мин
Количество просмотров18K

Всем привет! Меня зовут Олеся, я СВЧ инженер-разработчик. В этой необычной для моего профиля статье я расскажу о частых ошибках* начинающих СВЧ инженеров.

Обложка взята с Википедии (ссылка)

*личное мнение автора. В статье лишь рекомендации.

далее
Всего голосов 45: ↑43 и ↓2+41
Комментарии38

DIY наушники: тяга к совершенству

Время на прочтение8 мин
Количество просмотров15K

С прошлой статьи по DIY ленточным наушникам не прошло и года, как появились свежие результаты изысканий по этой теме. Сотни часов потраченного времени, десятки повторных сборок наушников и смена философии привели к тому, что под капотом накопилась критическая масса нововведений о которых необходимо рассказать. Настоятельно рекомендую не читавшим предыдущую статью ознакомиться с ней.

Проект, как и всегда, доступен на Thingiverse и уже включает в себя все доработки из этой статьи.

Читать далее
Всего голосов 45: ↑45 и ↓0+45
Комментарии20

Как один человек создал серию сложнейших приборов

Время на прочтение7 мин
Количество просмотров63K
Когда я впервые услышал о приборе для тестирования батареек и аккумуляторов Яростанмаш, я предположил, что где-то в Ярославле есть большой завод, где разработали и выпускают этот прибор. Оказалось, что прибор создал один человек — Ярослав Меньшиков и живёт он в Москве.



Читать дальше →
Всего голосов 372: ↑368 и ↓4+364
Комментарии110

Хроники домашнего импортозамещения: замещаем e-mail (и узнаём, кто сливает почту на сторону)

Время на прочтение8 мин
Количество просмотров29K

Как перестать быть у гугла в заложниках? Как получить отдельный адрес для мусора? Как сделать бесконечный генератор одноразовых адресов? Как узнать, какие сервисы сливают вашу почту спамерам? Все это, и не только, можно сделать с помощью технологий, которым уже скоро тридцатничек стукнет.

Встречайте: собственный домен для почты.

Read more
Всего голосов 58: ↑55 и ↓3+52
Комментарии99

Микроэлектроника в России до и после 24.02.2022

Время на прочтение14 мин
Количество просмотров325K

В свете последних событий (для потомков: гуглим Россия, Украина, 24 февраля 2022), приведших к введению санкций против России в сфере высоких технологий и, в частности, микроэлектроники, я часто слышу вопрос: а что дальше? В каком сейчас состоянии российское микроэлектронное производство? Россия сможет создать полностью локальное производство чипов?

Так сможет или нет?
Всего голосов 441: ↑435 и ↓6+429
Комментарии658

Согласование импедансов: о пользе формул

Время на прочтение17 мин
Количество просмотров20K

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

Подставить значения
Всего голосов 35: ↑35 и ↓0+35
Комментарии43

Новости импортозамещения в пересечении тактового домена

Время на прочтение2 мин
Количество просмотров12K

Если вы собираетесь собеседоваться в Apple или Байкал на одну из позиций по проектированию или верификации систем на кристалле (System-on-Chip - SoC), вам совершенно абсолютно точно нужно подготовиться к вопросам по пересечению тактового домена (Clock Domain Crossing- CDC). В SoC типа айфона есть много разных блоков, которые работают на разной тактовой частоте. Чтобы передача данных между ними не глючила, нужно 1) знать почему она может глючить; 2) владеть приемами, которые позволяют избегать этих глюков и 3) четко понимать как используемые приемы влияют на пропускную способность соединения.

Подготовиться к этой секции интервью нужно основательно. Если вы только почитаете про метастабильность в Харрис & Харрис и начнете выкручиваться в стиле ответов Алисы Тепляковой "а, метастабильность ... даа, синхронайзеры ... ммм ... асинхронные FIFO ..." - то тройку на экзамене у жалостливого преподавателя нетопового университета стран бывшего СССР вы может и вытяните, но хорошую работу в коммерческой компании не выиграете.

Как же подготовиться? В Америке по такому вопросу готовят на шестичасом семинаре, который стоит $800 с каждого ученика в классе. Но в России группа энтузиастов подготовила бесплатный семинар, на основе как открытых статей автора американского семинара Клифа Каммингса, так и практикума из МИЭТ и собственных лабораторных занятий.

Читать далее
Всего голосов 39: ↑27 и ↓12+15
Комментарии20

Операционные усилители. Часть 5: Частотно-зависимая обратная связь в ОУ. Активные фильтры и генераторы сигналов на ОУ

Уровень сложностиСложный
Время на прочтение6 мин
Количество просмотров21K

В предыдущей публикации цикла мы разобрали, как работают схемы на ОУ с нелинейными элементами в цепях обратной связи, научились производить с помощью ОУ операции умножения и деления, и узнали, как собрать на ОУ источник тока, напряжения, а также усилитель мощности.

В данной публикации цикла мы разберём работу ряда схем на ОУ с частотно-зависимой обратной связью и научимся собирать на ОУ активные фильтры и генераторы.
Читать дальше →
Всего голосов 55: ↑54 и ↓1+53
Комментарии12

Как сделать свои наушники

Время на прочтение16 мин
Количество просмотров26K

В СНГ (и не только) существуют крупные сообщества энтузиастов, которые развивают тему самостоятельного изготовления электроакустической аппаратуры, в том числе и наушников. В этой области накопилось большое количество материала, так что пришла пора собрать в одном месте все основные наработки и выводы. В статье раскрываются вопросы конструирования: с чего всё начинается, какие существуют технологии, рассмотрены типичные проблемы и то, как они решаются. Статья предназначена для тех, кто желает собрать свои наушники с нуля, но также будет полезна всем тем, кто просто хочет больше понимать в звуке.

Читать далее
Всего голосов 30: ↑30 и ↓0+30
Комментарии55

Собираем «Тревожный чемоданчик». Мнение спортивного туриста

Время на прочтение18 мин
Количество просмотров204K
Когда началась война, все произошло так быстро, что я не могла ни понять, что происходит, ни подумать о том, что хотела бы взять с собой, когда мы убегали. (из интервью сирийской беженки)

Мне почему-то не хочется делать вид, что ничего не происходит. Потому что нынешняя военная эскалация напоминает затишье перед бурей, похожие ощущения были в январе 2020, когда «коронавирус же не у нас, он в Китае». В итоге жизнь подтвердила несостоятельность подобного «психологического» трюка. Поэтому, думая про худшее и надеясь на лучшее, я написал недавно эмоциональную заметку про «тревожный чемоданчик». Написана она с учетом моего опыта спортивного туризма (инструктор гор/пеш), поэтому профессиональные военным (выживальщикам?) просьба отнестись с пониманием. Писалось с акцентом на беларускую аудиторию, и вот искренне надеюсь, что (НЕ) пригодится всем. Просьба не политизировать данную статью, а воспринимать as is. Те кто затевает войны — Хабр не читают. Мы все в одной лодке, надеюсь написанное под катом хоть немного поможет этой «лодке» быть на плаву…


Собираем тревожный чемоданчик вместе
Всего голосов 277: ↑250 и ↓27+223
Комментарии391

Современное пиратство глазами моряка. Наёмники

Время на прочтение7 мин
Количество просмотров48K
Здравствуйте.

Как только люди придумали возить товары по морю, сразу же появились те, кто захотел эти товары отобрать. Пираты существуют с незапамятных времён: они были проблемой в Античности, они доставляли неприятности в Средневековье, они захватывали, грабили и жгли корабли во времена Возрождения и они никуда не делись и по сей день. Изменилось снаряжение, тактика, но суть осталась та же — есть в мировом океане места, куда без защиты лучше не соваться.

Сегодня мы с вами поговорим о мерах активной защиты судов от пиратства. В прошлой статье мы разбирали пассивные методы защиты, но если запертых дверей, Цитадели, укреплений и колючей проволоки вам мало, если вы хотите дать решительный отпор из автоматического и полуавтоматического оружия, то я расскажу вам, как надо действовать.


Читать дальше →
Всего голосов 359: ↑331 и ↓28+303
Комментарии234

Конвертер из HDMI/DP++ в MIPI DSI

Время на прочтение5 мин
Количество просмотров13K
Доброго времени суток, Хабр!



Неоднократно мне тут задавали вопросы по конвертеру из HDMI в MIPI DSI. Так сказать, по просьбам трудящихся, выкладываю что у меня получилось. В статье затрону аппаратную сторону реализации устройства и изложу основные проблемы, с которыми столкнулся. Приятного прочтения.
Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии16

10 обидных ошибок авторов на Хабре

Время на прочтение10 мин
Количество просмотров24K

Большинство опытных и начинающих авторов Хабра уже знают, что такое хорошо и что такое плохо, поэтому творят хорошее или плохое относительно сознательно. Но, просматривая и прочитывая сотни статей изо дня в день, я постоянно сталкиваюсь с одними и теми же проблемами, которые делают статьи чуть хуже или даже напрочь проваливают нормальные, на первый взгляд, материалы. Из всех специфических и общих ошибок я выбрала 10 самых распространённых — они встречаются как у частных пользователей, так и у компаний (в блоги которых пишут тоже обычные пользователи, так что ничего необычного). Давайте учиться на чужих ошибках и не плодить свои :-) 

Читать далее
Всего голосов 137: ↑131 и ↓6+125
Комментарии149

Чтобы током не убило. Всё про УЗО

Время на прочтение12 мин
Количество просмотров137K

Попробуем снова объять необъятное одним постом? На этот раз рассказ будет про УЗО.

Читать далее
Всего голосов 193: ↑192 и ↓1+191
Комментарии169

Ещё 20+ игр, которые прокачивают логику, алгоритмы и радуют умный мозг [по следам комментариев на Habr]

Время на прочтение9 мин
Количество просмотров118K
image

Я выложила вчера подборку «15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли». И столько классных ссылок в комментарии накидали, что я чуток опухла, но сделала отдельную подборку, по горячим следам. Спасибо большое всем, кто внес свой вклад.

Еще я веду канал в Telegram: GameDEVils, делюсь там клевыми материалами (про геймдизайн, разработку и историю игр).
Читать дальше →
Всего голосов 83: ↑82 и ↓1+81
Комментарии59
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность