Pull to refresh
7
0
foe_nix @foe_nix

User

Send message

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

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


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

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

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

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

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

Читать дальше →
Total votes 58: ↑57 and ↓1 +56
Comments 230

Подключаем новенький чип от WIZnet: W5500. IP для маленьких вещей

Reading time 5 min
Views 118K
Похоже, что Etherent и TCP/IP — все ещё самый распространенных способ связи самых разных устройств. Хотя WiFi в последнее время потихоньку вытесняет проводной «медный» Etherent, тем не менее, найти порт и «воткнуться в локалку» — до сих пор самый простой способ подключения. Такая доступность Ethernet не обошла стороной и самые маленькие железки: контроллеры, датчики, счетчики потребления и т.д. которые нынче называются модным маркетинговым словом "Интернет вещей*" (Internet Of Things, IoT).



И тут нам могут здорово помочь корейские микросхемки от WIZnet. Компания WIZnet — это довольно активный производитель чипов класса IOcP (Internet Offload co-Processor). Что это? Говоря человеческим языком — это такой чип, который: с одной стороны имеет Etherent, внутри содержит собственный крошечный процессор для обработки TCP/IP, а с другой стороны — простой интерфейс для связи с нашей маленькой железкой.
Читать дальше
Total votes 44: ↑40 and ↓4 +36
Comments 21

Ethernet поверх USB на STM32F4

Reading time 9 min
Views 57K


Недавно возникла идея заставить плату на базе МК STM32F4 работать по сети. Поскольку на борту отсутствовал Ethernet PHY контроллер, то единственным вариантом было использовать USB FullSpeed интерфейс для эмуляции Ethernet устройства. Распространённый стандарт USB-класса, реализующий данную функцию, называется RNDIS.
К своему огорчению, поиск RNDIS драйвера для STM32 не увенчался успехом. Впрочем, это не удивило, т.к. открытые примеры использования USB порта у STM32 ограничиваются только теми, что предоставил нам производитель.
Захотелось исправить сию несправедливость. А заодно и поиметь нужные исходники, благо в будущем они пригодятся.
Сейчас, когда демонстрационная версия библиотеки готова, выкладываю её в свет на правах MIT-лицензии. Поэтому, все кому библиотека интересна — пользуйтесь «на здоровье». Библиотека имеет название LRNDIS, первая буква которого означает использование сетевого стека для встраиваемых систем «LwIP».
Для демонстрации возможностей библиотеки был создан пример на плате stm32f4discovery. Его работа заключается в поддержке основных сервисов (DHCP и DNS сервера) и передаче usb-хосту запрашиваемых WEB-страниц. Таким образом, наш discovery превратился в почти полноценный WEB-сервер, работающий по порту USB!
Пару слов о том, где это применимо.
В быту RNDIS устройства обычно являются USB-модемами для доступа в Интернет. Возможно, такое применение, действительно, окажется полезным, если разработчик выберет STM32 в роли связующей цепочки между ПК и радиочастотным (или другим) трансивером. Или, может быть, захочет расширить собственную сеть на Ethernet-сегмент?
Другое применение, в котором нахожу основную пользу для себя, — это интерфейс управления сложными устройствами. Типовое решение в этой области — создание терминального ПО. При этом приходится заниматься его поддержкой вместе с поддержкой устройства, что бывает неудобным. Собственно, в отказе от такой схемы в пользу управляющего Web-интерфейса и заключается смысл возможного применения библиотеки. Вспомните Web-интерфейсы настройки роутеров. Удобно. Красиво. Без лишнего ПО.

Итак, если Вы заинтересовались, читайте далее…
Читать дальше →
Total votes 28: ↑26 and ↓2 +24
Comments 17

Бесплатные лицензии от ведущих российских вендоров видеоконференцсвязи

Reading time 4 min
Views 10K

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

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

В данной статье мы будем рассматривать два варианта on-premise решений:

- IVA

- VINTEO

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

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

Подробнее о каждом решении
Total votes 18: ↑13 and ↓5 +8
Comments 12

PyQt6 — полное руководство для новичков

Reading time 30 min
Views 295K

К старту курса по разработке на Python делимся детальным руководством по работе с современным PyQt для новичков. Чтобы читать было удобнее, мы объединили несколько статей в одну:

1. Первое приложение

2. Слоты и сигналы

3. Виджеты

