TGViewer
Библиотека C/C++ разработчика | cpp, boost, qt Библиотека C/C++ разработчика | cpp, boost, qt @cppproglib · 16.8K subscribers
Post #4170 5.61K
🦾🤾 Хардварный проброс

Пробрасывать можно не только сетевые порты, а еще и регистры периферии микроконтроллера(МК). Идея та же самая — открыть периферию для использования вне микроконтроллера.

🤔 В случае проброса периферии, внешними клиентами будут выступать программы на ПК, и для них мы будем давать доступ к внутренним регистрам микроконтроллера. Для программ это будет выглядеть так, как будто регистры периферии находятся в адресном пространстве компьютера(ПК). Все равно что эти самые регистры периферии висели бы на одной шине с памятью и другими устройствами ввода-вывода.

✍️ Путь первый. Перехватываем все что есть

В каждой инструкции mov что работает с памятью будем проверять операнды, и если в операндах есть адрес, который совпадает с адресом периферии (к примеру адрес GPIOС 0x40011000) в микроконтроллере, то PinTool будет эту операцию выполнять на целевом микроконтроллере с помощью OpenOCD сервера и железного отладчика(st-link).

Детальное продолжение ждет тут
  • 🔥 7
  • 👏 4
  • ❤ 2
  • 😁 2
  • 🤩 2
More from @cppproglib
  1. Oct 13, 2026👀 Как вы смотрите видео? Разбираете урок, слушаете интервью фоном или начинаете на телефо…
  2. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  3. Sep 13, 2026🤪 Если бы можно было задать один вопрос про AI в разработке — что бы вы спросили? Как выб…
  4. Sep 13, 2026🤩 Inline static в классах — забудь про .cpp Сколько раз ты забывал добавить определение s…
  5. Sep 13, 2026🌸 Вселенная намекает: пора уже начать этот курс С 14 сентября цены в Proglib Academy выра…
  6. Aug 31, 2026❓Кто этот призрак в вашем коде: изучаем особенности работы с легаси на C++ Легаси — вот чт…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →