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を使って書き込みできます。
ひでみのアイデア帳 Let's Vitis目次
- 2020/05/12 (Tue)
- 未選択 |
- CM(0) |
- Edit |
- ▲Top
vivado2019.2になってSDKがVitisに統合され移行する必要に迫られ調べ始めたのですが、ひでみさんが参考になる記事をいろいろ書かれていて、自分用に目次とリンク作りました。
勉強になります。
Let's Vitis(1) - Vitisとは?
Let's Vitis(2) - Vitisの使い方
Let's Vitis(3) - Linuxディストリビューションの構築
Let's Vitis(4) - ZynqMPSoCのブート
Let's Vitis(5) - FSBLのビルド
Let's Vitis(6) - FSBLの別のビルド方法
Let's Vitis(7) - fsblをデバッグするための設定方法
Let's Vitis(8) - PMU Firmwareのビルド
Let's Vitis(9) - Linuxディストリビューションのビルド
Let's Vitis(10) - BOO.BINの生成
Let's Vitis(11) - 「SDカードの生成」
Let's Vitis(12) - Platformの作成
Let's Vitis(13) - SDKの構築
Let's Vitis(14) - Platformの作成(続き)
Let's Vitis(15) - VitisでHello World
Let's Vitis(16) - FPGAアクセラレーション環境を構築
Let's Vitis(17) - FPGAアクセラレーションするプロジェクト
Let's Vitis(18) - Ultra96V2で動かしてみよう
二足歩行ロボット自作ガイド出版
- 2018/05/02 (Wed)
- robot |
- CM(9) |
- Edit |
- ▲Top
オーム社よりROBO-ONEにチャレンジ!二足歩行ロボット自作ガイドが出版されました。
11章にて私のロボットについて執筆しました。
表紙にも載っています。
本自体はROBO-ONEに参加するためにロボットを自作したい人に向けた情報が
まとめられています。といっても、この本だけを読めばいちから作れるという
わけではありません。いろいろ情報不足な部分もありますし、そもそも、
二足歩行ロボットを自作するとなると様々な知識が必要ですので1冊読めばOK
というわけにはいきません。ですがとっかかりの一冊にはなると思います。
また後半にはロボット制作者4人の著者がそれぞれのロボットについて、
執筆しています。ロボットを作るうえでの考え方だったり、ノウハウ的Tips
だったり、製作者それぞれの切り口で(皆さん自由に(^^;;)書いています。
そのうちの一人として、11章ではFrostyについて書いています。
足のリンク機構の構造や設計思想などの解説、FPGAを使った制御アーキテクチャの
紹介、サーボの改造方法等、実装上のノウハウ集等になっています。
この本の情報だけでFrostyと同等のロボットを作るのは難しいかとに思いますが、
部分的にでも参考になればと思います。
半分ぐらいはこのブログに書いている内容ですが、ひと通りまとまった形で
読むことができるようになっています。
Amazonにて購入の際はこちらのリンク経由で購入していただけると、
少ない原稿料の足しになるので私が喜びます。
robo-one 28th予選1位 & zynq制御コントローラ
- 2016/02/21 (Sun)
- 未選択 |
- CM(0) |
- Edit |
- ▲Top
今回からzynqを使った新しい制御コントローラになりました。
&バッテリーをLiHVに変更しました。
下記は予選の動画です。
4.5m走で記録は3.79秒でした。
4.5mを23歩で完走しました。計算上の実走行時間は3.68秒で
若干フライング気味でスタートして、計測装置側の反応遅れがあるので3.79秒という記録になったようです。
以前より加速度が20%程度、最高速度が3%程度上がってます。
下記が新しいzynqの制御コントローラです。
zynqはxilinx製で、CPUとFPGAが同一チップに入ったものです。
ドイツのTrenz Electornic社のTE0720というzynqのモジュールを使っています。
ARM Cortex-A9 dual-core 667MHz
1GByteDRAM,32MB Flash memory,1GbE
自作のIFボードにて下記IFを実装しています。
ICS 1.25Mbps x 6ch
RS485(kondo B3Mシリーズサーボ対応)3Mbps x 5ch
TTLレベル UART x 3ch
SPI(PS2コントローラ用)x 1ch
電源は9~24V対応で
大きさは40mm x 71mmです。
今回はICS 1.25Mbps x 6chを使って1ms周期で制御しています。
このボードの性能を使い切るにはまだだいぶかかりそうですが、
制御周期が上がっただけで応答が良くなったのは体感できますね。
下記は新しいバッテリーです。
hobbykingのTurnigy Bolt 1000mAh 4S 15.2V 65~130C High Voltage Lipoly Pack (LiHV)
ハイボルテージと言っても仕様上1セルあたり0.1v高いだけで、
充電完了電圧でも0.15v高いだけなので、電圧3.5%アップです。
充電電圧が異なるため、充電器から買い直しになってしまうのですが、
バッテリーチェッカーがハイボルテージ対応のものがまだ無くて
非常に不便なので、まだお勧めはできません。
が、3.5%でもまあ違うのは体感できました。
あ、そういえば前回のrobo-one 27thも予選1位だったのにブログ書いてないや。
まあ、その前に完走したときと同じ仕様だったので良いかな。
DARPA Robotics Challenge 行ってきました
- 2015/07/08 (Wed)
- 未選択 |
- CM(0) |
- Edit |
- ▲Top
そんなわけで? ロボット持ってDRC行ってきました。
再生開始位置の埋め込みがうまくいかないのでリンクはこちら