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

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

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

Близкий родственник эльфа – программер

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

Многие знакомы с ELF-файлами и их структурой. Поговорим о программерах. Программер – это файл в формате ELF (расширение может быть BIN, MBN или ELF), который предназначен для  работы с памятью смартфонов на Android с процессорами от Qualcomm в режиме аварийной загрузки (EDL mode – emergency download, 9008). Также его некоторые называют «пожарный шланг» (от английского firehose) или просто «шланг». Файл представляет из себя контейнер с набором команд для базовой работы с памятью, которые подписаны цепочкой сертификатов. Иногда возникает необходимость подобрать для своего устройства подходящий программер. Вот и попробуем разобраться в этом.

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

Использование шифрования для защиты битового потока Xilinx 7-й серии

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

Когда возникла необходимость защитить устройство от нежелательного использования, оказалось, что на эту тему мало информации. В конце концов, процесс перехода по множеству ссылок, которые выдал поисковик, вывел на XAPP1239UG470 и XAPP1084. Перед прочтением этой статьи лучше с ними ознакомится, так будет понятнее о чём идёт речь. Ниже будут пошагово описаны процессы создания зашифрованного bitstream и конфигурации ПЛИС на отладочной плате ARTY A7 и XC7K325T KINTEX-7 на кастомной плате для программирования этим зашифрованным bitstream.

Читать далее
Всего голосов 6: ↑5 и ↓1+7
Комментарии6

Zynq 7000. Загрузка Embedded Linux на SoC через JTAG с помощью XSCT

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

Учитывая, что я очень давно занимаюсь отладкой и запуском самых разнообразных проектов связанных с Zynq 7000 — со временем количество итераций перезапуска при проведении отладки увеличивалось пропорционально сложности проекта. Когда я только начинал осваивать разработку под Zynq, то каждый раз закидывал новый образ на microSD карту. Это было очень медленным процессом и требовало от меня постоянно подключать/отключать карту. После этого я освоил сетевую загрузку через Ethernet и TFTP, заменяя файлы по сети и проверяя результат после перезагрузки.

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

Вот как раз вопросы связанные с тем, как произвести загрузку по JTAG я бы хотел осветить в этой статье. Всем кому интересно — добро пожаловать под кат. 

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

Большие простые числа: преобразование Фурье

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

В одной из предыдущих статей я рассказал о математических алгоритмах, позволяющих проверить простоту очень большого числа. Но в основе всех тех алгоритмов лежит одна базовая операция — перемножение двух больших чисел. Именно операции длинного умножения занимают 99,9% времени выполнения любого теста простоты. Как же умножение реализуется на практике? Говорят, что при помощи быстрого преобразования Фурье. Но беглое прочтение Википедии вызывает недоумение. Какое отношение преобразование Фурье имеет к умножению целых чисел? Давайте разбираться.

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

Путешествие сквозь секреты прошивок: от BIOS/UEFI до OS

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

Вы когда-нибудь задумывались, что происходит, когда вы нажимаете кнопку питания на компьютере? За той краткой паузой, прежде чем экран загорится, скрывается сложный процесс. В этой статье мы погрузимся в увлекательный мир прошивок (firmware) и исследуем, как разные компоненты взаимодействуют во время загрузки системы. Поняв эти связи, вы получите четкое представление о том, как основные элементы приводят вашу систему в действие. Мы сосредоточимся на Intel архитектуре x86, хотя многие принципы применимы и к другим архитектурам.

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

Супербыстрая оптимизация крыла с помощью градиентных методов

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

Даже небольшое преимущество продукта может принести существенную выгоду. Инженеры постоянно ищут новые способы оптимизации конструкций в существующих ограничениях, чтобы добиться лучших результатов. Так, Airbus в 2006 году анонсировал программу, которая позволила добиться прироста на ~4 процента в показателях эффективности для самолета A320. Отчасти благодаря этому с 2009 по 2016 года (до появления A320neo с новыми двигателями) компания нарастила продажи A320 на ~40% по сравнению с основным конкурентом. В мире будут доминировать те, кто смогут проводить оптимизацию быстрее и эффективнее. Так можно ли ускорить сам процесс оптимизации? В этой статье в блоге ЛАНИТ я бы хотел поделиться одним подходом к оптимизации конструкции, который позволит это сделать.

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

Как подключить мультиметр к компьютеру

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

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

