今日はJPEG Decoderのアプリ作りに入った。
まずは、Linuxの設定から・・・
Device Treeを下記のように4つのGPIOとDMAを追加する。
3つのGPIOZedBoardのLEDとボタンに繋がっているのでおまけ的存在。
user-gpio0@41200000 {
compatible = "xlnx,ps7-gpio-1.00.a";
reg = <0x41200000 0x10000>;
};
user-gpio1@41210000 {
compatible = "xlnx,ps7-gpio-1.00.a";
reg = <0x41210000 0x10000>;
};
user-gpio2@41220000 {
compatible = "xlnx,ps7-gpio-1.00.a";
reg = <0x41220000 0x10000>;
};
jpeg-dma@80400000 {
compatible = "xlnx,ps7-gpio-1.00.a";
reg = <0x80400000 0x10000>;
};
jpeg-gpio@81200000 {
compatible = "xlnx,axi-dma";
reg = <0x81200000 0x10000>;
};
いつものようにDevice Treeをバイナリに変換します。
% dtc -I dts -O dtb -o devicetree.dtb devicetree.dts
それで起動してみると・・・
sysfs: cannot create duplicate filename ''/class/gpio/gpiochip0''
のエラーでKernel Panicに。
いろいろ試したが、複数GPIOの設定があると何故かエラーになってしまう。
何かを忘れているんだろう。
ちょっと、ここで時間を取ってしまったので今日はひとまず、JPEG用のGPIOの1個とDMAの設定だけにしてLinuxが起動することを確認して終了。
明日からJPEG Decoderの制御アプリを作成する。