За подробностями приглашаем под кат.

Читать далее
Total votes 28: ↑27 and ↓1 +26
Comments 14

15 отличных Телеграм-каналов для поиска работы на удаленке

Reading time 3 min
Views 271K

С 2005 года спрос на удаленную занятость вырос на 140%. Очевидно, что эта тенденция будет продолжаться. Сегодня вакансии на удаленку можно найти и на job-бордах, и в социальных сетях, но мне ближе Телеграм-каналы. Делюсь с вами своей подборкой. Дополнения в комментариях приветствуются)

Читать далее
Total votes 12: ↑6 and ↓6 0
Comments 4

Порядок разрешения методов в Python

Reading time 15 min
Views 171K
В этой заметке рассматривается алгоритм MRO С3 и некоторые специфические проблемы множественного наследования. Хотя и алгоритм и проблемы не ограничиваются рамками одного языка, я акцентировал своё внимание на Питоне. В конце приведён список полезных ссылок по данной теме.
Читать дальше →
Total votes 63: ↑62 and ↓1 +61
Comments 12

70+ бесплатных инструментов для компьютерной криминалистики (форензики)

Reading time 8 min
Views 37K

Расследование инцидентов в области информационной безопасности не такая горячая тема, как пентесты, но эта научная и практическая дисциплина продолжает развиваться, во многом, благодаря Open Source-сообществу.

Давайте пройдемся по просторам GitHub и посмотрим, какие инструменты для сбора и анализа цифровых доказательств доступны всем желающим.

Под катом утилиты для разбора содержимого оперативной памяти, исследования докер-образов, анализа журналов, извлечения информации из кеша браузеров и многое другое.

Читать далее
Total votes 37: ↑36 and ↓1 +35
Comments 2

Будьте сами изменениями, или Три года тотального самоуправления на химическом производстве

Reading time 14 min
Views 5.2K

Чем отличается миссия от эволюционной цели?

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

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

У компании «Ойл Энерджи» эволюционная цель — все скважины в мире построены и эксплуатируются бережно с применением качественных и безопасных материалов. После этого можно будет заняться чем-то другим, а пока для достижения цели компания трансформировалась в принадлежащую самой себе и живет по принципам Социократии 3.0. Эта история в основном интересна владельцам компаний, но, как говорится, плох тот миддл, кто не хочет стать топом. Посмотрим, как это было и как это вообще возможно.

Читать далее
Total votes 20: ↑20 and ↓0 +20
Comments 1

Мониторинг как процесс, или Как перестать бояться алертов и начать спать по ночам

Reading time 12 min
Views 11K

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

Но статья будет не про сравнение систем мониторинга или методов, а про простые практики, которые каждый из вас может применить. Про здравый смысл в применении этих практик. И про опыт ЦФТ — про те боль и проблемы, с которыми столкнулась компания, как их решала и к чему в итоге пришла. Эта история о том, как перестроить процессы внутри компании, чтобы мониторинг перестал быть стихийным и стал актуальным и управляемым.

Нормально делай — нормально будет, и Виталий Медведев, инженер по автоматизации ЦФТ, разделяет эту истину. Эта статья написана по его выступлению на конференции Saint HighLoad 2021.

Читать далее
Total votes 18: ↑17 and ↓1 +16
Comments 3

6 типовых сюжетов мировой литературы

Reading time 5 min
Views 67K
Исследователи изучили тексты более 1700 романов и обнаружили, что все их можно отнести к 6 сюжетным типам.


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

Благодаря новым технологиям интеллектуального анализа люди решили эту задачу. Профессор Мэтью Джокерс из Университета штата Вашингтон, а позже и исследователи из лаборатории компьютерных историй Вермонтского университета проанализировали тексты тысяч романов и выявили шесть основных типов историй — архетипов, — представляющих собой базовые структурные блоки для построения более сложных сюжетов. Вермонтские исследователи описали эти шесть форм повествования, лежащих в основе 1700 английских романов, следующим образом:

1. «Из грязи в князи» — постепенное улучшение положения от плохого к хорошему.
2. «Из князи в грязи» — падение от хорошего положения к плохому, трагедия.
3. «Икар» — взлет и падение.
4. «Эдип» — падение, взлет и снова падение.
5. «Золушка» — взлет, падение, взлет.
6. «Человек, загнанный в угол» — падение и взлет.

