Ports/aarch64/Raspberry Pi4
Данное описание относится в основном к Pi4, но в целом подходит и для других железок на основе Broadcom BCM2711 или даже BCM2710 (как, например, Pi3).
Аппаратная часть и отладка
Самая большая сложность - практически полное отсутствие документации. Это, конечно, Broadcom, но все равно фу такими быть. Тем не менее, три самых главных отладочных средства на малине есть и работают.
JTAG
Очень надеюсь, что в такие дебри вам лезть не потребуется, но на всякий случай...
Положите малину разъемами питания и видео к себе, а разъемами Ethernet и USB вправо. В левом дальнем углу окажется 40-контактная гребенка GPIO:
2 oooooooooooooooooooo 40 1 oooooooooooooooooooo 39
Соответствие сигналов JTAG (3.3V TTL) и контактов GPIO такое:
Name Pin Function TCLK 22 test clock TDI 37 test data in TDO 18 test data out TMS 13 test master-slave TRCK 16 test return clock TRST 15 test reset
Общий провод (GND) можно подключить к любому из контактов 6,9,14,20,25,30,34,39; рекомендую использовать одновременно 14, 20 и 39 ввиду их максимальной близости к сигнальным. Питание +3.3V можно взять с контактов 1 или 17; питание +5V присутствует на контактах 2 и 4.
Консоль
/dev/ttyAMA0 115200 8N1, 3.3V TTL. Подключать очень удобно - три контакта подряд:
Name Pin Function URXD 10 UART RX data UTXD 08 UART TX data
Разумеется, общий провод (GND) в этом случае удобнее всего подключить к 6 контакту. Главное, не промахнитесь: рядом +5V, которые уже могут быть опасными для USB-serial адаптера (рекомендую PL2303 и CH340, они более живучие).
Кнопка RESET
Увы, незаменимая вещь. Впрочем, здесь разработчики малины немного сэкономили: контактные площадки на плате есть, а разъем туда не впаян. Если вы уверены в своих руках и знаете, с какой стороны браться за паяльник - ничего сложного. Если есть сомнения - обратитесь к тому, кто умеет. Вам понадобится двух- или трехконтактный разъем, аналогичный GPIO-гребенке - с расстоянием между контактами в одну линию (2.54 мм, 1/10 дюйма). Его место на плате малины можно легко опознать по надписям RUN и Global_EN. Так вот: если этот самый Global_EN (правый контакт) соединить с общим (центральный контакт) - это и будет нажатие кнопки Reset.