Linux で USB Blaster を認識させる
ドライバーの準備
/etc/udev/rules.d/51-altera-usb-blaster.rules
に新しい udev ルールを作成する。
/etc/udev/rules.d/51-altera-usb-blaster.rules SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6001", MODE="0666" SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6002", MODE="0666" SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6003", MODE="0666" SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6010", MODE="0666" SUBSYSTEM=="usb", ATTR{idVendor}=="09fb", ATTR{idProduct}=="6810", MODE="0666"
udevのルールを記述したら、いったんJTAGを抜いてファイルをリロードする。
sudo udevadm control --reload
jtagconfig
で認識されているか確認する。認識されているれば完了。
jtagconfig 1) USB-Blaster [1-2] Unable to read device chain - JTAG chain broken 2) USB-BlasterII [1-1] 02E660DD 10AX115H(1|2|3|4|4E3)/.. 020A40DD 5M(1270ZF324|2210Z)/EPM2210
なにやらJtag Chainがおかしい。
lsusb
で確認する。 Altera Blaster
が USB Blaster
、 Altera
が USB Blaster II
だ。
lsusb Bus 001 Device 006: ID 09fb:6001 Altera Blaster Bus 001 Device 005: ID 8087:0aaa Intel Corp. Bus 001 Device 002: ID 09fb:6010 Altera
libudev 32bitのインストール
jtagconfig
で Unable to read device chain - JTAG chain broken
というエラーが起きる場合は
- 接続不良
libudev
の 32bit パッケージが足りてない
が考えられる。接続を確認してもエラーが出たので、後者のライブラリをインストールする。
rpm
rpmの 場合は、以下のURLから適当なパッケージを選んでインストールする。
例えばCent OS 8なら systemd-devel-239-31.el8_2.2.i686.rpm
を入れる。
sudo yum install http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/systemd-devel-239-31.el8_2.2.i686.rpm
jtagconfig で確認
jtagd
を再起動させ、udevを再ロードする。
sudo killall -9 jtagd jtagd jtagconfig 1) USB-Blaster [1-2] 02E660DD 10AX115H(1|2|3|4|4E3)/.. 2) USB-BlasterII [1-1] 02E660DD 10AX115H(1|2|3|4|4E3)/.. 020A40DD 5M(1270ZF324|2210Z)/EPM2210
USB-Blaster I,II の両方が確認できた。
使ってて認識しなくなったとき
JTAGケーブルを抜く
sudo killall -9 jtagd sudo udevadm control --reload jtagd
JTAGケーブルを挿して jtagconfig
で確かめる。