ボード上で動作する組み込みLinuxシステムがあります。デバイスツリーにuartデバイスとそのデバイスのドライバがあります。この場合、起動後に/dev/フォルダに/dev/ttymxc0 "ファイル"を表示できます。他の目的でUARTを使用する必要があるため、デバイスツリーでそのセクションをコメントアウトし、ファイルが/dev/フォルダになくなったことがわかります(今すぐボードと対話するためにsshを使用します)。
これで(他の理由で)カーネルに組み込まれたUART用の新しいシンプルなドライバを作成する必要があり、UARTと対話するためにレジスタに書き込む予定です。私の計画は、ユーザー空間でioctl()およびread()関数を介してUARTと対話できるようにドライバを開発することです。
しかし、何をすべきか、どのように始めるべきかはよくわかりません。デバイスファイルを生成するためにmknodeを参照または呼び出すドライバのどこにも見つからないため、カーネルがデバイスツリーを見た後に何らかの形でファイルを生成することが疑われます。問題は、ソースソースコードのデバイスツリーまたはドライバコードに「ttymxc0」への言及が見つからないことです。
ドライバーが何であるかはわかりませんが、実際にしなければならない。私は多くを読んで、これがカーネルとハードウェアの相互作用を案内することを知っています。私はこのサイトで多くの質問を読んでいますが、まだすべてがどのようにつながり、対話し、合計されるのかわかりません。実際に。
長すぎます。:ioctlや読み取りなどの関数を使用してユーザー空間で対話できるようにUART用の単純なドライバを作成したいのですが、ドライバコードに何を含める必要があるのか、カーネルやデバイスツリーとどのようにやり取りするのかわかりません。 /dev/にデバイスファイルを生成するためにmknodeを呼び出す方法は?