2017-01-01から1年間の記事一覧

MicroBlazeで実行時間を測定する方法

概要 MicroBlazeで命令の実行時間を測定する方法について考えました。 MicroBlazeではxtime_l.hが存在せず、sys/time.hのgettimeofday()が使えなかったため、 外部にAXI_Timer IPを入れることで実行時間を測定することにしました。 Vivadoプロジェクトの作成…

ZYNQのPSで実行時間を測定する方法

概要 ZYNQである処理の実行時間を測定したいときにどうすればよいのかについて紹介します。 一般的なCのコードではtime.hを使ったりしますが、ZYNQではこの方法は非推奨なようです。 今回はXilinxが用意したxtime_l.hというファイルを用います。 Vivadoプロ…

AXI GPIOについて

概要 AXI GPIOの使い方についてのメモ書きです。AXI GPIOはFPGAのピンの入出力としてももちろん使えますが、 FPGA内部のIPの入出力をコントロールすることもできて非常に便利なIPです。 Vivadoプロジェクトの作成 Block DesignなどでAXI GPIOを追加するだけ…

Cmod A7のSPIFlashにSDKのプロジェクトを書き込む

概要 Digilent社のCmodA7というFPGAボードにMicroBlazeを実装したBitstreamとそのSDKプロジェクトをSPI Flashに書き込む方法についてです。この方法はDigilent社の公式HPに、そのやり方が書いてあるのですが、かなり省略された説明でわかりにくかったため、 …

EZ-BLEでI2C to BLEを試す

今回はCypressのEZ-BLEモジュールでI2C→BLE変換を試してみたいと思います。 EZ-BLEモジュール用プロジェクトの作成 I2C→BLE変換プロジェクトはCypress公式のPSoC-4-BLEのサンプルプロジェクトとして公開されています。 PSoC-4-BLE/100_Projects_in_100_Days/…

EZ-BLE PRoC を使ってみる

Cypress EZ-BLE PRoC というとても小さなモジュールを手に入れたので、 早速これでLチカしてみたいと思います。 用意したもの チップ単体は1cm×1cmと非常に小さく、これだけでは扱いにくいので、 評価ボードを使って見ようと思います。今回用意したのはこれ…

仮想I/O (VIO) IPコアを使ったFPGAのデバッグ

今回は、LogiCORE IP Virtual Input/Output (VIO) コアを用いてFPGAの内部信号をPCからコントロールしてみます。 どんなことができるのか VIOを使うと、Vivadoの画面上でピンや信号線の状態を監視したり、操作したりすることができます。ILAと同じくデバッグ…

ESP32で複数のシリアルポートを開く

ESP32の中に入っている3つのUARTを使ってみようと思います。 ※Arduino core for ESP32 WiFi chip release v1.0.1以降ではSerial1とSerial2が定義されました。 それに伴い、記事をの内容を修正しました。(2019/06現在) やり方 (Arduino core for ESP32 WiFi c…

Arduino TIANの概要

Arduino TIANというボードを使う機会があったので、このボードについていろいろと紹介して行こうと思います。 Arduino TIANとは Linuxが動いて、Wi-Fi、Bluetooth、Ethernetがついてるボード…らしです。 ボード価格は1個1万円程度とArduinoとしてはかなり高…