シリアル端末に関する問題があります。私はLinuxコンピュータを持っていますscreen /dev/ttyUSB0 115200
。
これは、シリアル端末を介してARMにファイルを作成し、Linuxシステムでファイルを開き、すべてのテキストを開いた端末にコピーして、すべてのテキストファイルを仮想的に転送できることを意味します。
今、バイナリデータを転送したいと思います。私のARMコンピュータにインターネットが接続されていないため、パッケージをインストールできません。残念ながらここにはminicom
。さらに、rz
基本的に提供される機能もありません。
通常、すべてのテキストを簡単に転送できます。これでバイナリファイルをコピーしたいと思います。どうすればいいですか?
PS:この質問は拡張されます。シリアル端末経由でバイナリファイルを送信する、さらに制限があります。
答え1
shar
GNUを使用してsharutils
バイナリファイルからテキストファイルを作成し、それと同じようにテキストファイルをコピーして貼り付けます。このテキストファイルは、実行時に元のバイナリファイルを復元するシェルスクリプトです。https://en.wikipedia.org/wiki/GNU_Sharutils
答え2
ARMボックスに何が入っているかによって異なります。あなたはいますかuuencode
? base64
? perl
?
デフォルトでは、一部のラッパーを使用してバイナリファイルをASCIIに変換し、ASCIIファイルをリモートシステムに送信してからバイナリファイルに解凍することができます。
例えば
uuencode myfile > myfile.uue
これで myfile.uue をリモートエンドに送信します。
それから遠い方から
uudecode myfile.uue
バイナリをASCIIでラップするにはいくつかの方法があり、uuencode
一般的base64
に使用される2つの方法があります。コンピュータに何があるのかわからない場合は、どの方法が最適なのかわかりません。
これを行う方法を理解したら、それからこの方法では、より良いプログラム(minicom
または)を転送してrz
使用できます。デフォルトでは、ASCIIラッパーを使用して安定した転送プロセスを「ブートストラップ」します。