Pull to refresh

OpenOCD, ThreadX и ваш процессор

Open source *Programming *Assembler *Debugging *Reverse engineering *
Данная заметка может оказаться полезной для людей, который пишут bare-metal код и используют ThreadX в своих задачах (по собственному выбору или по навязыванию SDK). Проблема в том, что что бы эффективно отлаживать код под ThreadX или другую многопоточную операционную систему нужно иметь возможность видеть эти самые потоки, иметь возможность посмотреть стек-трейс, состояние регистров для каждого потока.

OpenOCD (Open On Chip Debugger) заявляет поддержку ThreadX, но не сильно явно оговаривает её широту. А штатно, на момент написания статьи, в версии 0.8.0, это всего два ядра: Cortex M3 и Cortex R4. Мне же, волею судеб, пришлось работать с чипом Cypress FX3 который построен на базе ядра ARM926E-JS.

Под катом рассмотрим что нужно сделать, что бы добавить поддержку вашей версии ThreadX для вашего CPU. Акцент делается на ARM, но, чисто теоретически, вполне может подойти и для других процессоров. Кроме того, рассматривается случай, когда доступа к исходникам ThreadX нет и не предвидится.
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Views 15K
Comments 7

OpenOCD, GDB и (сильно)удалённая отладка

Programming *Debugging *Programming microcontrollers *
Дано: есть устройство, с ARM926E-JS (Cypress FX3) на борту. Устройство находится на другом континенте. Устройство подключено (JTAG+USB+COM) к Linux компу. На комп есть SSH доступ (и больше ничего, только SSH порт).

Проблема: Устройство нужно отлаживать и писать под него код. И делать это, желательно, удобно.

Решение с использованием OpenOCD, GDB и Qt Creator, а так же описание пути к нему, под катом.
Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Views 23K
Comments 2

Безопасность прошивок на примере подсистемы Intel Management Engine

Digital Security corporate blog Information Security *Reverse engineering *


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

Встречайте – подсистема Intel Management Engine, самая загадочная составляющая архитектуры современных x86-платформ.

Читать дальше →
Total votes 38: ↑38 and ↓0 +38
Views 92K
Comments 47

Что не так с Raspberry Pi

Open source *Development for Raspberry Pi *Manufacture and development of electronics *
Translation


Raspberry Pi — невероятно популярное устройство, известное своей доступностью, универсальностью, возможностями и активным сообществом. Легко найти фанатские сайты и статьи, но большинство людей не знают о его слабых местах, пока сами не пострадают от них и не поищут информацию на форумах.

Постараюсь рассказать о некоторых вопросах, с которыми я столкнулся лично, а также о некоторых типичных проблемах, которые чаще всего появятся у людей, ничего не подозревающих об этом. И, наконец, почему я не рекомендую Pi для некоторых приложений, в частности, NAS-услуг, таких как NextCloudPi и Open Media Vault. Надеюсь, это сэкономит мне время, чтобы не повторять всё это на форумах.
Читать дальше →
Total votes 120: ↑115 and ↓5 +110
Views 183K
Comments 144

Azure RTOS. Часть 1: обзор и запуск (STM32 + CubeIDE + HAL)

Кварта Технологии corporate blog Microsoft Azure Programming microcontrollers *Development for IOT *IOT
Tutorial

На недавно прошедшем Microsoft Build 2020 многократно упоминалась Azure RTOS как специализированная ОС жесткого реального времени для микроконтроллеров.


В данном материале мы последовательно разберемся в том, что это за операционная система, какое место она занимает в продукции Microsoft для встраиваемых систем, а также установим планировщик ОС на один из микроконтроллеров STM32.

Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Views 17K
Comments 52

Разработка контроллера резервного питания. Установка Azure RTOS

Open source *Programming microcontrollers *Manufacture and development of electronics *DIY Electronics for beginners
Tutorial

Операционная система реального времени - сердце программного обеспечения разрабатываемого контроллера. На этот раз пробуем Azure RTOS.

Подробнее
Total votes 21: ↑17 and ↓4 +13
Views 6.7K
Comments 30

Разработка контроллера резервного питания. Технология отладки и тюнинг

Open source *Programming microcontrollers *Manufacture and development of electronics *DIY Electronics for beginners
Tutorial

Здесь рассматривается технология отладки платы контроллера резервного питания и его программного обеспечения . Используются: адаптер SWD, осциллограф, VT100 терминал через UART, движок FreeMaster, экспорт и анализ в MATLAB. Дан пример реализации регулируемого источника напряжения. Заключительный тюнинг платы.

Читать далее
Total votes 16: ↑15 and ↓1 +14
Views 5.3K
Comments 8

Разработка контроллера резервного питания. Как кризис сделал его сильней

Open source *Programming microcontrollers *Manufacture and development of electronics *DIY Electronics for beginners
Tutorial

Летом нас настиг кризис поставок микросхем. Контрактный сборщик сообщил что семейства MKE18F больше нет в продаже. В интернете на нас глядели пустые полки Digi-Key, Mouser, Avnet и прочих дистрибуторов. И вдруг на Octopart взгляд зацепился за STM32H753VIH6. Он был дороже, он был BGA, он требовал выше класс платы, но он был. Решать нужно мгновенно. Через несколько дней пропали бы и они. Дальше только у брокеров по 10-и кратной цене. Взяли все что было. Так начинается история новой версии контроллера резервного питания. Далее про новую трассировку и первый запуск.

Читать далее
Total votes 2: ↑2 and ↓0 +2
Views 2.3K
Comments 2

Развертывание Azure RTOS и USB стека на STM32H753

Open source *Programming microcontrollers *Manufacture and development of electronics *DIY Electronics for beginners
Tutorial

Здесь разберем следующие темы:

Специфика конфигурации Azure RTOS на платформе BACKPMAN v2.0 с микроконтроллером STM32H753.

Подключение на один порт USB одновременно трех разных интерфейсов: Mass Storage, Virtual COM, RNDIS 

Универсальный драйвер последовательного ввода-вывода способный работать через UART, USB,  Telnet, FreeMaster и прочие каналы связи. 

Читать далее
Total votes 12: ↑11 and ↓1 +10
Views 2.8K
Comments 9