Цитата(DASM @ Oct 1 2005, 19:04)
Гм, размечтались. Могу посоветовать использовать J-Link или MT-Link.
Для них внешний интерфейс прост (ReadMem, Writemem и т п)
Купить то легко, но хочеться совместить приятное с полезным ( изучить платформу и собрать отладчик). А разве это так трудно? С экспортом фунуций все понятно- вот список по RDI dllям от разных jtagов
Код
ADI
WinRDI_Config 10017CF0 1
WinRDI_GetRDIProcVec 10017CE0 2
WinRDI_GetVersion 10017C90 3
WinRDI_Get_DLL_Description 10017C10 4
WinRDI_Info 10017DB0 5
WinRDI_Initialise 10017D60 6
WinRDI_Register_Yield_Callback 1001CE90 7
WinRDI_SetProgressFunc 10017CB0 8
WinRDI_SetVersion 10017C50 9
WinRDI_Valid_RDI_DLL 10017C00 10
WinRDI_ZeroProgressValues 10017CD0 11
start 1001FC3A
RealMonitor
WinRDI_Config 1001AFC0 1
WinRDI_GetRDIProcVec 1001AF60 2
WinRDI_GetVersion 1001AF90 3
WinRDI_Get_DLL_Description 1001AF50 4
WinRDI_Info 1001B010 5
WinRDI_Initialise 1001AFA0 6
WinRDI_Register_Yield_Callback 1001AFF0 7
WinRDI_SetVersion 1001AF70 8
WinRDI_Valid_RDI_DLL 1001AF40 9
start 1001FDD7
Remote-A
WinRDI_Initialise 1000194F 1
WinRDI_GetVersion 10003F80 3
WinRDI_GetRDIProcVec 10003F70 4
WinRDI_Config 10001000 5
WinRDI_SetProgressFunc 10004020 6
WinRDI_Get_DLL_Description 10003FA0 7
WinRDI_Valid_RDI_DLL 10004080 8
WinRDI_ZeroProgressValues 10004060 9
WinRDI_Register_Yield_Callback 10003C60 10
start 10003D7D
ARMulator
DllMain 100012B0 1
WinRDI_Config 10001270 2
WinRDI_GetRDIProcVec 10001000 3
WinRDI_GetVersion 10001180 4
WinRDI_Get_DLL_Description 10001190 5
WinRDI_Info 100011A0 6
WinRDI_Register_Yield_Callback 100011F0 7
WinRDI_Valid_RDI_DLL 10001260 8
start 10004C8B
JLink
WinRDI_Config 10009160 1
WinRDI_Download 10009130 2
WinRDI_GetRDIProcVec 10009120 3
WinRDI_GetVersion 100090C0 4
WinRDI_Get_DLL_Description 10009110 5
WinRDI_Info 100090D0 6
WinRDI_Initialise 10009130 7
WinRDI_Register_Yield_Callback 10009140 8
WinRDI_SetVersion 100090A0 9
WinRDI_Valid_RDI_DLL 10009090 10
start 10029FD0
EasyJTAG China
WinRDI_Valid_RDI_DLL 10006150 11
WinRDI_GetVersion 10006160 4
WinRDI_Info 10006170 6
WinRDI_Get_DLL_Description 100061E0 5
WinRDI_GetRDIProcVec 100061F0 3
WinRDI_Download 10006200 2
WinRDI_Config 10006220 1
WinRDI_Initialise 10006250 7
WinRDI_ZeroProgressValues 10006400 12
WinRDI_Register_Yield_Callback 10006410 9
WinRDI_SetStopping 10006430 10
WinRDI_MultiConfig 10006440 8
start 1000A14A
Заголовочный файл winrdi.h достаточно хорошо документирован.
Вот с максимальной достижимой скоростью- интересно. Приходилось работать с JTAG отладчиками для ST20 семейства - там максимальная скорость TCK указана в bsdl файле и достигает 80 Мгц для некоторых камней. Поэтому JTAG драйвился хардверным сдвигателем на FPGA с FIFO. А вот для АРМов сколько можно выжать максимум?
Кстати, нашел тут "неуловимого Джо":
Для вигглера дллку от китайских друзей я залил на наш фтп
upload/MCs/ARM/Segger_J-Link_keygen ( проверьте кто-нибудь, а то сейчас железо недоступно).