Pull to refresh
15
0
Фёдор @dombran

Программист встраиваемых систем

Send message

U-boot. Процедура инициализации по шагам

Reading time6 min
Views28K

В предыдущей статье был описан процесс настройки IDE Eclipse для кросс-платформенной отладки загрузчика U-boot. В данной статье описывается устранение последних ограничений, препятствовавших полноценной его отладки. После чего, получив возможность полноценной отладки кода, пройдемся по всей процедуре инициализации загрузчика от первой инструкции и до конца в режиме отладки.

Читать далее
Total votes 10: ↑9 and ↓1+13
Comments8

Как упростить и усилить электродвигатель/генератор: эффект Стовбуненко

Reading time8 min
Views18K
Картинка rawpixel, Freepik

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

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

Использование подобного подхода и в настоящее время не потеряло свою актуальность и вполне может быть применено в ряде самодельных конструкций.
Читать дальше →
Total votes 81: ↑71 and ↓10+81
Comments41

Основы безопасности операционной системы Android. Native user space, ч.1

Reading time8 min
Views98K

Вступление


В этой статье я попробую рассмотреть безопасность чуть-чуть повыше ядра, а именно: как работает безопасность в Native user space. Мы коснемся темы процесса загрузки операционной системы и рассмотрим структуру файловой системы Android. Как я уже говорил, я не очень силен в Linux, поэтому если заметите неточности, то исправляйте — меня научите и статью улучшите. Так как эта тема довольно обширная, я решил разбить её на две части. В первой части мы рассмотрим процесс загрузки операционной системы и особенности файловой системы. Всем кому интересно, добро пожаловать!
Читать дальше →
Total votes 46: ↑41 and ↓5+36
Comments29

Основы безопасности операционной системы Android. Уровень ядра

Reading time6 min
Views100K

Вступление


Самой распространенной операционной системой для смартфонов на сегодняшний день является Android. Но не только этот факт подогревает интерес к ней. Открытость, возможность что-то настроить, подкрутить, и, естественно, сломать тоже в немалой степени способствуют увеличению популярности этой платформы. Я попробую поделиться опытом, как устроена эта операционная система, а так же рассмотреть систему безопасности. Всем, кому интересно, добро пожаловать! В этой статье я рассмотрю безопасность на уровне ядра.
Читать дальше →
Total votes 108: ↑102 and ↓6+96
Comments19

Как работает Android, часть 1

Reading time8 min
Views224K


В этой серии статей я расскажу о внутреннем устройстве Android  —  о процессе загрузки, о содержимом файловой системы, о Binder и Android Runtime, о том, из чего состоят, как устанавливаются, запускаются, работают и взаимодействуют между собой приложения, об Android Framework, и о том, как в Android обеспечивается безопасность.

Читать дальше →
Total votes 92: ↑91 and ↓1+90
Comments51

Основы безопасности операционной системы Android. Безопасность на уровне Application Framework. Binder IPC

Reading time6 min
Views45K

Вступление


После небольшого перерыва я продолжаю объяснять базовые принципы как обеспечивается безопасность в операционной системе Android. Сегодня я начну описывать безопасность на уровне Application Framework. Но чтобы понять данную тему, вначале необходимо рассмотреть как в Android реализован механизм межпроцессного взаимодействия (Inter-Process Communication (IPC)). Этот механизм называется Binder IPC, и сегодня мы будем рассматривать его особенности. Все, кому интересно, добро пожаловать!
Читать дальше →
Total votes 29: ↑29 and ↓0+29
Comments7

Изучаем принципы взаимодействия Ubuntu Touch и Android

Reading time10 min
Views53K

Привет, хабр.

Пару месяцев назад я занимался портированием Ubuntu Touch на платформу Allwinner A10,
в процессе делал заметки себе на память. Сейчас, на мой взгляд, они всё ещё актуальны, пока Ubuntu Touch окончательно не переехала на свой графический сервер Mir и так далее.

Данная статья поможет заинтересованным лицам найти стартовую точку, с которой можно начать близкое знакомство с UT.

Стиль изложения далёк от технического, но если вы не против, то
приглашаю под кат.
Читать дальше →
Total votes 91: ↑87 and ↓4+83
Comments34

Stack Trace в C++ или велосипедирование, уровень «Быдлокод»

Reading time9 min
Views32K

DISCLAMER


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

Вступление


