Для отладки современных микропроцессоров используется интерфейс JTAG. Реже SPI, разница небольшая. Раньше можно было через тривиальную схему подцепить JTAG на параллельный порт LPT, в крайнем случае на COM. Но нету больше LPT, и COM-порты тоже на глазах исчезают из обихода.
Оказывается, выход есть. Простейший самодельный адаптер USB-JTAG делается на базе микросхемы FTDI FT232R. Для простоты можно взять готовую инструментальную мини-плату, например FT232RL Breakout (ценой $15) или MMUSB232RL (1640 рублей). Особенность этой микросхемы в том, что она имеет специальный режим работы "синхронный bitbang", позволяющий с заданной частотой выдавать нужные сигналы и одновременно считывать входы. Подробности можно почитать в описании "Bit Bang Modes for the FT232R and FT245R".
Объём работы минимальный: к мини-плате припаиваем шлейф из семи проводов с разъёмом на конце. Пример схемы для процессора Элвис Мультикор:

Для прочих архитектур, например ARM или Atmel AVR, понадобится другая распайка разъёма JTAG.
Правки для отладчика OpenOCD можно скачать здесь. Например, отладка ARM7 посредством GDB идёт на ура. Используя OpenOCD как прокси.
Оказывается, выход есть. Простейший самодельный адаптер USB-JTAG делается на базе микросхемы FTDI FT232R. Для простоты можно взять готовую инструментальную мини-плату, например FT232RL Breakout (ценой $15) или MMUSB232RL (1640 рублей). Особенность этой микросхемы в том, что она имеет специальный режим работы "синхронный bitbang", позволяющий с заданной частотой выдавать нужные сигналы и одновременно считывать входы. Подробности можно почитать в описании "Bit Bang Modes for the FT232R and FT245R".
Объём работы минимальный: к мини-плате припаиваем шлейф из семи проводов с разъёмом на конце. Пример схемы для процессора Элвис Мультикор:

Для прочих архитектур, например ARM или Atmel AVR, понадобится другая распайка разъёма JTAG.
Правки для отладчика OpenOCD можно скачать здесь. Например, отладка ARM7 посредством GDB идёт на ура. Используя OpenOCD как прокси.

no subject
Date: 2010-04-25 12:40 (UTC)Книжки нет, конечно. Только небольшие подсказки от FTDIchip.
FT232R - это и есть упрощённая версия FT2232. Дешевле и доступнее.
FT232R
Date: 2010-04-25 20:01 (UTC)Книжку спрашиваю не в контексте порта для ПК, а в контексте микроконтроллера, причем когда тактов на обработку почти не хватает.
BitBang подразумевается ассистированным, т.е. целью является работа по произвольному однопроводному протоколу с использованием аппаратного SerDes от SPI либо BSC. По прерыванию мы получаем байт из 8 однобитных отсчетов состояния линии.
Для разбора надо построить следующие табличные автоматы:
1. DPLL для 3x или 5x oversampling.
(если тактовой частоты не хватает, используется SPI slave и аппаратный PLL)
2. Распознаватель синхропоследовательности.
3. Декодер линейного кода или обработка bit-stuffing, в зависимости от протокола.
4. Разделение границ байтов.
5. Подсчет контрольной суммы.
6. Определение конца кадра.
В качестве примера подошел бы AVR USB, но они SPI не используют,
и соответственно автоматы там, насколько я помню, не табличные. :-(
Из этой области были, например, 10Base на 85230 (но там почти все делается аппаратно режимом BSC), или программный HDLC на 8251 в BSC-режиме (старт по синхробайту BSC + внешний PLL или синхронизация от модема).