2018年 03月 05日 ( 1 )

ps7_init

Zynq の PS の初期化について調べてみると、ps7_init.c とか ps7_init.tcl とかで設定するらしいことが分かってきました。
どちらを使うのかは、起動のやり方で変わるらしく、jtag ブートの場合は ps7_init.tcl を SDK が自動で実行する模様。
SD card から起動する場合は、Arm の上で動く FSBL とかいうブートコードの中で ps7_init.c を実行するようなのですが、このコードを起動後の zero-riscy から実行してもダメっぽいなって感じです。
PS の初期化のためだけに毎回 SDK を起動するのは馬鹿らしいので、別の方法を探ってみると こんな方法 が見つかりました。
XSCT (Xilinx Software Command-Line Tool) とやらの上で、下のコマンドを実行すると良いらしいです。
connect
targets
target 1
source ps7_init.tcl
ps7_init
ps7_post_config
とりあえず WSL の上からは、上のコマンド列を並べたファイルを準備して
cmd.exe /C "c:\Xilinx\SDK\2017.4\bin\xsct.bat hoge"
ついでに fpga hoge.bit でビットストリームのプログラムまで一連でやるのが便利かな?
本当は GUI でプログラムするときに PS の初期化が出来るとうれしいんですけどね。
もしくは 合成とかも全部コマンドラインから実行する のが良いですかね?

[PR]
by tom01h | 2018-03-05 22:13 | PCとか | Trackback | Comments(0)