Jump to content

    
Sign in to follow this  
Edmundo

Open-source эмулятор для TMS320: DLE500USB

Recommended Posts

Пожалуйста, расскажите подробнее о "вполне доступных" внутрисхемных эмуляторах для TMS320.

Ну вообще я имел в виду SAU510. Конечно и SM510 тоже доступна (может даже более), но заниматься сборкой такого устройства я бы лично не стал, и имею SM510 только по той причине, что он мне попался уже готовый :)

Share this post


Link to post
Share on other sites

А из жабодушительных соображений из этой схемы можно выкинуть гальваническую развязку? Т.е., если вместо всех ISO721 поставить одну HC244, питаемую от таргета, ничего плохого не случится? Я просто в первый раз сталкиваюсь с этими процессорами (конкретно в моём случае - TMS320C6415T) и не знаю, может, там есть какие-то специальные электрические требования к JTAGу... Отладчик будет втыкаться в ноут, заземлить который проблематично.

Share this post


Link to post
Share on other sites
А из жабодушительных соображений из этой схемы можно выкинуть гальваническую развязку? Т.е., если вместо всех ISO721 поставить одну HC244, питаемую от таргета, ничего плохого не случится? Я просто в первый раз сталкиваюсь с этими процессорами (конкретно в моём случае - TMS320C6415T) и не знаю, может, там есть какие-то специальные электрические требования к JTAGу... Отладчик будет втыкаться в ноут, заземлить который проблематично.

Можно, главное направление сигналов сохранить :biggrin: (для эмулятора TMS, TCK, TDI, TRST -- выходы, TDO, TCK_RET-входы; EMU0 и EMU1 не используются, но должны быть в "1").

P.S. Кстати ставил ADuM1100 вместо ISO-шек -- тоже работал... Сейчас конечно время другое, появились мнококанальные ISO, в следующей ревизии их поставлю (или SiLabs'овские).

Share this post


Link to post
Share on other sites

Мне вот непонятен смысл соединения через изоляторы линий TF_NSS и RF. Хотя по фотке http://www.prodigi.ru/projects/dle500usb/img/photo1.jpg изоляторы через которые они у вас соеденяются не стоят...

Share this post


Link to post
Share on other sites
EMU0 и EMU1 не используются, но должны быть в "1").

Это в принципе не правильно. Они могут быть выходами таргета, и по ним может производиться подсчет событий, отлов глобальных брейкпойнтов, и т.п.

 

PS. Каких только комментов чудных не найдешь в недрах техаса :) :)

/* DRM - The EMU0/1 info in GPSR SS got swapped in VHDL                     */
#define GPSR_EMU0          ((UINT32)0x00000100) /*  8 EMU0                  */
#define GPSR_EMU1          ((UINT32)0x00000080) /*  7 EMU1                  */

Share this post


Link to post
Share on other sites
Мне вот непонятен смысл соединения через изоляторы линий TF_NSS и RF. Хотя по фотке http://www.prodigi.ru/projects/dle500usb/img/photo1.jpg изоляторы через которые они у вас соеденяются не стоят...

Соединяются они для синхронизма, так как изоляторы обладают серьезной задержкой, поэтому и на фрейм желательно внести эту задержку. А заменил изоляторы перемычками, как говорится, "из экономии" :) Вроде работает.

 

Это в принципе не правильно. Они могут быть выходами таргета, и по ним может производиться подсчет событий, отлов глобальных брейкпойнтов, и т.п.

То, что в 510-х EMU0 и EMU1 не нужны, Вы как-то сами говорили, насколько мне помнится. То, что это двунаправленные сигналы, и что они используются при event'ах, RTDX и пр., в курсе, но до этих функций еще добраться надо :)

Share this post


Link to post
Share on other sites
То, что в 510-х EMU0 и EMU1 не нужны, Вы как-то сами говорили, насколько мне помнится.
Это было давно и оказалось не правда. "на поверку" - это экспериментально, т.е. хакерски. Беру свои слова обратно, так как сейчас обладаю точной информацией. Да, подавляющее большинство функций корректно работает и без них, но... Есть исключения... Например если глянуть в ф-цию PTI_AsysCount из dvr-ки для ARM7, ARM9, ARM11, C54xx то отлично видно использование PTI_EmuCount, который выполняет USCIF-овский SC_CMD_BENCHMARK. Со всеми вытекающими. Разница лишь в том, что в XDS560 два счетчика на борту, а в 510 один. Второй пример - глобальные брейкпойнты - в их случае ECU проца, в котором точка останова стоит, программируется на вывод на EMUx сигнала о том, что проц ее словил, а остальные процы синхронно тормозятся, ловя своими EMU этот сигнал. Ну и композер этот факт тоже ловит. Ну соотв. профайлинг бывает не совместим с глобальными брейкпойнтами.

 

Касаемо RTDX-а, да, только в 560-ом и HSRTDX юзаются EMU, 510 не умеет.

Share this post


Link to post
Share on other sites
http://www.prodigi.ru/ проект не работает..

мб у кого-то остались материалы с этого ресурса?

Да, я как-то забросил это дело. Временно разместил на сайте http://prodigi.shamil.ru/.

 

Извиняюсь за поздний ответ, редко захожу на форум.

 

P. S. Недавно игрался с 5-м композером, было бы время, можно попробовать все портировать на него, более того, выдать эмулятор за XDS100, чтобы не надо было приобретать лицензию.

Share this post


Link to post
Share on other sites
Да, я как-то забросил это дело. Временно разместил на сайте http://prodigi.shamil.ru/.

 

Извиняюсь за поздний ответ, редко захожу на форум.

 

P. S. Недавно игрался с 5-м композером, было бы время, можно попробовать все портировать на него, более того, выдать эмулятор за XDS100, чтобы не надо было приобретать лицензию.

и тоже не работает ;(

/: /home/shamil/data/www/shamil.ru/prodigi/auto.p(8:19): '/home/shamil/data/www/shamil.ru/sections.cfg' read failed: No such file or directory (2), actual filename '/home/shamil/data/www/shamil.ru/sections.cfg' [file.missing]

 

 

Share this post


Link to post
Share on other sites
P. S. Недавно игрался с 5-м композером, было бы время, можно попробовать все портировать на него, более того, выдать эмулятор за XDS100, чтобы не надо было приобретать лицензию.

Вот это было бы здорово! Т.к. понимаю, что у вас интереса, наверняка, уже нет, может, поможете советом и информацией, как бы это реализовать?

 

Я сейчас пробую (под Линуксом) заменить libtixds55x.so, в которой сидят GTI_*, TRG_*, PTI_*. Для платки с tms320c5502. Т.к. загрузка программки длится просто нереально долго, а также printf (CIO) слишком медленный. И это, учитывая, что xds100 реализован на ftdi 2232h, который может прокачать и 400 Мбит/с (8 бит параллельно).

 

http://rghost.net/6sZtgdX67

то что сохранилось с 2008г

Спасибо! Надеюсь, оно подходит для c55x?..

 

Кстати, есть ещё люди, интересующиеся open source реализацией? (Преимущественно под Линукс, но портабельно, чтобы и под винду собиралось.)

Share this post


Link to post
Share on other sites

Думаю, в идеале интересно было бы это портировать в OpenOCD, пользуясь накопленной здесь информацией. А по-минимуму - запустить хотя бы в обособленном виде для начала.

Share this post


Link to post
Share on other sites

Идеальную картину я себе обрисовал некоторое время назад. Поддержка c55x не только в openocd, но и в gdb (иначе что толку от openocd?) и binutils(?). С одной стороны gcc умеет c6x и gdb тоже, но вот с c55x не сложилось. На этом идеал закончился, потому что реализовать поддержку в gdb хоть и можно (13 лет назад кто-то интересовался этим вопросом в списке рассылок gdb), но точно не в одиночку как хобби.

 

Кстати, openocd пришлось бы перерабатывать: ведь здесь вместо нормального разделения команда по irscan, данные по drscan применяют исключительно irscan.

 

Запустить в обособленном режиме через libftdi могу попробовать. Но это даст слишком мало: только читать/писать память и, может, старт/стоп (уже загруженной) программы. Без возможности загрузки программы, без точек останова, CIO printf, Log.printf DSPBIOS,..

 

Кстати, что ещё было бы интересно (и просто?) - это попробовать с помощью самописной маленькой программки через boundary scan подёргать пин, на котором висит светодиодик. Но вот куда копать?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this