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

Программист микроконтроллеров

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

Начинаем работу с Zynq 7000. Пособие для начинающих

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

Совсем недавно мне в руки попался один из вариантов отладочной платы с SoC Zynq XC7Z020. Поискав в Интернете материалы, а-ля how-to, и попробовав накидать свой минимальный проект обнаружил, что есть целый ряд подводных камней. Именно об этом я и хотел бы рассказать в статье. Кому интересно - добро пожаловать под кат.

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

Xilinx дорого-богато? Или ищем бюджетные варианты

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

Свое изучение ПЛИС я начал с FPGA Altera Cyclone IV, с которой в комплекте шел копеечный USB ByteBlaster. В сторону Xilinx посматривал с опаской, если борода была не сильно дороже, то программатор начинался уже от 2 т.р. за копию на Алике, что от 10 раз дороже Альтеровского Бластера. Я прошел свой путь от относительно дорогих (не фирменные) до дешевых моделей и хочу с Вами поделиться изысканиями. Возможно, если бы я обладал этой информацией, то начал изучать Xilinx пораньше.


Про плату управления майнером EBAZ4205 не писал только ленивый, ее я и заказал первой на опыты с SOC XC7Z010. Поморгав диодами, заказал со второго раза специфичные разъемы для самодельной платы расширения (пришли только несколько дней назад), начал искать на просторах Али вариант поинтересней и главное, подешевле («а восемь шапок сможешь ?»). И вот, довольно быстро, ко мне пришла китайская слива, то бишь, встречаем Lichee Tang Hex.



Читать дальше →
Всего голосов 10: ↑9 и ↓1+13
Комментарии17

Что такое Zynq? Краткий обзор

Время на прочтение16 мин
Количество просмотров48K
В далеком 2011 году компания Xilinx представила свои первые микросхемы SoC (System On Chip) — Zynq-7000. SoC Zynq сочетает в себе программируемую логику, процессорный модуль и некоторую периферию. Статья не является максимально полным описанием SoC Zynq, а лишь отражает те или иные характеристики, с которыми пришлось столкнуться при разработке устройств на базе SoC Zynq.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии18

Корутины? Простейшая имплементация на C, protothread и Arduino

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров7.7K

*иногда хочется уйти от управляемых будней

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

Читать далее
Всего голосов 14: ↑13 и ↓1+17
Комментарии17

C++20 в bare-metal программировании, работа с регистрами микроконтроллеров Cortex-M

Уровень сложностиСредний
Время на прочтение43 мин
Количество просмотров14K

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

Статья предполагает, что читатель имеет базовые знания программирования bare-metal систем и языка С++, в том числе и современных стандартов. Это означает, что совсем базовые пояснения выходят за рамки этой статьи.

Читать далее
Всего голосов 65: ↑64 и ↓1+75
Комментарии29

Земля в печатных платах | Слои, компоненты, секции, питание и переходы | Тренинг Рика Хартли

Уровень сложностиСредний
Время на прочтение30 мин
Количество просмотров11K

В этой статье представлен большой тренинг Рика Хартли по разводке земли в печатных платах. Перевёл и озвучил данное видео Dmitry Muravyev, за что ему огромное спасибо. Я всего лишь сделала конспект этого замечательного тренинга, чтоб люди могли ознакомиться с ним быстрее, чем смотреть двухчасовое видео, либо вернуться к каким-то отдельным темам, если позабылось. Категорически рекомендую ознакомиться с источником.

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

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

Quansheng UV-K5/K6: трансивер, из которого можно сделать что угодно

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

Дядюшка Ляо не перестаёт удивлять. Мы хорошо помним, какую революцию совершили USB-донглы на микросхемах Elonics E4000 и Rafael Micro R820T, изначально предназначенные для просмотра телевидения на экране компьютера. С заменённым драйвером они превращались в универсальный SDR-радиоприёмник, принимавший в диапазоне от 25 MHz до 1 750 MHz, отображая при этом спектр шириной 2.4 MHz. И стоило это удовольствие долларов 5, может, чуть больше.

Вторым важным событием стало появление дешёвой народной «шарманки» — Baofeng UV-5R. Это простенький двухдиапазонный трансивер с заявленной выходной мощностью 5W. Но недавно китайцы вновь превзошли сами себя и выпустили нечто, что стало ещё более интересным — Quansheng UV-K5 и улучшенные версии, обозначаемые UV-K5(8) и UV-K6. Что это за трансивер и почему он стал так популярен — читайте под катом.

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

