コスモリサーチの凄腕エンジニアたちが日々、難題と格闘した記録
Copyright Cosmo Research Corp.

USB_gadgetで2つのデバイスを同時に見せる on Zynq

参考資料 Zynq Linux USB Device Driver XilinxのWikiで、基本はこれを見ればUSB Gadgetの構成は出来る。 Linux USB gadget configured through configfs Linuxのドキュメントで、XilinxのWikiには書いていないGadgetの削除の方法が分かる。 Raspberry Pi Ze…

MicroBlazeで割り込みのネストを行う

ベアメタルのMicroBlazeを用いたデザインの実装中に、QSPIメモリにアクセスするとソフトがフリーズしてしまう現象に遭遇した。 詳しく解析してみると、どうやら外部スイッチの割り込みの処理中にQSPIメモリへアクセスすると確定で再現するようであった。 QSP…

USB-UART(+JTAG)ICで起動直後のログが見えない

Zynqと接続した、JTAG-SMT3-NC/DIGILENTのUART出力が起動ログの途中からしか出てこない問題の解析を行った。 症状 fsblのログは表示されず、u-bootの途中からになる。 他プロジェクトでも同様の症状 表示されないのは電源投入した際で、ハードウェアリセット…

pthreadの仮想メモリ解放

LinuxのPosix Thread(pthread)で仮想メモリが解放されない時があるので 条件を調べてみました。 環境はZYNQのLinuxなのでPCのLinuxとは動作が違う部分があるかもしれません。 結果的にはpthread_createで作成したスレッドではスレッド終了時には仮想メモリを…

【社内向け情報共有例】3Dプリンタの使い方

以前コスモリサーチ社内向けに展開した3Dプリンタ使用方法の簡易的な手順を記載する. これは一例であるが,社内では情報共有を積極的に行っている. なおこの内容単体ですぐ3Dプリンタを使用できる程の情報量にはなっていないので注意. ・BCN3D”Sigma R19”…

UARTを使ってSDカードを書き換える

装置の蓋を開けずにデザインを交換したいという要求があった。該当の装置は外部へのデバッグ用I/FがUSBを使ったUARTのみしかなく、UART経由でデザインを更新することを考える。 lrzを使用することで、TeratermのZMODEというものを使用してファイルを送信し、…

AXI Chip2Chipを使用した系のデバッグと対応

前置き Zynqにぶら下がっている2台のFPGAのレジスタ設定用にAXI Chip2Chip IPを使用しようとしたところ、IPが期待した通りに動かなかったためそのデバッグと対策を行った。 現象 下記系で設計し実機デバッグを行ったところ、SoC-FPGA1間はLinkが立つが、FPGA…

FX3(CYUSB30xx)のブートに関するメモ

FX3のコンフィグ USBブートの場合、USB2.0接続でないと動作しない。 基板上の接続をUSB3.0/USB2.0ともに有効にする必要がある。 また、PMODEの設定はZ11としてUSBブート状態にする必要がある。 参考: EZ-USB® FX3™/FX3S™ブートオプションについて(AN76405) U…

XilinxのDDR4メモリコントローラについてのメモ

目的 DDR4メモリコントローラのオーバーヘッドに影響がある設定ついて調べる。 どの設定にしたらアクセス速度があがるか? 先に、内容のまとめ DDR4メモリコンポーネントについては、8Gb:x4,x8,x16 DDR4 SDRAM Datasheetを参考にした。 x16デバイスでは、バ…

Windows 10でWSLを有効時、Quartus PrimeのDDR3 Memory Controller IP生成でエラー

前置き Windows 10でWSLを有効時、Quartus PrimeのDDR3 Memory Controller IP生成でエラーになって、IPの生成ができない現象に遭遇した。 ひとまずはWSLを無効にすれば正常に生成できるが、気になったので調査してみた。 エラー内容 Quartus Primeのバージョ…

複数の同一ブロックデザインを含むVivadoプロジェクトで、petalinuxからhdfファイルが読み込めないのを無理やり解決した話

現象(Vivado 2018.3) Microblazeを含むプロジェクトでLinuxを使いたかったので、簡単に済ませるためにpetalinuxを使うことになった。が、petalinux-config --get-hw-description=<path>コマンドでなぜかhdfが読み込めない([Hsi 55-2019] XXX.hwh file is emptyとか</path>…

Xilinx ZynqのSDカードイメージ(BOOT.bin)の構造

Vivado 2017.2でなぜかQSPIブートできない現象にハマった際のメモをここで供養する。 QSPIブートできないのはfsblのバグ(後述)で、おそらく2017.4では修正されているはず。 参考資料1 UG585 Zynq-7000 All Programmable SoC テクニカル リファレンス マニュ…

直流安定化電源(TEXIO PDS-Aシリーズ)の電源OFF/ONプログラムを作る

前提 製品をいじめる試験で、たくさん電源OFF/ONを実施したい!けど手動ではやりたくない。 手元にPDS-Aシリーズという安定化電源とIF-70GUという別売りのコントロールボードがある。 Windows 10で動かしたい。 コマンドラインから叩きたい。 msys2でコンパ…

コスモリサーチエンジニアのブログ 開設

コスモリサーチエンジニアのブログを開設しました。 コスモリサーチ の凄腕エンジニアたちが日々、技術的問題と格闘し解決した軌跡を語ります。