Исследователи применили анализ эмоциональной окраски — статистическую методику, часто используемую маркетологами для оценки публикаций в социальных СМИ.
Читать дальше →
Total votes 53: ↑40 and ↓13 +27
Comments 40

Реверс инжиниринг протокола пульта от инверторного кондиционера Electrolux

Reading time 12 min
Views 15K


В этой статье я опишу свой опыт и основные этапы изучения ИК пульта от кондиционера. Из инструмента понадобится Arduino nano на mega328 и приемник ИК сигналов (у меня VS1838B).
Читать дальше →
Total votes 33: ↑33 and ↓0 +33
Comments 21

Переобученные нейросети в дикой природе и у человека

Reading time 6 min
Views 81K
Представьте, что вы проектируете птенца чайки. ТЗ такое — у него довольно плохое зрение, маленький мозг, но ему нужно как можно больше есть, а то сдохнет. Еду ему приносит мама-чайка. Основная задача — распознать маму-чайку и получить у неё еды. Во входной поток зрения поступает, скажем, 320х200 px, и дальше 10 сантиметров от глаза он не умеет фокусироваться. Природа решила так — надо разметить клюв чайки ярким оранжевым округлым пятном. Вот таким:



В ходе реверс-инжиниринга чайки в 1950-х Нико Тинберген провёл 2431 опыт с 503 птенцами (часть его коллега Рита Вейдманн высидела сама). Выяснилось, что птенец реагирует и не только на клюв, но и на картонный прямоугольник с круглым оранжевым пятном. И пытается получить у него еду как у обычной чайки. Звучит логично, особенно в условиях нехватки вычислительных ресурсов птенца, правда? «Появляется сверху», «длинный» — это важно. Но самая высокая ценность сигнала «оранжевый на белом» — и она по мере эволюции завышается.

Под самый конец внезапно нашёлся ультранормальный сигнал. Если птенцу показать прямоугольник с тремя оранжевыми полосами, он распознает его куда быстрее, точнее, и среагирует в разы активнее. То есть сильнее распознаётся другой образ, которого нет в природе.

Если вы думаете, что мы с вами не забагованы, то ошибаетесь. У нас, людей, есть примерно такой же пример переобучения, хорошо известный анимешникам.
Читать дальше →
Total votes 124: ↑123 and ↓1 +122
Comments 174

Как же всё-таки на самом деле хабрачеловек «обманывал» бабушек…

Reading time 7 min
Views 1K
Пользователь hungry (Lagoda, Елена Торшина) получила наконец от Аси Константиновны (руководителя проекта «Бабушка-онлайн») ожидаемое ей официальное подтверждение её слов о «воровитом хабрачеловеке» (написанных на составе и на хабре ). Увы, слова эти не стали от этого правдой. К сожалению, Елена закрыла для комментариев свои публикации, и в них я ответить не могу. Имею же я сообщить по её публикации следующее.

Вкратце:
— бизнеса я там не вёл – я не бизнесмен по натуре – а только собирал компьютеры;
— с проектом я не расставался — в декабре 2010 я участвовал в «1-м Международном форуме – выставке инновационных технологий для людей пожилого возраста и людей с особым социальным статусом», который проводила «Бабушка-онлайн». Приглашён был лично Асей Констаниновной;
— дубля у сайта не было и нет, львиного ухода трафика нет;
— я никакой группы «недобросовестных молодых людей» не организовывал, никаким сбором группой у населения и коммерческих фирм не занимался.

А теперь подробнее, по всем пунктам
Total votes 256: ↑189 and ↓67 +122
Comments 183

«Роснано» вкладывает деньги в Plastic Logic

Reading time 2 min
Views 1.1K


Еще в августе 2010 года по Сети распространилась информация о том, что госкомпания «Роснано» собирается выкупить контрольный пакет акций компании Plastic Logic. Напомню, что эта компания много раз обещала выпустить электронную «читалку» нового типа, которая должна была бы быть если не лучше всех, то, по крайней мере, быть на уровне «читалок» других производителей. В итоге, компания так ничего и не выпустила, хотя построила завод по производству таких устройств. Было объявлено, что, дескать «гранаты не той модели», и устройство к моменту обещанного выпуска уже устарело, поэтому выпуск отменяется, и запускается процесс проектирования дисплея от Plastic Logic для читалки второго поколения. Так вот, на днях стало известно о том, что «Роснано» инвестировала довольно крупную сумму в Plastic Logic.

