FrostyDesign
自分用にさまざまなものを作るページです
Vitis 2019.2 で QSPI Flashに書き込み失敗する問題について
- 2020/06/29 (Mon)
- 未選択 |
- CM(0) |
- Edit |
- ▲Top
限られた人の問題だとは思いますが、困っている人はとても困る話なので
ググってたどり着けるよう記録を残しておきます。
そもそもの話はVivadoSDK2017.3からQSPI Flashでブートした場合QSPIの書き換えができないように仕様が変わったことです。これはQSPI Flashに書き込まれたプログラムを誤って上書きしないようにするためのようです。このためQSPI Flashを書き換える際はJTAGモードでブートしてねというのが公式仕様です。
ですが、それ以前に製造されたボードでは明示的なJTAGモードに切り替えられるようなディップスイッチやジャンパを設けていないものがあります。また、ジャンパやスイッチは積みたくないこともあると思います。私の使っているtrenz electronicのTE0720も同様です。
Xilinxはそういったユーザー向けに書き込み時専用のFSBLファイルを用意して、
これをメモリにロードしてJTAGモードでブートすることで、書き込み可能にする仕組みを用意しました。trenz electronicもこれに沿ったFSBLファイルを用意していて、ビルド済みのfsbl_flash.elfファイルを配布しています。
が、vitis2019.2では不具合?でこの手法を使っても書き込み失敗します。
最初設定ミスかとさんざん悩みましたが、trenz electoronicのfourmへの書き込みをみると
不具合の可能性が高いように思います。
https://forum.trenz-electronic.de/index.php/topic,1286.msg6139.html#msg6139
不具合なのでそのうちXilinxが直すと思いますがいつになるかわかりません。
で、代替手段として、古いバージョンのvivadoをインストールしたいところですが
ディスク容量が馬鹿にならないです。
vivado 2016.4 Lab Editionを入れると2.5GBぐらいでインストールできます。
これでQSPI Flash memoryを消去し、
消去した状態からであればVitis2019.2でfsbl_flash.elfを使って書き込みできます。
この記事へのコメント