mini-PCIe LTE для ноутбука

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

Это логическое продолжение топика о miniPCIe контроллере WiMax.
Некоторое время назад WiMax сети стали историей, и на их место победоносно ступил LTE. Однако идея использовать интегрированный модуль, вместо торчащего свистка беспроводной связи, не стала казаться мне менее привлекательной.
Выбор таких устройств совсем небогатый, и я останавился на Sierra MC7710, так как на форумах были сообщения об успехе его использования с Российскими LTE операторами. Процесс настройки оказался совсем не тривиальным делом и в добавок он нигде не описан от начала до конца. Поэтому я уверен, что этот топик должен занять место в кэше поисковых систем.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии14

Как собрать LTE-модем на базе SDR

Уровень сложностиСложный
Время на прочтение17 мин
Количество просмотров19K
Приветствую всех!
Пожалуй, самой закрытой технологией в пользовательском сегменте является сотовая связь. Очень немногие знают о том, как на самом деле работают телефоны и модемы, отчего им часто приписывают всякие мифические свойства. Как насчёт попробовать запустить полностью открытую реализацию модема стандарта 4G? Именно этим я и предлагаю заняться.



Итак, в сегодняшней статье поговорим о том, как взаимодействовать с мобильной сетью при помощи SDR. Попутно узнаем, какой софт для этого существует, и соберём самый дорогой 4G-модем в истории.

Традиционно будет много интересного.
Читать дальше →
Всего голосов 96: ↑96 и ↓0+108
Комментарии22

Как собрать GSM телефон на базе SDR

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


Ни для кого не секрет, что в уже привычных для большинства из нас смартфонах кроме основного процессора существует отдельный модуль связи, благодаря которому смартфон все еще остается телефоном. Вне зависимости от основной операционной системы, будь то Android или iOS, данный модуль чаще всего работает под управлением проприетарной операционной системы с закрытым исходным кодом, и берет на себя всю работу, связанную с голосовыми вызовами, SMS-сообщениями и мобильным Интернетом.

В отличие от проприетарного программного обеспечения проекты с открытым исходным кодом всегда получают больше внимания со стороны исследователей безопасности. Возможность заглянуть «под капот» и узнать, как работает тот или иной компонент программы, позволяет не только находить и исправлять всевозможные ошибки, но и убедиться в отсутствии так называемых «закладок» в коде. Кроме того, открытый исходный код позволяет начинающим разработчикам учиться на примере более опытных, используя результаты их работы в качестве опоры.
Всего голосов 37: ↑37 и ↓0+37
Комментарии7

Терминал для работы с COM-портом TerminalTMB

Уровень сложностиСредний
Время на прочтение31 мин
Количество просмотров7.9K

Описание теерминала для работы с COM-портом TerminalTMB. Данная программа предоставляет широкий функционал по упрощению, визуализации, автоматизации и минимизации рутиных действий при работе с последовательным портом. Может использоваться при разработке софта для микроконтроллеров, Arduino и промышленной электроники. Программа полностью бесплатная, никаких ограничений по функционалу и времени работы нет.

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

Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров32K
image

Отвал флэш-памяти типа eMMC — весьма частая болячка смартфонов и планшетов, которая массово преследует современные девайсы на протяжении вот уже более 10 лет. Симптомы проблемы знакомы многим читателям: смартфон виснет на заставке, системные приложения регулярно вылетают, или настройки системы внезапно перестают сохраняться. Сам процесс замены флэш-памяти требует навыков перекатки и пайки BGA-чипов, оборудования (трафареты для реболла, программатор с колодками, опционально подогрев) и понимания того, как работает загрузчик той или иной аппаратной платформы, поэтому в СЦ за эту процедуру могут взять достаточно большую сумму. На некоторых девайсах менять память уже совсем невыгодно, особенно когда другой такой-же аппарат стоит полторы тысячи рублей на барахолке, но воспоминания о любимом девайсе порой гораздо дороже, чем сумма за ремонт смартфона. Год назад я уже писал материал о загрузке Android с MicroSD при условии того, что eMMC ещё подает хоть какие-то признаки жизни, а сегодня я вам расскажу о способе загрузить систему с флэшки уже после того, как чип флэш-памяти отказал и ушёл в read-only. Сегодня мы с вами: узнаем о том, какие типы флэш-памяти существуют и причины их отказа, разметим MicroSD-флэшку и запишем на неё образ системы, пропатчим пути монтирования в boot.img, а также узнаем, как теперь запускать наш смартфон и посмотрим, сможет ли он работать достаточно шустро с MicroSD флэшки! Интересно узнать, как вернуть жизнь таким легендам, как Google Nexus? Тогда добро пожаловать под кат!
Читать дальше →
Всего голосов 75: ↑73 и ↓2+84
Комментарии72

