Petalinux2018.3でPLとDevice Treeを動的に変更する のバックアップ(No.1)

更新


公開メモ

再起動せずにプログラマブルロジック及び Device Tree を更新する

Device Tree Overlay を使うと Device Tree を更新できる

FPGA Region という機能を使うとプログラマブルロジックを更新できるらしい

Device Tree Overlay

電気回路/zynq/Device Tree Overlay ではまだできなかった、 configfs を用いた方法が使えるようになっているみたいだ。

カーネル設定

電気回路/zynq/Petalinux2018.3によるzynq-7000ブート用SDカード作成#t9b088e3 の続きから、

LANG:console
$ cd ~/petalinux/zturn-v2018.3/kernel-source
$ make ARCH=arm menuconfig
 Device Tree and Open Firmware support  ---> 
     [*]   Device Tree overlays
     [*]   Device Tree Overlay ConfigFS interface

Petalinux からカーネルソースを取ってきた場合には これらは元々チェックが付いていた。

やりかた

ブート直後、すでに /sys/kernel/config が使えるようになっていた。

LANG:console
$ mount | grep configfs
 configfs on /sys/kernel/config type configfs (rw,relatime)

あとは、

https://okchan08.hateblo.jp/entry/zynq-device_tree_overlay#ConfigFS%E3%81%AE%E6%BA%96%E5%82%99

などを参考にすればいいはず。

dtc

LANG:console
$ dtc --version
 Version: DTC 1.4.5
$ dtc --help
 ...
 -@, --symbols
       Enable generation of symbols
 ...

ということで、-@ も使えるようになっていた。

シンボルを使った dts も使えるみたい。

後で試す。

FPGA Region によるプログラマブルロジック書き換え

カーネル設定

電気回路/zynq/Petalinux2018.3によるzynq-7000ブート用SDカード作成#t9b088e3 の続きから、

LANG:console
$ cd ~/petalinux/zturn-v2018.3/kernel-source
$ make ARCH=arm menuconfig
 Device Drivers  ---> 
     FPGA Configuration Framework  --->    
         <*> FPGA Region
         <*> Xilinx Zynq FPGA
         <*> FPGA Bridge Framework
         <*> Xilinx LogiCORE PR Decoupler

となっていれば良いらしいのだけれど、Petalinux からカーネルソースを取ってきた場合には これらは元々チェックが付いているようだ。

Device Tree 設定


Counter: 7836 (from 2010/06/03), today: 3, yesterday: 0