0

U-Boot と BusyBox ファイル システムを使用する AT91SAM9261EK ボードに基づく継承されたプロジェクト/ボードがあります。私は初心者で、これらのコンポーネントとアプリケーションとの関係を理解し​​ようとしています。

実験の結果、stdout の設定とシリアル ポートのパラメーターは U-Boot で行われ、これがアプリケーションまで持続することがわかりました。これは正しいです?

私の基本的な問題は次のとおりです。 1: ポート設定が正しくありません。ボーレートを変更する必要があります。2. アプリケーションからこのポートをオフにしたい (または少なくとも送信のみにしたい)。

U-Boot でポート パラメータを変更するにはどうすればよいですか?
stdout を定義するのは、U-Boot、BusyBox、またはアプリケーションのどのコンポーネントですか?

ありがとう

4

1 に答える 1

0

はい、U-Bootの実行中と Linux の起動後の両方で、U-Boot環境変数がこれらを制御します。基本的な参考書が充実しています。HallinanのEmbedded Linux Primer をお勧めします。あなたの現在の質問は、セクション 5.3 とチャプター 7 に当てはまります。

U-Boot プロンプトで「printenv」を実行すると、U-Boot が次の変数を自身に設定したことがわかります。 stderr=serial stdin=serial stdout=serial

「saveenv」を行わない限り、U-Boot の stdin と stdout を変更できます。おそらく、これらの変更はまったく役に立たないことに気付くでしょう。再起動して以前の設定に戻します。

ボーレートは非常に簡単に変更できます setenv baudrate 9600

最初の Linuxコンソールは、「bootargs」変数内の項目によって設定されます。たとえば ...console=ttyAMA0,115200n8... 異なるボーレートが必要な場合は、U-Boot coli で次のように試してください: setenv bootargs console=ttyAMA0,9600n8 。 .. (他の項目のために以前にあったものをコピーします) saveenv

Linux が立ち上がった後、他のさまざまなコンソール オプションが可能になりますが、多少高度なオプションが用意されています。幸運を祈ります。

于 2013-10-29T20:49:12.120 に答える