Народный измеритель ёмкости батареек BatteryTest

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров30K
Я разработал дешёвый, точный и максимально простой в использовании прибор, с помощью которого можно измерить ёмкость практически любой батарейки (от микроскопических батареек для слуховых аппаратов до крупных батарей). Повторить мой прибор может любой желающий.



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

Передача телевизионного сигнала через HackRF

Время на прочтение4 мин
Количество просмотров15K
Всем привет. На этот раз я хочу рассказать о том как можно превратить старый телевизор в монитор компьютера. Для этого требуется лишь сам телевизор, HackRF и немного софта.
Читать дальше →
Всего голосов 51: ↑51 и ↓0+51
Комментарии6

Генератор для приёма QO-100 на MAX2870

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

Не так давно заинтересовался связью через катарский спутник QO-100. Собственно, он такой единственный геостационарный радиолюбительский, что делает его совершенно уникальным. Странно, что про него на хабре ничего не писали, технически это совершенно новый уровень радиолюбительской связи. Работает он в СВЧ диапазоне, поэтому к аппаратуре предъявляются специфические требования. В этой заметке хотел бы рассказать, как решал неожиданную для меня проблему создания высококачественного генератора на MAX2870 с использованием Bluepill и Rust.

Читать далее
Всего голосов 41: ↑40 и ↓1+56
Комментарии11

Async/await в C#: концепция, внутреннее устройство, полезные приемы

Время на прочтение24 мин
Количество просмотров227K
Доброго времени суток. В этот раз поговорим на тему, в которой начинал разбираться каждый уважающий себя адепт языка C# — асинхронное программирование с использованием Task или, в простонародье, async/await. Microsoft проделали хорошую работу — ведь для того, чтобы использовать асинхронность в большинстве случаев нужно лишь знание синтаксиса и никаких других подробностей. Но если лезть вглубь, тема довольно объемная и сложная. Ее излагали многие, каждый в своем стиле. Есть очень много классных статей по этой теме, но все равно существует масса заблуждений вокруг нее. Постараемся исправить положение и разжевать материал настолько, насколько это возможно, не жертвуя ни глубиной, ни пониманием.


Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии27

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

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

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

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


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

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

Уходящий в историю стандарт. Запускаем базовую станцию 3G (UMTS)

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров10K
Приветствую всех!

2023 год стал началом массового отключения ныне уже устаревших сетей третьего поколения. Многие операторы по всему миру уже вывели из эксплуатации эти сети или запланировали это на ближайшие годы. Самое время для того, чтобы поднять такую базовую станцию у себя. И, как выяснилось в процессе, это не так просто, как может показаться.



Итак, в сегодняшней статье разберёмся с тем, как собрать и заставить работать софт для поднятия сотовой сети типа UMTS. Узнаем, как устроены и работают такие сети. Традиционно будет много интересного.
Читать дальше →
Всего голосов 62: ↑62 и ↓0+62
Комментарии46

Обзор и оживление «японского пенька»

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

Всем привет! Сегодня хотелось бы рассказать про реликвию, с которой началось мое настоящее знакомство с компьютерами, — ноутбук Fujitsu Lifebook 634Tx 1998 года выпуска.

Только не надо записывать меня в счастливчики и «мажоры»: девайс принадлежал моему старшему (на 13 лет) брату, мне же, тогда школьнику, иногда перепадала возможность посидеть за ноутбуком и погонять монстров в Doom.

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

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

ToolChain: Настройка сборки прошивок для микроконтроллеров Artery из Makefile

Уровень сложностиПростой
Время на прочтение22 мин
Количество просмотров6.4K

Настало время освоить очередное семейство микроконтроллеров: от компании Artery Technology.

Компания Artery Technology уже возвела полноценную экосистему для своих процессоров. Есть фирменные отладочные платы, программаторы, документация, исходные коды MCAL и даже кодо генераторы.

В этом тексте я представил пошаговую инструкцию того как запрограммировать микроконтроллер Artery.

Читать далее
Всего голосов 13: ↑10 и ↓3+7
Комментарии11
1
23 ...

Информация

В рейтинге
2 294-й
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность

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

Embedded Software Engineer