В бюджетных мультиметрах ZT102 и ZT301, которые построены на чипе DTM0660, можно реализовать подключение к компьютеру, но для этого придётся редактировать EEPROM и вносить изменения на печатную плату. Это несложно и Kerry Wong описывал как это сделать на примере мультиметра ennoLogic eM860T.

В тоже время у моего настольного мультиметра Agilent U3402A на задней панели уже есть порт RS232, но на нём указано "используется только для калибровки". Аналогичное предупреждение есть и в инструкции пользователя на русском и английских языках.

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

Hardpy. Nucleo-f401 example — автоматизируем тестирование электроники на производстве на Python

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

Как автоматизировать тестирование электроники на производстве на Python на примере тестирования и прошивки отладочной платы Nucleo-F401.
Разбор использования функций HardPy - открытого фреймворка для создания тестовых станций для производства электроники на pytest.

Start testing
Всего голосов 12: ↑11 и ↓1+14
Комментарии13

Разработка сложных процессорных систем на примере модуля SMARC. Продолжение

Уровень сложностиСложный
Время на прочтение7 мин
Количество просмотров5K
Приветствую, Хабр!



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

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

Все, что хотел, снова не уместилось в статье, а комкать информацию не хочется, чтобы еще больше не запутать. В материале много картинок, но это позволит проще воспринимать и запоминать информацию.
Читать дальше →
Всего голосов 58: ↑57 и ↓1+75
Комментарии24

Лучшие доклады последних FPGA-Systems: от выбора стратегии верификации до Quake 2 на RISC-V

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

Привет, Хабр! Пришло время поделиться самыми интересными докладами с конференций FPGA-Systems 2024.1, по мнению их участников. Под катом вас ждут топ-10 ошибок FPGA-инженеров, история о запуске Quake 2 на RISC-V, рассказ о новом высокоуровневом языке описания аппаратуры и несколько выступлений про укрощение сложностей верификации.

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

Raccoon Flash Explorer | Необычный программатор Spi Flash и i2c Eeprom

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

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

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

Можно скопировать или заменить прошивку обычным перетаскиванием, или напрямую открыть дамп в hex-редакторе или нужном софте.

Работает на практически любом устройстве с любой ос, которая понимает юсб-флешки.

8мб читает за 12 секунд, пишет за 36 секунд и выше, это везде зависит от самой микросхемы.
К тому же сам определяет микросхему и её питание (не нужен 1,8в адаптер), и подбирает частоту для Spi флешек от 1,7 до 22МГц (важно для внутрисхемной прошивки по прищепке).

Готовится усиленная поддержка прищепки, режим уже проходит тестирование и цепляет намного больше плат чем остальные.
Имеет защиту от дурака, и что-либо сжечь будет довольно трудно.

Работает на винде, линуксе, андроиде, пока частично (только чтение) и на маке.

Читать далее
Всего голосов 70: ↑67 и ↓3+79
Комментарии30

Мастер-аккаунт Zeekr. Как Arduino поможет Вашему китайскому авто?

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

Что происходит когда у Вас гаджет на колесах с одной стороны, и Вы уже окрыленные тем, что Arduino скетчи Blink и Hello_world у Вас получилось запустить? Правильно, приходит мысль, как это можно соединить.

Читать далее
Всего голосов 26: ↑24 и ↓2+30
Комментарии19

Прошиваем программу не только в начало FLASH памяти STM32

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

Знаете ли вы куда попадает ваша программа после того, как вы нажали кнопку RUN или DEBUG в IDE? Если да, то как изменить этот адрес или даже выйти за пределы постоянной памяти и прожигаться сразу в оперативную память? Небольшая статья, которую я сам в свое время не нашел и потратил много часов и нервов на сбор этой не хитрой информации.

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

Еще немного про LDPC коды

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

Всем привет! Я тут недавно начал разбираться в одной очень интересной теме, связанной с обработкой цифровой информации. Объектом моего исследования стали помехоустойчивые коды. Когда я был студентом, я даже писал студенческую научную статью, в которой представил код на Си для кодирования информации кодом Хэмминга на Arduino. Только вот коды Хемминга вряд ли можно применить в каких‑нибудь сложных каналах связи по типу WiFi или LTE, поэтому я начал изучать другие коды. Немного погуглив, я понял что мейнстримом среди помехоустойчивых кодов являются LDPC коды.

