Quartus, USB-blaster та Ubuntu 13.04

Років десять тому була задумка з підручних матеріалів (мікросхем, які однак завжди є у шафці) зробити спеціалізоване «щось схоже на логаналізатор» — запис з мітками часу прийнятого з двох каналів UART, кількох цифрових входів з дискретністю в десяток мікросекунд та пари аналогових входів з дискретністю в сотню мікросекунд.

На платі ATmega64, FT245, мікросхема статичної пам’яті 512Kx8 та між ними мостом EPM240. Ця альтеринка повинна була сама писати у буферну пам’ять цифрові входи при зміні їх стану, а також супроводжувати міткою часу записи від мікроконтролера (UART-и та аналогові входи) а також бути «DMA-каналом» для FT245.
Але змінилися задачі, змінилася робота, … Через кілька років по виготовленні плат парочку навіть було запаяно, але далі справа не пішла.

Заманулося таки хоч якось запустити цю стару плату, хоча б для тестування змін у scmRTOS 🙂

Знайшов у себе в завалах якийсь Квартус 9.1 (free-шна версія для Linux). Поставив. Поруч в архівах лежали рекомендовані для роботи з USB-blaster файли 51-usbblaster.rules (записувати у каталог /etc/udev/rules.d)

# USB-Blaster
#
SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001|6002|6003",\
OWNER="root", GROUP="root", MODE="0666", SYMLINK+="usbblaster"

та рядки, що їх треба додати до файлу /etc/rc.local

# For Altera USB Blaster
mount --bind /dev/bus /proc/bus
ln -s /sys/kernel/debug/usb/devices /proc/bus/usb/devices
#

«Вмикаю — не працює». На деякий час програматор квартуса задумався, потім сказав, що не знайшов нічого, що його могло б зацікавити. Пробую cat /sys/kernel/debug/usb/devices, а воно мене не пускає. О, дивлюся далі.

$ ls -l /sys/kernel | grep debug
drwx------  22 root root    0 лис 19 08:58 debug

При тому, що

$ sudo ls -l /sys/kernel/debug | grep usb
drwxr-xr-x  3 root root 0 лис 19 08:58 usb

Тобто доступ на читання до підкаталогу usb є, так само до всіх інших у debug, поруч лежать файли з правами 444.
Отже, все, що лежить у debug — дозволено читати всім. Тому не став гаяти часу, зробив просто

$ sudo chmod 755 /sys/kernel/debug

Програматор квартуса побачив мій усб-бластер, тепер, може, щось і зроблю.

[flagcounter image]