USBシリアルリンクを開くヘルプ

USBシリアルリンクを開くヘルプ

私の目標は、次のコマンドを使用してSeggerシリアルリンクを介してARM mmcと通信することです。

python3 -m serial.tools.miniterm -e /dev/ttyUSB3 115200

ただし、次のエラー メッセージが表示されます。

No such file or directory: '/dev/ttyUSB3'

dmesgを使用すると、USBポートに接続されているSeggerシリアルデバイスを表示できます(下記参照)。

[159707.574338] usb 1-3: new full-speed USB device number 17 using xhci_hcd
[159707.724537] usb 1-3: New USB device found, idVendor=1366, idProduct=0101, bcdDevice= 1.00
[159707.724542] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[159707.724545] usb 1-3: Product: J-Link
[159707.724546] usb 1-3: Manufacturer: SEGGER
[159707.724548] usb 1-3: SerialNumber: 000801025943

だからUSB3に接続しましたが、シリアルリンクを開くことができないようです。また、これを参照してください:

USER@USERdev:/dev$ ls -ld ttyU*
ls: cannot access 'ttyU*': No such file or directory

なぜシリアルリンクを開くことができないのか知っていますか?私はDebian 11.7を使用しています。

助けてくれてありがとう :)

答え1

多くのデバイスアクセスの問題は、グループメンバーシップの変更で解決できます。

sudo journalctl --follow接続されているデバイスを見ると、デバイス名を見つけることができます。または、ls -1 /dev >dev.beforeデバイスを接続して10秒間待ちますls -1 /dev >dev.after;diff dev.{before,after}

特に、ls -l グループ表示権限(2番目のrwx三重項)が「」rw(例: " -rw-rw----")の場合、デバイスを所有するグループに自分自身を追加すると、rwアクセス権が付与されます。

それだけです:

# change to your device name 
device="/dev/ttyUSB3"
sudo adduser $USER $(stat -c "%G" $device)

これにより、デバイスを使用できるグループのメンバーになることができますrwしかし、もう一つのステップがあります。

すべてのプロセスを新しいグループのメンバーにするには、ログアウトしてログインします。グループメンバーシップは時間ベースで設定されますlogin

新しいグループから単一のプロセスを作成するには(テスト用、ログアウト/ログイン前):

newgrp $(stat -c "%G" $device)  

またはグループ名を入力してください。望むよりman newgrp

答え2

J-Link SEGGERの機能を使用したいようです。データシート「仮想COMポート」を呼び出します(データシートの5.14章)。

ただし、最初に「J-Link Commander」または「J-Link Configurator」を使用してこの機能を有効にする必要があるかもしれません。どちらもWindowsアプリケーションのようです。

/dev/ttyUSB*LinuxのデバイスノードはUSB-RS232(またはRS485)アダプタに接続されています。 Windowsでは、RS232またはRS485ポートをCOMポートと呼びます。

しかし、J-Link SEGGER(JTAGデバッガ)は、従来のRS232スタイルシリアルポートの一般的なデータ転送速度よりもはるかに高いデータ転送速度を約束するため、「仮想COMポートモード」はいいえUSB経由のデバイスのデフォルト通信モードです。代わりに、より高いデータレートを達成するためにプライマリUSBプロトコルを使用することができ、必要に応じて比較的遅い仮想COMポートエミュレーションを補助機能として有効にする必要があります。

利用可能なJ-Link設定ソフトウェアのLinuxバージョンがない場合は、適切なソフトウェアを使用してJ-LinkデバイスをWindowsシステムに一時的に接続する必要があります。これを使用してデバイス設定を変更して「Virtual COM」を有効にする必要があります。 「ポート」を選択して新しい設定を転送します。デバイスに保存し、再構成されたデバイスをLinuxシステムに戻してもう一度やり直してください。

関連情報