Перейти к содержанию
    

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

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

 

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

 

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

Изменено пользователем SAURIS GmbH

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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,

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

-------

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

Изменено пользователем SAURIS GmbH

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, действительно поддержки еще нет: 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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

архив устроен также, только бинарников поприбавилось в 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

Изменено пользователем SAURIS GmbH

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не пошел первый шаг. Пробовал 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 после втыкания эмулятора.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

sau_drv_0.0.3.tar.gz

Изменено пользователем SAURIS GmbH

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мда... как все запущено... в этой убунте все не так, как у людей... (у людей - это 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

Изменено пользователем SAURIS GmbH

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

The title is 'SC_ERR_POD_STARTUP'

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

sau510_test.tar.gz

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

 

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

sau_drv_0.0.4.tar.gz

Изменено пользователем SAURIS GmbH

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...