На Хабре была статья на тему помехоустойчивого кодирования и LDPC кодов. В ней автор очень круто описал основные принципы обработки информации, закодированной LDPC кодом, и даже привел пример декодирования методом SPA и некоторые мысли о том, как это дело можно оптимизировать. Я решил привнести свою лепту и подготовил свою небольшую статью в которой расскажу про кодирование информации на примере метода Ричардсона‑Урбанке (Richardson — Urbanke method), а также рассмотрю вариант декодирования информации методом minsum и различные способы оптимизации этого метода.

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

MIK32 АМУР на плате ELBEAR ACE-UNO от ELRON, мой опыт или как три дня загружать Blink

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

Здравствуйте все! ✋

Наконец-то ко мне пришёл долгожданный MIK32 АМУР на плате ELBEAR ACE-UNO от ELRON. Нормально так мне с ним пришлось по возиться, в какой-то момент уже подумал что прислали "кирпич", оказалось просто есть кое-какие нюансы о которых я сейчас расскажу.

Микроконтроллер долгое время не хотел определяться, с начала не заработал PlatformIO, библиотека MIK32 не установилась, выскакивала ошибка. Теперь я знаю что невнимательно прочёл инструкцию, но тогда не смог установить. В инструкции обратите внимание на ссылки wiki.mik32.ru и сделайте всё в точности как там описано, не спешите (:

Потом я установил MikronIDE, но OpenOCD писал ошибку, мол к JTAG ничего не подключено. Точнее ошибку сначала выдавал Uploader Микрона, а он в свою очередь обращался к OpenOCD.

Ошибка сначала выглядела так.

Читать далее
Всего голосов 29: ↑23 и ↓6+27
Комментарии53

Каждая капля на счету или как я счетчик умным делал

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


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

В предыдущей статье я уже описывал бюджетное решение для интеграции электросчетчика в системы умного дома, где всё было реализовано на базе своего DIY устройства. Но не только из электросчетчика состоит «домашний» учет энергоресурсов, поэтому в данной статье хочу поделиться личным опытом разработки аппаратного устройства для интеграции бытовых счетчиков воды в системы домашней автоматизации. Присоединяйтесь, будет интересно!
Читать дальше →
Всего голосов 36: ↑36 и ↓0+46
Комментарии58

Простой приёмник прямого преобразования для любительской связи на 40, 80 м

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

Легендарная, можно сказать, схема однополосного приёмника за авторством Владимира Тимофеевича Полякова — превеликого популяризатора любительского радио и связной техники прямого преобразования, с которой нередко начинало свою работу в эфире целое поколение советского юношества. Лаконичная, простая в изготовлении и настройке, на ширпотребных элементах и с удовлетворительными параметрами. Собрана на тогдашней элементной базе и от оригинала [1] отличается модульным исполнением, более или менее напоминающим характерную конструкцию ВЧ приборов. Радио собрано с мелкими доработками, предложенными С. Э. Беленецким [2].
Читать дальше →
Всего голосов 97: ↑97 и ↓0+123
Комментарии180

Нюанс, из-за которого ваш I2S не работает…

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

... и о котором почему‑то нигде не написано.

Некоторое время назад я сел осваивать интерфейс I2S для работы с аудио ЦАПом высокого качества. За спиной у меня уже был большой опыт работы с различными SPI микросхемами, I2C микросхемами, методы работы в блокирующем режиме, неблокирующем режиме через прерывания, неблокирующем режиме через DMA. В общем, мне казалось, что меня уже ничем не удивить. Но за это мы и любим мир электроники и компьютеров — он сможет удивить даже самого искушенного разработчика.

Читать далее
Всего голосов 44: ↑35 и ↓9+33
Комментарии48

Мини обзор на плату расширения EBAZ4205

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

В этой статье я хочу сделать краткий обзор на плату расширения к китайской плате с ПЛИС. Данная плата хорошо дополняет функционал основной платы EBAZ. В конце статьи будет демонстрация ролика Bad Apple.

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

Итеративная сборка FPGA-проектов

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

Всем привет! Я Константин Павлов, старший инженер по разработке систем на кристалле. Работаю в группе прототипирования в компании YADRO, занимаюсь отладкой на ПЛИС исходного кода, который затем будет работать в ASIC.

В статье я расскажу об итеративной (многократной) сборке проектов ПЛИС. Зачем она нужна и какими способами — вендорскими и самописными — ее возможно реализовать. А еще на примерах из практики покажу, каких впечатляющих результатов можно добиться, используя итеративную сборку.

Читать далее
Всего голосов 12: ↑12 и ↓0+18
Комментарии26
1
23 ...

Информация

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