問題タブ [device-tree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
276 参照

linux - 最新の rpi-3.18.0 カーネルで起動できず、デバイス ツリーを有効にできませんか?

私は最新の rpi カーネル、つまり 3.18.0 に取り組んでおり、デバイス ツリーを有効にしています。

ソースコードをコンパイルしましたが、そのイメージとモジュールで起動できません。

空白の画面が表示され、起動しません。

起動できないのに、config.txt に以下を追加しました

しかし、リンクhttps://github.com/raspberrypi/firmware/tree/nextで提供されているイメージとモジュールを使用すると、同じ config.txt ファイルで正常に起動します

また、リンクからのファームウェアも使用していますhttps://github.com/raspberrypi/firmware/tree/next

0 投票する
2 に答える
5553 参照

linux-kernel - デバイス ツリーで子ノードのプロパティを読み取る方法

デバイス ツリーで子ノードのプロパティを読み込もうとしています。それを理解できませんでした。ここで誰か助けてもらえますか?

私はdtsファイルを持っています

指定された dts の AA ノードで子 2 のプロパティを読み取る方法はありますか?

0 投票する
2 に答える
10672 参照

linux-device-driver - Linux カーネル 3.17 で BeagleBone Black の pinmux を編集するにはどうすればよいですか?

/sys/kernel/debug/pinctrl/44e10800.pinmux/pins興味のあるピンをのぞいて見ることができます。

これはGPIO[2]4、 またはに対応しP8.10ます。

kernel で Fedora 21 を使用しています3.17.7-300.fc21.armv7hl

マルチプレクサを に変更したいと思い0x27ます。つまり、これにより、ピンが内部プルダウン抵抗を持つように構成されます (以前はプルアップされていました)。

望ましい出力は次のようになります。

何ができるでしょうか?

注: これは/sys/devices/bone_capemgr.*オングストロームではないため、 はありません。典型的な DTO アプローチでは、ケープ マネージャーを変更して変更をエクスポートします。これはオプションではありません。

編集:tadの考えからの調査に続いて、私は次のことを行いました: dtc -I dtb -O dts -o ~/am335x-boneblack.dts /boot/dtb-3.17.7-300.fc21.armv7hl/am335x-boneblack.dtb. このファイルを次のように編集しました。

次に、 で再度コンパイルしdtc、 に貼り付けて、/boot/dtb-3.17.7-300.fc21.armv7hl/再起動しました。しかし、何も変わりませんでした。何が起こっていますか?

編集:

Charles Steinkuehler が示した0x800ように、オフセットから を差し引く必要があり、「何か」は「例」を参照する必要があります。

0x098 0x27のエントリに追加するとuser_leds_s0、目的の動作が観察されます。

これですべて問題なく、目的の場所に移動できます。ただし、そのピンは実際には user_led ではありません。何らかの別のフィールドにある必要があります。では、「例」フィールドなどを機能させるために必要な「何か」は何ですか?

0 投票する
1 に答える
999 参照

linux-device-driver - 競合状態を防ぐために、カーネル モジュールの複数のインスタンスを modprobe する (デバイス ツリー)

組み込み Linux システム用のカーネル モジュールを作成しています。モジュールは正常に動作compatibleし、デバイス ツリーのエントリを使用して自動的にロードされます。でデバイスを作成し、マッサージ/dev/を使用してアクセスできます。ioctl

このモジュールは、複数の個別のメモリ領域を管理します。

デバイスは同時に複数のプログラムによって読み書きされる必要があるため、競合状態の可能性を認識しています。

ただし、メモリ領域ごとに 1 つのプログラムしかありません。

モジュールを数回ロードすることにより、競合状態は問題になりません (また、他の問題も回避されます)。

Q:同じモジュールを (デバイス ツリーのエントリごとに) 何度もロードすることはできますか?

0 投票する
3 に答える
3514 参照

linux-kernel - ドライバに互換性のある文字列がないデバイス ツリーを使用したドライバ バインド

「struct of_device_id」がドライバーで定義されていないが、デバイス ツリー (dts) ファイルで同じデバイス エントリに追加された互換性のある文字列であるという 1 つのシナリオを見ました。

以下は、チップのサンプル デバイス ツリー エントリです。

以下は、I2C ドライバーとして登録されているチップのドライバーのサンプル コード スニペットです。

この場合、ドライバーに「of_device_id」構造定義がないため、デバイスからドライバーへのバインドがどのように行われるかを理解するのを手伝ってください。

0 投票する
1 に答える
5366 参照

linux-kernel - Linux カーネルにデバイス ツリー ブロブ (dtb) を埋め込むにはどうすればよいですか?

initfamfs の場合と同じように、ボードとアーキテクチャに依存しない標準的な方法が必要です。

問題があれば、powerpc と linux-3.10 を使用しています。後でもっと良い施設があれば、私はそれらについて聞くことに興味があります.

また、これが現在機能しているボードを誰かが知っていて、参考として使用できる場合は、それも役に立ちます。

私は検索して検索してきましたが、dts/dtb が存在する理由、それらが有用かどうかについて進行中の議論についてかなりの量の情報、および dts の記述方法または既存の dts の使用方法についての情報を見つけましたが、方法については何も見つかりませんでした。それらを埋め込む。

関連するドキュメントへの簡単な説明またはポインタをいただければ幸いです。

0 投票する
2 に答える
16350 参照

linux - imx6 デバイス ツリーのコンパイル -- 致命的なエラー: 入力ツリーを解析できません

私は、Freescale imx6 に基づく TX6U-8010 用の組み込み Linux に取り組んでいます。

デバイス ツリー コンパイラ (dtc) を使用して dtb をコンパイルしようとしています。ただし、コマンドを使用すると:

...次のエラーが表示されます。

行 12、13、14 は次のとおりです。

私が使用しているカーネルのバージョンは linux-3.18.5 で、dtc のバージョンは DTC 1.4.0 です。