組み込み Linux システム用のカーネル モジュールを作成しています。モジュールは正常に動作compatible
し、デバイス ツリーのエントリを使用して自動的にロードされます。でデバイスを作成し、マッサージ/dev/
を使用してアクセスできます。ioctl
このモジュールは、複数の個別のメモリ領域を管理します。
デバイスは同時に複数のプログラムによって読み書きされる必要があるため、競合状態の可能性を認識しています。
ただし、メモリ領域ごとに 1 つのプログラムしかありません。
モジュールを数回ロードすることにより、競合状態は問題になりません (また、他の問題も回避されます)。
Q:同じモジュールを (デバイス ツリーのエントリごとに) 何度もロードすることはできますか?
myDevs {
compatible = "myDevs";
#address-cells = <0x1>;
#size-cells = <0x1>;
myown0@0xff000000 {
compatible = "myown";
name = "myown0";
reg = <0xff000000 0x27>;
};
myown1@0xff002000 {
compatible = "myown";
name = "myown1";
reg = <0xff002000 0x27>;
};
};