Здравствуйте. Думаю многие сталкивались с неинформативностью большинства критических ошибок, вылетающих в программе. Давайте перечислим, какие ситуации могут приводить к аварийному завершению работы программы:
Читать дальше →
Total votes 18: ↑12 and ↓6+6
Comments19

Операционные усилители. Часть 3: Вычисление суммы, разности, интеграла и производной на ОУ

Level of difficultyHard
Reading time7 min
Views29K

В предыдущей публикации цикла мы разобрались, как рассчитать пропорциональное (усилительное) звено на реальном операционном усилителе с учётом его статических и динамических характеристик.

В данной публикации цикла мы научимся с помощью ОУ производить операции сложения и вычитания. Кроме того, мы разберём работу интегрирующих и дифференцирующих звеньев, а также схемы выборки-хранения.
Читать дальше →
Total votes 44: ↑43 and ↓1+63
Comments33

Мой маленький триод: Ламповая ЭВМ — это магия

Reading time25 min
Views27K
Экспериментальная 3U декатронная ячейка. Модуль декатрона А103 со схемой шифратора и переноса

Пришло время возобновить славную традицию ежегодного первоапрельского дайджеста по моим безумным вычислительным проектам. В прошлой трилогии [1], [2], [3] я рассказывал про создание де-факто самого быстрого в мире релейного компьютера BrainfuckPC. После трёх лет раздумий я наконец-то готов начать активную фазу строительства уникальной ламповой ЭВМ с кодовым названием DekatronPC.
Читать дальше →
Total votes 112: ↑112 and ↓0+112
Comments49

Начало работы в Kubernetes с помощью Minikube

Reading time7 min
Views91K


Предисловие переводчика: Minikube — удобный инструмент, который мы применяем в компании для локальных экспериментов с Kubernetes (в частности, для выполнения лабораторных работ по этой системе при обучении сотрудников). Эта статья показалась мне полезной во время моего знакомства с Kubernetes. Она написана год назад автором, использующим Mac OS X, а я проделывал все операции в Ubuntu 16.04 совсем недавно и с актуальными версиями основного софта: Minikube 0.20, Docker 17.06.0-ce, kubectl 1.7.0. Поэтому все выводы команд были переделаны под новые версии и незначительно отличаются от приведённых в оригинальной статье.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments4

Разработка игры на Unity с нуля до релиза. Часть 2

Level of difficultyEasy
Reading time3 min
Views15K

Приветствую Хабр! ?

«Разработка игры с нуля до релиза» - это серии статей, где я покажу, как создать свою игру с самого нуля до публикации в Google Play и Itch.io на ОС GNU\Linux. Часть 2

Читать далее
Total votes 7: ↑4 and ↓3+2
Comments3

Как установить Kubernetes на сервер Ubuntu без Docker

Reading time3 min
Views13K
image

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

Я говорю о самой установке инструмента управления контейнерами. Вы, конечно, не можете развернуть Kubernetes так же, как когда-то — установив Docker в качестве среды выполнения.

Вместе мы сейчас попробуем установить  Kubernetes на Ubuntu Server 20.04 без Docker-а.
Читать дальше →
Total votes 8: ↑4 and ↓4+3
Comments8

Y messenger: децентрализованный мессенджер на блокчейне*

Reading time4 min
Views11K

*Да, мы используем блокчейн, но только для хранения информации о пользователях, серверах, групповых чатах и каналах. Блокчейн не приспособлен для хранения чего-то вроде личных переписок.

Сегодня у многих пользователей на смартфонах установлено несколько мессенджеров. У каждого из них есть своя задача. Где-то мы общаемся с друзьями, где-то – с родственниками, где-то решаем рабочие вопросы. Возникает вопрос, почему вы решили доверять каждому из них? Кто дал вам гарантию что сообщения / документы / фотографии, которые вы отправили через тот или иной мессенджер не окажутся в публичном доступе? Если у вас есть сообщество в соц.сетях, кто вам сказал что завтра у вас не отнимут эту группу и вы не потеряете доступ к своей аудитории? Кто вам сказал, что после удаления переписки она действительно будет удалена и не всплывет в архивах через несколько лет? А ведь бывали случаи.

Вот тут приходим мы со своим Y messenger. Скорее всего вы не знаете никого из нашей команды и навряд ли знакомы с другими нашими продуктами, но я уверяю вас, что к концу статьи вы начнете доверять нам.
Читать дальше →
Total votes 37: ↑14 and ↓230
Comments69

Как работает децентрализованный мессенджер на блокчейне

