2017-06-22 51 views
0

RPiプロジェクトでいくつかのピンを無効にして有効にしたいのですが。 GPIO 6、GPIO 5、GPIO 26です。これらのPINは、私自身のカーネルドライバで使用します。yoctoのRaspberryPIに独自のデバイスツリーを設定するにはどうすればよいですか?

このプロジェクトでは、GPIO経由で簡単な電気ボードを接続します。最小システムはyoctoを介して構築されます。私はデバイスツリーファイルを変更してGPIOを無効/有効にしたい。

自分のdtsファイルを変更または作成する必要があります。経由してカーネルレシピにファイルを追加layer.conf

  • に追加し、元のRPI DTS
  • がそれをパッチや私自身のDTS
  • を作成、検索

    1. :そのために私は私が必要になると思います追記

    どうすればいいですか?またはどこでソースを見つけることができますか?

    実際、私は使用しているRPi2のdtsファイルを見つけるのに苦労しています。私は "raspberrypi2-poky-linux-gnueabi"レシピの結果をチェックしていました(そしてファイルが見つかりません)。

    yocto + meta-raspberrypi + own dtsの設定方法はありません。私たちが必要なステップを見つけ出すことができれば素晴らしいことでしょう。

  • 答えて

    2

    まずyoctoプロジェクトで使用されるカーネルを見つける必要があります。レシピはlinux-raspberry.bbまたはlinux - *。bbのようなものです。好ましいカーネルはおそらくlocal.confまたはmachine.confに設定されています:PREFERRED_PROVIDER_virtual/kernel ?= "linux-raspberry" これは "rpi-base.inc"に含まれる "meta-raspberrypi/conf/machine/include/rpi-default-providers.inc"で間接的に設定されます

    見つかったら、レシピを見て、右側のブランチのカーネルのgitリポジトリを複製し、右側のSRCREVにリセットしてください。

    ダウンロードすると、dtsファイルは/path/of/my/kernel/linux-raspberry/arch/arm/boot/dts/になります。あなたは、DTSファイルが<path to build dir>/linux-raspberrypi2-standard-build/source/arch/arm/boot/dts/で見つけることができ、選択したメタラズベリーとrpi2ための変数KERNEL_DEVICETREE = "..."

    で、local.confまたはmachine.conf、カーネルレシピに使用さdevicetreeファイルの名前を見つけることができます。ソースディレクトリは、gitソースにリンクされたディレクトリです。

    dtsi/dtsファイルを作成することで新しいdtbを追加できます(Makefileに追加することを忘れないでください)。

    カーネルレシピに追加し、パッチを作成します。あなたの新しいDTBを追加するKERNEL_DEVICETREE変数を変更し

    SRC_URI += "file://0001-mypatch.patch" 
    

    をし、あなたのメタ

    ├── files 
    │   └── 0001-mypatch.patch 
    └── linux-raspberry.bb 
    

    に、このようなパッチファイルを置きます。

    これでカーネル/イメージをビットベイクできます。新しいdtbが作成されます。

    関連する問題