Как отладить SWD на обратной плате? - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть робот-пылесос, и я хочу восстановить его, отладив микроконтроллеры на печатной плате. К сожалению, у меня нет практических знаний об отладке SWD или JTAG и мне нужна помощь.

Итак, мои выводы о плате / роботе:

  1. На плате есть 2 mController
  2. На GigaDevice GD32F103VG это Cortex-M3 (припаян набольшая печатная плата). Я полагаю, это используется для управления двигателями и обработки значений датчиков и запуска ОСРВ или что-то в этом роде. (Таблица данных http://www.internetsomething.com/autoolx50/GD32F10x_User_Manual_EN_V2.0.pdf). на странице 204-205 таблицы данных говорит мне, что чип может использовать SWD для отладки. PA14 SWCLK, PA13 SWDIO. big-pcb с чипом GigaDevice
  3. другой mC - это Rockchip RV1107, это Cortex-A7 (припаянный на небольшой печатной плате и соединенный ленточным кабелем). Я полагаю, что на этом чипе работает Unix-система. (Спецификация http://rockchip.fr/RV1107%20datasheet%20V1.1.pdf). Лист данных говорит мне, что микросхема может использовать SWJ-DP (SWD), см. Раздел 2.8.2 Страница 35. Поскольку у этого чипа есть контакты на нижней стороне, я не могу точно следить за контактами на печатной плате. небольшая печатная плата с Rockchip

  4. Вакуумный робот имеет 2 интерфейса (USB и 8-контактный), которые доступны без открытия устройств (скрыты за резиновой крышкой)Я вряд ли предполагаю, что это интерфейс отладки для службы, потому что эти интерфейсы не задокументированы или не вызваны поставщиком каким-либо образом. DebugInterface MicroUsb и 8pin-Interface

  5. Я попытался перепроектироватьpcb с помощью мультиметра и проверить целостность контактов, а также измерить напряжение.

    • Здесь я узнал, что контакт 3 из 8-контактного интерфейса напрямую подключен к контакту PA13 GigaDevice mC. контакт 4 из 8-контактного интерфейса подключен к контакту PA14 устройства GigaDevice. Это контакты SWDIO и SWDCLK, и поэтому мой подход к интерфейсу отладки немного более признан. Измерение напряжения дает контакт 3 = 2,56 В и контакт 4 = 0 В, эти значения не меняются при запуске пылесоса и не колеблются.
    • контакт 5 из 8-контактного интерфейса подключен к контакту PC11 GC-устройства GigaDevice, а контакт 7 подключен к контакту PC10. Из таблицы технических данных устройства GigaDevice на стр. 160 видно, что таблица USART2 показывает, что PC10 - это USART_TX, а PC11 - это USART_RX. Которые также подтверждают мое мнение, что это порт отладки. Измерение напряжения дает контакты 5 = 2,56 В и контакт 7 = 3,3 В оба без колебаний при запуске пылесоса. Если там, где колебания при запуске, я думаю, что я мог бы соединить здесь последовательный с UART-преобразователем и получить вывод терминала, но здесь нет никаких изменений напряжения при запуске.
    • контакт 6 из 8-контактного интерфейса подключен к GND. -> 0 В
    • Контакт 8 из 8-контактного интерфейса подключен к VDD. -> 3,3 В
  6. Все еще отсутствуют контакты 1 и 2 8-контактного интерфейса.
    • Проверка целостности показывает, что эти два контакта подключены к небольшой печатной плате и, следовательно, к процессору Rockchip. Из-за того факта, что контакты рокчипа находятся на нижней стороне чипа, я не могу идентифицировать контакты напрямую. Итак, я предполагаю, что из-за измеренного уровня напряжения и количества контактов, которые подключены к 8-контактному интерфейсу, и способности SWD для Rockchip, этот контакт 1 интерфейса 8pin является SWDIO для рок-чипа, а контакт 2 - SWDCLKRockchip. Измерьте напряжение, которое дает контакт 1 8pin-Interface = 1,79 В -> и это значение колеблется при запуске -> это говорит мне, что есть некоторый трафик, который я хочу увидеть. pin2 = 0V, так же, как SWDCLK от GigaDevice.
  7. USB также подключен к Rockchip.
    • USB-ID, USB-D- и USBD + подключены к Rockchip. (Проверили непрерывность). Мой Linux не реагирует на этот USB-порт, также dmesg ничего не показывает при подключении. Общее изображение подключенных контактов к 8-контактному интерфейсу выглядит следующим образом: Изображение подключений

Могу ли я разблокировать SWD и USART наGigaDevice во-первых, подключившись к Rockchip на что-то сделать. То же самое для USB-интерфейса. Для этого я купил JLINK-EDU для подключения к интерфейсам SWD. Попытка подключения через SWD к GigaDevice с контактами 3 и 4 интерфейса 8pin приводит к ошибке. Попытка подключения через SWD к Rockchip (pin1-SWDIO и pin2-SWDCLK) также приводит к той же ошибке.
errormessage JLINK-Commander

Я подключил устройство, как показано нижеПример подключения SWD к Rockchip: Пример подключения SWD Rockchip к SeggerJLink

Мне нужна помощь для подключения к Rockchip-устройству с помощью JLINK-Debugger. Как написано выше, pin1 интерфейса 8pin отправляет некоторый трафик. Моя цель - увидеть этот трафик, получить Linux-оболочку или GDB-соединение с устройством. Может ли кто-нибудь помочь мне в этом? Есть ли у вас дальнейшие шаги для реинжиниринга устройства? Некоторые другие возможные шаги?

...