/dev/ttyUSB0を介して組み込みデバイスにファームウェアを書き込む

/dev/ttyUSB0を介して組み込みデバイスにファームウェアを書き込む

私は最後の例を使います。この投稿

私はwctx:file length=0szコマンドを追っています。実際、Minicomへのシリアル接続を開くとminicom転送が中断されます。したがって、minicomウィンドウに入ると、press enter to begin updateこの時点の一般的なプロセスはメニューに行き、S Sendを選択し、Xmodemを選択してからファームウェアファイルを見つけて選択することです。この時点で転送が開始され、ほぼ直ちに失敗します。

別の仮想端末ウィンドウに移動して実行し、sz -X -k -b -vvv - /tmp/sz_fifo > /dev/ttyUSB0 < /dev/ttyUSB0受信しsz 0.12.21rc mode:1 sending s20806.lsz 0 blocks: give your Xmodem receive command nowてminicomウィンドウに移動します。to begin update press enterEnterキーを押してszウィンドウに表示され、Xmodem sectors/kbytes sent 0/ 0kretry Timeout on sector ACK最後の部分が数回繰り返されますretry count exceededmode:0

fifoが空であるか、minicomでXmodemプロトコルを選択する必要があるのか​​、それとも何なのかわかりません!これを行うためにWindowsを試してみましょう。私はモデムプロトコルとfifoの専門家からは遠いです。 Debian Woodyで始まったが。

「sを押す前にEnterを押してください」というコメントに応じて、

minicomを使用すると、内蔵カードのシリアルインターフェイスにアクセスしてアップデートが実行されます。内蔵カードにはCRCXmodemと1K-Xmodemの2つのオプションがあります。

1K-Xmodemを選択しましたが、応答は「ターミナルから切断し、速度を115,600に変更してから再接続してください」です。カード自体の速度が変わります。ポート設定速度を変更した後、Minicomが再接続され、内蔵カードに「ファームウェアのアップデートを開始するにはEnterを押します」というメッセージが表示されます。

この時点で、組み込みカードのマニュアルに書かれた手順は、「ファームウェアアップデートファイルの送信」です。 CTRLA+z を押して minicom メニューに入り、「S」を選択して送信するとプロトコルを選択できます。 Xmodemを選択すると、ファームウェアファイルを選択するために使用されるファイルブラウザが表示されます。

Enterキーを押すと更新が開始されますが、すぐに失敗します。ミニコムメニューから「S」を選択する前にEnterキーを押すと、何も送信されず、更新に失敗します。 minicomメニューにアクセスする前にEnterを押すと、内蔵カードのタイマーが期限切れになり、アップデートが失敗します。

名前付きパイプを使用して、上記のリンクで動作するszを試しています。 minicomがないと、組み込みシステムがファームウェアを受け取る準備をする方法がわかりませんが、minicomは失敗します。

私はこの特定の問題を解決しようとしています。特にminicomには1K-Xmodemの特別なオプションがなく、Xmodemだけがあるからです。また、szには、カードが提供するオプションで指定されているように、1K-Xmodem用の-kスイッチがあります。

ベストアンサー1

おすすめ記事