Reading time8 min
Views31K
В начале 2017 мы начали создавать мессенджер на блокчейне [название и ссылка есть в профиле] с обсуждения преимуществ перед классическими P2P-мессенджерами.

Прошло 2.5 года, и нам удалось подтвердить свой концепт: сейчас доступны приложения мессенджера для iOS, Web PWA, Windows, GNU/Linux, Mac OS и Android.

Сегодня мы расскажем, как устроен мессенджер на блокчейне и как клиентским приложениям работать с его API.

Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments77

Запуск x64 систем в VirtualBox 6.1.12 на Windows 10 2004

Reading time1 min
Views26K
Написать подобный пост меня сподвигло потраченное время на решение проблемы.

Суть проблемы — запускаете виртуальную машину в VirtualBox, а она грузится как черепаха, бывает просто зависает и спустя некоторое время перезагружается и в окне виртуальной машины внизу справа высвечивается значок image

Прежде чем найти решение я искал проблему в обновлении видео-драйверов, в ssd, в самой виртуалке, но никак не в том, что явилось причиной — обновление до версии 2004.

Долго разбирал лог vbox.log на предмет ошибок, пока не наткнулся на это:
Читать дальше →
Total votes 15: ↑12 and ↓3+10
Comments42

Protobuffers — это неправильно

Reading time10 min
Views56K
Значительную часть своей профессиональной жизни я выступаю против использования Protocol Buffers. Они явно написаны любителями, невероятно узкоспециализированы, страдают от множества подводных камней, сложно компилируются и решают проблему, которой на самом деле нет ни у кого, кроме Google. Если бы эти проблемы протобуферов остались в карантине абстракций сериализации, то мои претензии на этом и закончились бы. Но, к сожалению, плохой дизайн Protobuffers настолько навязчив, что эти проблемы могут просочиться и в ваш код.

Узкая специализация и разработка любителями

Остановитесь. Закройте свой почтовый клиент, где уже написали мне полписьма о том, что «в Google работают лучшие в мире инженеры», что «их разработки по определению не могут быть созданы любителями». Не хочу этого слышать.

Давай просто не будем обсуждать эту тему. Полное раскрытие: мне доводилось работать в Google. Это было первое (но, к сожалению, не последнее) место, где я когда-либо использовал Protobuffers. Все проблемы, о которых я хочу поговорить, существуют в кодовой базе Google; это не просто «неправильное использование протобуферов» и тому подобная ерунда.
Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments32

Встроить JSON в Embedded? Проще простого

Reading time6 min
Views23K
image

Не так давно у меня появилась необходимость загружать конфигурацию приложения при очень ограниченных ресурсах. Не было доступа, практически, ни к каким стандартным функциям C. Очень повезло, что были стандартные функции по работе с памятью malloc()/free().

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

Из этого можно сделать вывод, что надо либо:
  1. Писать свой редактор бинарного формата.
  2. Использовать текстовый формат.

Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments15

Опыт создания сборок Linux под одноплатники с поддержкой обновлений

Reading time9 min
Views29K
image

Введение


На данный момент, на рынке представлен большой ассортимент одноплатников на любой вкус по приемлемой цене.

Как правило, различные сборки от производителей, предназначены для оценки платформы и являются отправной точкой нового проекта, поэтому не всегда подходят под конкретные задачи. В задачах где требуется высокая надежность, перед разработчиком встает вопрос, как доработать дистрибутив и потом не поплатиться за это полной переработкой образа и системы обновления.
Читать дальше →
Total votes 82: ↑82 and ↓0+82
Comments65

Запуск Linux на планшете с SoC Allwinner A10 на борту

Reading time7 min
Views51K

Предыстория


Приобрел я себе планшет на SoC Allwinner A10 (sun4i — кодовое название процессора AllWinner A10 ARMv7-A архитектуры семейства Cortex ядро A8). Сначала игрался с ним на Android 2.x потом на 4.x, но со временем мне стало этого мало. Да еще начали выпускать миникомпьютеры на основе этой SoC с Linux на борту. Я подумал: «Хм, а чем мой планшет хуже?» и занялся делом. Как оказалось, за меня уже все сделали, и дела делать не пришлось:


  1. Ядро оптимизировали для данной платформы
  2. Загрузчик оптимизировали к этой платформе
  3. Вышел новый порт debian armhf.

Осталось только все это дело сконфигурирован и собрать.

Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments32

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity