Jump to content
    

Собственно, сабж. Пэрвий ласточка.

Существует в виде файлов, без инсталлятора, которые надо распихивать руками по разным директориям...

 

внутри архива три папки:

 

etc - там лежит файл правил для udev, в версии с "SYSFS" (не ATTR). Поместить его надо в /etc/udev/rules.d, ну или куда там в вашем дистре, разные варианты бывают. Ну если того требует дистр, переправить с SYSFS на ATTR.

 

opt - ну содержимое в /opt, на тамошний "sau_loader" ссылка идет из вышеуказанного файлика правил udev.

 

ccsv5 - это собственно то, что нужно впихнуть в композер, в <inctallation_path>/ccsv5/ccs_base_5.x.x.xxxx - там директория common.

 

И последнее - все это хозяйство требует наличия libusb-1.0 в варианте >=1.0.5, если нету, установить, причем 32-битную. Также при установке CCS надо установить поддержку (галку) хотя бы у XDS100 эмулятора, чтобы установилось остальное необходимое.

 

В общем... Ищутся энтузиазисты-линуксоиды, работающие с CCS, готовые выступить в роли бета-тестеров этого ужаса. Кроме как тут, даже и не знаю, где таковых искать...

 

Я проверял под CCS v.5.0.1, http://processors.wiki.ti.com/index.php/Ca...poser_Studio_v5

sau_drv_0.0.1.tar.gz

Edited by SAURIS GmbH

Share this post


Link to post
Share on other sites

CCSv5.0.1, Ubuntu 10.10, ccs ставил в /home/zlolik/bin/ti/ccsv5 = <ccsroot>, sauris -> /home/zlolik/bin/ti/sauris. ccs качнул вчера по той же ссылке, sauris - из этой ветки. При установке ccs снял галку с Emulators, но поставил на XDS100. SYSFS поменял на ATTR, так как увидел ATTR в каком-то 70-persistent-net.rules, ссылку на "sau_loader" переделал под полный свой путь. Сделал проект helloworld для TMS320C6726.

При попытке запустить дебаг ругнулось на <ccsroot>/ccsv5/ccs_base_5.0.1.00036/emulation/drivers/libtixds6000.so какое-то. И этой либы там действительно нет. Запуск инсталлятора заново со всеми галками не помог.

Проверял пока без подключения, sau510 на работе.

PS: Аналогичный helloworld в ccs 4.2.1 под Virtualbox/WinXP дебажится под симулятором нормально. А при дебаге без SAU510 ругается:

Error connecting to the target:

Error 0x80000200/-141

Fatal Error during: OCS,

 

Share this post


Link to post
Share on other sites

При попытке запустить дебаг ругнулось на <ccsroot>/ccsv5/ccs_base_5.0.1.00036/emulation/drivers/libtixds6000.so какое-то.

 

Тут я помочь пока не могу. Драйвер этого уровня должен поставлять TI в дистрибутиве, не дал - значит не поддерживает семейство... Я, конечно, поднапрягшись, могу собрать эту либу - но не гарантирую, что если даже эмулятор приконнектится, то остальной композер нормально будет работать с семейством.

 

-------

UPD. Точнее дополнение, не касающееся предыдущего вопроса. На сегодня линукс-драйвера не поддерживают multidevice jtag chain. Так что отлаживать с ними пока можно только одноядерные процессоры, не содержащие всяких там icepick-ов. На днях выпустим уже пререлиз-версию, с их поддержкой и инсталлятором.

Edited by SAURIS GmbH

Share this post


Link to post
Share on other sites

Да, действительно поддержки еще нет: http://processors.wiki.ti.com/index.php/Linux_Host_Support

Ждем апдейтов от Texas.

-------

По теме: dmesg показывает [77271.035158] usb 2-1.1: new high speed USB device using ehci_hcd and address 14

Что еще потестить незнаю :(

Share this post


Link to post
Share on other sites

Что еще потестить незнаю :(

 

Спасибо за помощь. А потестить, если не сложно, вот что (след. версия, с мультидевайс жтаг чейн саппорт):

 

архив устроен также, только бинарников поприбавилось в opt, и udev rules усложнились. Соответственно, если ставить не в /opt, как предлагается, а в свое место, то в рулесах надо и все пути, ведущие в /opt, заменить на правильные. Ну и ATTR/SYSFS не забывать. В будущем все это будет делать скрипт-инсталлятор, а пока....

 

Что можно проверить:

 

1) после втыкания девайса он должен "загружаться" - это заметно по лампочке "ACT" эмулятора - она должна некоторое время светиться (в ISO - зеленый цвет двухцветного, в не-исо просто зеленый), и потом гаснуть. За это отвечает первая часть udev rules

 

2) после этого процесса должен запуститься "sau_proxy", за это отвечает средняя часть udev rules. проверить можно через "ps -Af | grep sau"

 

3) при вытыкании девайса тот самый "sau_proxy" должен завершаться. за это отвечает последняя часть udev rules.

 

4) если это все работает, то можно выполнить следующее:

- в терминале сделать cd в <ccs_root>/ccsv5/ccs_base_5.0.1.00036/common/uscif

далее выполнить такие варианты (если эмулятор старый, не-ISO, без развязки, то вместо iso.dat надо non-iso.dat):

./xdsprobe -rv -f iso.dat

./xdsprobe -i -f iso.dat

./xdsprobe -l -f iso.dat

 

ну и все эти тесты должны бы пройти...

 

Еще раз спасибо за помощь в тестировании, причем ubuntu интересна, она в РФ распространена. Пишется же все это под RHEL.

 

ЗЫ. В наших условиях успешно законнектились к TMS320VC5501 и к OMAP-L138 (к обоим его ядрам в одной сессии)

sau_drv_0.0.2.tar.gz

Edited by SAURIS GmbH

Share this post


Link to post
Share on other sites

так сказать "известная проблема".

 

пока что эмулятор должен втыкаться в USB после того, как система загрузилась (а именно подмонтировалась /dev/shm). Иначе композер не видит эмулятора.

 

Share this post


Link to post
Share on other sites

Не пошел первый шаг. Пробовал 71-sauris.rules версии 0.0.1, 0.0.2, а также с SYSFS и ATTR. Есть два емулятора iso и non-iso.

iso светит и зеленым и красным в act. non-iso не засветил act вообще.

Share this post


Link to post
Share on other sites

Не пошел первый шаг. Пробовал 71-sauris.rules версии 0.0.1, 0.0.2, а также с SYSFS и ATTR. Есть два емулятора iso и non-iso.

iso светит и зеленым и красным в act. non-iso не засветил act вообще.

 

там внутри 71-sauris.rules (0.0.2) есть строка:

 

SYSFS{idVendor}=="17ba", SYSFS{idProduct}=="0001", \

PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf /%%03i/%%03i $${K%%%%.*} $${K#*.}'", \

RUN+="/opt/sauris/bin/sau_loader %c"

 

вот в выделенном месте путь исправили? на /home/zlolik/bin/ti/sauris/bin ? Именно это правило должно "оживлять" эмулятор. Если тут все сделали, то вопрос - а libusb-1.0 в системе есть? Если да... До сделайте пожалуйста скриптик, который в вышеуказанное правило подсунуть вместо "sau_loader", чтобы он вывел, что ему пришло в %c. Например такой:

 

#!/bin/sh

echo $1 > /tmp/saulog
<path_to_sauris/bin>/sau_loader $1 >>/tmp/saulog 2>>/tmp/saulog

 

ну и сюда содержимое /tmp/saulog после втыкания эмулятора.

 

Share this post


Link to post
Share on other sites

Бета-версия уже с инсталлятором. Типа как должна сама распознавать ATTR/SYSFS в udev, ну и проверяет наличие libusb-1.0

Исправлена проблема с неработоспособностью, если эмулятор был подсоединен к компьютьеру до или во время загрузки ОС.

 

Просто из-под root-а выполнить install.sh

sau_drv_0.0.3.tar.gz

Edited by SAURIS GmbH

Share this post


Link to post
Share on other sites

1. ccs при переустановке из под sudo предложила по умолчанию /usr/local/CCSv5. Там теперь и стоит.

2. Запуск sudo ./install.sh сначала был неудачным. Поправил немного - сработал. Что получилось - положил в архив. Как отрабатывало в консоли - в install_shell.log. Кратко: sh->bash, udevinfo -> udevadm info.

3. С новыми скриптами 71-sauris.rules не получилось. Погуглив, нарыл http://igorka.com.ua/2010-03-24/znakomstvo-s-udev-v-ubuntu/.

4. Открыл /lib/udev/rules.d - оказывается используется ATTRS а не ATTR, а вместо SUBSYSTEM - ENV{DEVTYPE}. Вложил всю папку /lib/udev из убунты, может поможет.

5. Сделал соотвественно дебажное правило 71-sauris.rules, его тоже вложил.

6. В правиле скриптик sau_loader.sh вместо sau_loader. И его вложил.

7. Протестил подключение non-iso sau510, прихватил с работы.

Результат из /tmp/saulog (тоже положил):

2-1.1
Incorrect format of argument

sau510_lin_0.0.3_testlog.tar.gz

UPD: Пока баловался с udev - перезапускал ее вручную /etc/init.d/udev restart. Инсталлятор этого не делает.

 

Результат команд с udevinfo прилагаю.

echo "udevadm info -e | grep 17ba -A3 -B7" > udevinfo1.log
udevadm info -e | grep 17ba -A3 -B7 >> udevinfo1.log
echo "udevadm info -a -p /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1" > udevinfo2.log 
udevadm info -a -p /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1 >> udevinfo2.log

udevinfo.tar.gz

Share this post


Link to post
Share on other sites

Мда... как все запущено... в этой убунте все не так, как у людей... (у людей - это RHEL и SUSE, то, что официально поддерживается TI)

 

1. Ну переставлять CCS из-под рута вовсе не обязательно :)

2. sh->bash это переправим-с, на самом деле это глюка. udevinfo/udevadm info - спасибки, тоже учтем - если не найден udevinfo, будем юзать udevadm.

4. ATTR-ATTRS тоже учтем, SUBSYSTEM->ENV{DEVTYPE} тоже.

 

Все вышеперечисленное это поставлено "на карандаш".

 

 

А вот насчет 6...

 

аргумент у sau_loader (runproxy и stop_sau_proxy) должен быть в формате "/XXX/YYY" - где XXX это bus number, YYY - device address, короче должно соответствовать тому, как это устройство выглядит в /dev/bus/usb/XXX/YYY или в /proc/bus/usb/XXX/YYY - за это отвечает в правилах (v 0.0.3) PROGRAM=, результат которой и етсь тот самый %c - вот с этим надо как-то решать вопрос.... Правила в 0.0.1 изначально глючные, так как в %c случайно оказалось то, что надо, причем именно в RHEL. Поэтому к Вам просьба - попробуйте с этим разобраться. Для начала - вручную запустите sau_loader /XXX/YYY - где XXX и YYY правильные значения bus number и device address, он должен бы загрузить эмулятор. Ну а потом - как эти /XXX/YYY получить из udev-правил....

 

вот из ваших логов - "N: bus/usb/002/041" - XXX=002, YYY=041 - но они от каждого втыкания меняются

 

 

ЗЫ.

а зачем перезапускать udev? Достаточно переткнуть эмулятор после изменения в правилах, и он обязан будет сработать уже по обновленным правилам.

 

ЗЗЫ. Теперь я понимаю производителей софта (для разработки, всяких там техасов, альтер, синопсисов и пр.), почему они поддерживают только RHEL и SUSE :) :)

 

 

 

ЗЗЗЗЫ

А все таки, почему ATTRS а не ATTR - ведь интересует именно аттрибут (idVendor) например самого устройства, а не его контроллеров и шин-родителей.

 

 

------ UPD:

 

попробуйте рулю (под убунту) в таком виде:

rule.tar.gz

Edited by SAURIS GmbH

Share this post


Link to post
Share on other sites

Новая руля прошла успешно. non-iso прошел все три xdsprobe успешно. iso ругается:

The value is '-157' (0xffffff63).

The title is 'SC_ERR_POD_STARTUP'

Написал пару скриптов для запуска тестов. Скрипты и результат прилагаю.

sau510_test.tar.gz

-----------------

UPD: видимо это были проблемы проводов. На другой плате всё прошло. После переподключения из CCS3.1 и на первой тоже.

Share this post


Link to post
Share on other sites

SC_ERR_POD_STARTUP - это I/O error на шине USB, скорее всего что-то со шнурком/контактами было.

 

 

Просьба проверить работоспособность комплекта "с нуля":

sau_drv_0.0.4.tar.gz

Edited by SAURIS GmbH

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.

×
×
  • Create New...