Есть ли в Raspberry Pi доступный для использования интерфейс JTAG / BDM?
Какой аппаратный отладчик нужен для отладки?
Можно ли использовать Open OCD ?
Есть ли в Raspberry Pi доступный для использования интерфейс JTAG / BDM?
Какой аппаратный отладчик нужен для отладки?
Можно ли использовать Open OCD ?
Ответы:
Редакция 2.0 модели B Raspberry Pi выявила контакты JTAG.
Вы можете найти много информации здесь . К сожалению, использование JTAG на RPi не так просто. Честно говоря, просто потому, что это так проблематично, я не удосужился заставить его работать. Вот что я знаю, однако:
Не все сигналы JTAG легко доступны. Все, кроме всех, на разъеме GPIO (не на разъеме P2 JTAG - это JTAG VideoCore, а не ARM и AFAIK, он не может использоваться людьми за пределами Broadcom). Дополнительный контакт находится на разъеме S5 (заголовок CSI), вам, вероятно, придется припаять его. Вот необходимые контакты (подробнее об этом на сайте dwelch67, вы также можете найти информацию о функциях альтернативных контактов GPIO в raspberrypi wiki ):
ARM_VREF P1-1
ARM_TRST P1-15
ARM_TDO P1-18
ARM_TCK P1-22
ARM_TDI P1-7
ARM_TMS S5-11
ARM_GND P1-25
РЕДАКТИРОВАТЬ: Как отметил @Damian , на ревизии 2.0 печатной платы отсутствующий сигнал ARM_TMS был подключен к выводу 13 на P1, поэтому пайка больше не требуется.
Теперь это не единственная проблема. По умолчанию все эти контакты настроены как контакты GPIO, а не как JTAG. Они должны быть перенастроены в программном обеспечении, и AFAIK нет поддержки в загрузчике Foundation. Dwelch67 написал свой собственный загрузчик (загрузчик следующего этапа), который делает именно это. Вы можете скачать его по ссылке в верхней части этого ответа.
Что касается аппаратного обеспечения, любое оборудование ARM11 JTAG должно быть в порядке. Как упоминалось ранее, я лично не проверял, поэтому не могу дать никаких рекомендаций. И да, OpenOCD можно использовать. Существует даже небольшой проект (также разработанный dwelch67) по созданию очень простого и дешевого оборудования JTAG на основе дешевой платы, такой как Launchpad . Посмотреть его репозиторий GitHub
Вы также можете попробовать этот конвертер SN74LVC8T245 от TI http://www.ti.com/product/sn74lvc8t245