Как стать автором
Обновить
26
0
Евгений @reug

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

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

Корутины C++20 и многозадачность на примере контроллеров stm32

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

На Хабре уже неоднократно появлялись статьи, посвященные применению современных стандартов C++ при программировании микроконтроллеров, в том числе и появившихся в c++20 корутин.

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

Читать далее
Всего голосов 22: ↑21 и ↓1+28
Комментарии30

Сравнение компиляторов ARMCC, IAR и GCC

Время на прочтение2 мин
Количество просмотров14K
image
Я работаю над одним проектом, который с большим трудом вмещается в 64к памяти микроконтроллера. И подумалось мне, что возможно, пора взглянуть на разные компиляторы, чтобы выбрать какой более агрессивно может уменьшить размер программы.

Представляю вашему вниманию небольшое сравнение.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+20
Комментарии46

Почему ваш веб-сайт должен быть меньше 14 КБ

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

Чем меньше веб-сайт, тем быстрее он грузится, и это неудивительно.

Удивительно то, что страница на 14 КБ может грузиться гораздо быстрее, чем страница на 15 КБ, даже на 612 мс быстрее, хотя разница между страницами на 15 КБ и 16 КБ минимальна.

Так происходит из-за алгоритма медленного старта TCP. В этой статье я расскажу, что это такое, как оно работает и почему это важно. Но сначала мы вкратце расскажем об основах.
Читать дальше →
Всего голосов 137: ↑134 и ↓3+167
Комментарии204

Введение в мир поддельных микросхем: методы обнаружения контрафакта

Время на прочтение8 мин
Количество просмотров29K
Статья опубликована 23 декабря 2017 года

Введение


Оптимальный вариант в производстве электроники — когда все компоненты оригинальные от производителя, но что если у вас бэушный микроконтроллер, который долго не проживёт? Если транзистор в цепи защиты входного напряжения не соответствует параметрам из спецификации? Тогда у вашего продукта возникнут серьёзные проблемы. Микроконтроллер может выйти из строя, а цепь не справится с нагрузкой.

На самом деле, это не ваша вина и не ошибка дизайна. Причина — в поддельных микросхемах. Вы можете сказать: «Чип микроконтроллера правильно маркирован и выглядит как оригинальный — это точно оригинал». А я отвечу: а вы уверены, что внутри правильный кристалл?!

На подделках можно сказочно заработать. В исследовании рынка контрафакта говорится, что некоторые фирмы зарабатывают 2 миллиона долларов в месяц на продаже всего одного типа поддельных компонентов.
Читать дальше →
Всего голосов 41: ↑41 и ↓0+41
Комментарии52

Разбираем кварцевый генератор и его крохотную интегральную схему

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


Кварцевый генератор – важный электронный компонент, обеспечивающий очень точную генерацию тактовой частоты за небольшие деньги. Из-за пьезоэлектрического эффекта его электрические свойства меняются в процессе вибрации. Поскольку можно сделать кристалл, который будет вибрировать с определённой частотой, кварцевые генераторы очень полезны для множества применений. Появились они в 1920-х, и сначала обеспечивали точную генерацию волн для радиостанций. В 1970-м году произошла революция наручных часов, когда в них стали использовать кварцевые генераторы высокой точности. Компьютеры, от ENIAC 1940-х годов и до сей поры используют кварцевые генераторы для генерации тактовой частоты.

В современных ПК всё ещё используются кварцевые генераторы, но для получения многогигагерцовых тактовых частот применяются более сложные технологии. ПК использует кристалл с частотой гораздо меньшей, чем рабочая, и умножает её при помощи фазовой автоподстройки частоты. Компьютеры часто используют кристалл на 14 318, поскольку эту частоту использовали в старых телевизорах, и такие кристаллы были недорогими и широко распространёнными.
Читать дальше →
Всего голосов 28: ↑25 и ↓3+35
Комментарии10

Делаем ST-Link V2.1 из китайского ST-Link V2

Время на прочтение3 мин
Количество просмотров161K
Привет, Хабр!

В данной статье расскажу как модифицировать ST-Link V2 до ST-Link V2.1.

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

Кому интересно — прошу под кат.
Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии103

ARM-ы для самых маленьких: который час?

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


Сегодня мы разберемся с двумя важными вопросами: как писать более эффективный код с CMSIS и как правильно рассчитывать скорость работы процессора. Начнем мы со второй части и изучим процессы, которые происходят в LPC1114 для генерации тактовой частоты.

Читать дальше →
Всего голосов 50: ↑50 и ↓0+50
Комментарии21

ARM-ы для самых маленьких

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


Пару дней назад я опубликовал и потом внезапно убрал в черновики статью о плане написать про создание своей ОС для архитектуры ARM. Я сделал это, потому что получил много интересных отзывов как на Хабре, так и в G+.

Сегодня я попробую подойти к вопросу с другой стороны, я буду рассказывать о том, как программировать микроконтроллеры ARM на нарастающих по сложности примерах, пока мы не напишем свою ОС или пока мне не надоест. А может, мы перепрыгнем на ковыряние в Contiki, TinyOS, ChibiOS или FreeRTOS, кто знает, их там столько много разных и интересных (а у TinyOS еще и свой язык программирования!).

Итак, почему ARM? Возиться с 8-битными микроконтроллерами хотя и интересно, но скоро надоедает. Кроме того, средства разработки под ARM обкатаны долгим опытом и намного приятнее в работе. При этом, начать мигать светодиодами на каком-то «evaluation board» так же просто, как и на Arduino.

Читать дальше →
Всего голосов 129: ↑124 и ↓5+119
Комментарии66

ARM-ы для самых маленьких: тонкости компиляции и компоновщик

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

Продолжая серию статей про разработку с нуля для ARM, сегодня я затрону тему написания скриптов компоновщика для GNU ld. Эта тема может пригодиться не только тем, кто работает со встраиваемыми системами, но и тем, кто хочет лучше понять строение исполняемых файлов. Хотя примеры так или иначе основаны на тулчейне arm-none-eabi, суть компоновки та же и у компоновщика Visual Studio, например.

Предыдущие статьи:


Примеры кода из статьи: https://github.com/farcaller/arm-demos

Читать дальше →
Всего голосов 54: ↑54 и ↓0+54
Комментарии16

Дизайн интерфейса для промышленного контроллера

Время на прочтение4 мин
Количество просмотров14K
Привет! Меня зовут Георгий, я дизайнер.

Пока мы все сидим по домам, я решил поделиться опытом в разработке дизайна интерфейсов для промышленной автоматизации.Так сложилось, что дизайном приложений и сайтами занимается большое количество профессионалов. А вот хороших специализированных интерфейсов, предназначенных для управления инженерными системами не так уж много.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии24

Информация

В рейтинге
Не участвует
Откуда
Казань, Татарстан, Россия
Зарегистрирован
Активность

Специализация

Embedded Software Engineer, Software Architect
Linux
Git
C++
C
Assembler
Embedded Linux
C++ STL
Programming microcontrollers
Embedded system