Читать дальше →
Total votes 36: ↑32 and ↓4 +28
Comments 61

Расширение функционала телевизоров LG и оскал корейского капитализма

Reading time 5 min
Views 152K
image
Небольшая заметка о том, как исследовались прошивки для телевизоров LG, о том, что удалось добиться, какие проблемы встретились на пути и как обстоят дела сейчас. О реакции на всё происходящее корпорации LG, решившей попросту перешагивать через законы.
Читать дальше →
Total votes 146: ↑140 and ↓6 +134
Comments 123

Автономный Audi TTS одолел гоночную трассу на скорости до 72 км/ч

Reading time 2 min
Views 1.7K
Несколько дней назад компания Audi с гордостью сообщила, что автомобиль с автономным управлением Audi TTS покорил-таки пик Пайкса — крутую гору в Колорадо. Средний уклон трассы составляет 7%, а крутизна поворотов стала легендарной среди фанатов автоспорта.



В отличие от всех предыдущих экспериментов с автономными автомобилями, разработчики робота Audi TTS поставили целью не безопасность вождения, а максимальную скорость.
Читать дальше →
Total votes 62: ↑56 and ↓6 +50
Comments 169

Текущая картина образования

Reading time 1 min
Views 1.2K
Всё больше и больше встречаю в Сети и в СМИ оценки современного образования. Каждое мнение отрицает предыдущее и претендует на истину последней инстанции. И всё больше и больше запутываешься в новых терминах и определениях… Но определённо становится очевидным, что наступает смена парадигмы образования в целом… И тут как никогда кстати на помощь приходит Сеть с её безграничными возможностями — почему не использовать имеющийся инструмент?!!! Вот я и предлагаю провести первый этап исследования, направленный на выявление положительных и отрицательных образов наших университетов, а также образов университетов будущего. Не задумывайтесь глубоко над вопросами — пишите сразу то, что приходит в голову — для чего вы идёте в университет, что вам больше всего не нравится в университете и что нравится.
До 30 ноября я буду собирать ваши мнения, а потом в течении 2х дней подытожу их и выложу на всеобщее обозрение (3 декабря, пятница). Картинка обещает быть интересной :)
Прошу разослать анкету своему окружению. Заранее спасибо.
университет
Анкета
Результаты работы будут обобщены при помощи сервиса wordle
Total votes 66: ↑51 and ↓15 +36
Comments 82

Яндекс. Директ. Анализируем конкурентное окружение

Reading time 4 min
Views 16K

Представьте ситуацию. Вы разрабатываете сайты. Хорошие сайты для хороших людей. Ваши рекламные кампании работают давно, вы вышли на хороший уровень ROI, заказы идут с завидной периодичностью. Все казалось бы хорошо, пока в один прекрасный день мы не получаем кучу писем от Директа, о том что мы кем-то вытеснены с насиженных позиций. Мы идем в выдачу и видим на своей любимой позиции незнакомый сайт конкурента. Естественным нашим желанием будет узнать что это за фрукт и на основании этой информации принять стратегическое решение – ввязываться ли в войну бюджетов (если это серьезный и жирный конкурент) или подпереть снизу и помочь слить бюджет (если это мелочевка).

«Но это же невозможно!» – Скажете вы. – «Любая система контекстной рекламы руководствуется принципами закрытого аукциона и не предоставляет своим рекламодателям информацию о конкурентах. Мы ведь не знаем ни ключевых запросов конкурента, ни настроек его РК. Не знаем использует он минус-слова или кавычки. Самое главное – мы не знаем его ставок и CTR»

Спокойствие, только спокойствие! (с)

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

Читать дальше →
Total votes 94: ↑89 and ↓5 +84
Comments 34

Почему не работает ваша интернет-реклама?

Reading time 3 min
Views 912
Вечная тема: клиент жалуется, что запланировал и провёл рекламную кампанию, а на выходе ноль. Или даже большой минус – бюджет-то потрачен. И выходит, что не так уж она хороша, эта самая интернет-реклама, а совсем даже наоборот.
Читать дальше →
Total votes 20: ↑12 and ↓8 +4
Comments 17

Information

Rating
Does not participate
Location
Хотьково, Москва и Московская обл., Россия
Date of birth
Registered
Activity