0

Xillinux 1.3 が実行されている MicroZed ボードがあります。外部 SPI ADC をそれに接続し、Linux でアプリケーションを作成して ADC から値を読み取りたいと考えていました。Zynq デバイスのハードウェア SPI インターフェイスが Xillinux で有効になっていません。FSBL と U-Boot を再コンパイルする必要がありますが、どこから始めればよいかわかりません。Xillinux の Vivado デザインを変更してそこから先に進むことはできますか、それとも最初からやり直す必要がありますか?

4

2 に答える 2

1

FSBL または U-Boot を変更する必要はありません。SPI コントローラーをデバイス ツリーに追加し、プログラマブル ロジックを更新して、SPI ピンが ADC に接続されるようにするだけです。

ザイリンクス SDK には、デバイス ツリー ファイルを作成するためのツールが含まれています。これについては、デバイス ツリー ブロブのビルドページを参照してください。

私は通常 .dts ファイルを手動で編集しますがdtc、そのページで説明されているように、実行してバイナリ形式に変換する必要があります。

たとえば、フラッシュ チップに接続された SPI を有効にするzynq-zc770-xm013.dtsボードの .dts フラグメントを次に示します。

&spi0 {
    status = "okay";
    num-cs = <4>;
    is-decoded-cs = <0>;
    eeprom: at25@0 {
        at25,byte-len = <8192>;
        at25,addr-mode = <2>;
        at25,page-size = <32>;

        compatible = "atmel,at25";
        reg = <2>;
        spi-max-frequency = <1000000>;
    };
};
于 2016-09-08T17:30:11.937 に答える