2015/01/14

ZYBO Base System Design (Vivado 2014.4) - 3

はじめに

本投稿は,ZYBO Base System Design (Vivado 2014.4) - 2の続きです. ソフトウェアのビルドまで完了していますので,引き続きXilinx SDK 2014.4を使用してソフトウェアを実行します.

作業備忘録
  1. FPGAにBitstreamをダウンロードする
  2. 「Xilinx Tools」 - 「Program FPGA」をクリックし,「Program FPGA」ウィンドウを開きます. 「Program」をクリックすると,FPGAにBitstreamがダウンロードされます. ダウンロードが完了すると,ZYBO上のDONE LED (緑色)が点灯します.

    Program FPGA
  3. UART,HDMIの接続を行う
  4. Tera Termを起動し,シリアルポートに接続しておきます. また,HDMIケーブルを使用して,液晶ディスプレイと接続しておきます. VGA接続でも良いと思いますが,私はまだ試していません.
  5. ソフトウェアを実行する
  6. 「Project Explorer」上で「base_demo」を右クリックし,「Run As...」 - 「Launch on Hardware (GDB)」を選択します. 「Xilinx C/C++ Application」ウィンドウが開きますので,Debug用またはRelease用の「base_demo.elf」を選択して,「OK」をクリックします. この操作により,ソフトウェアの実行が開始されます.

    Run Configurations
  7. base_demo
  8. 実行時の写真とスクリーンキャプチャです. Tera Term上から,音声出力と映像出力を操作できるものでした.

    メインメニュー

    実行開始直後の出力映像(HDMI)

    HDMIメニュー
microSDHCから起動するためには…
「C:\work\zybo_base_system\SDK\README.txt」を参照してください. これまでの作業がベースになっているため,特に迷うことはありませんでした.
2015/01/12

Ubuntu上にnxtOSEKの開発環境を構築する

はじめに

Lego Mindstorms NXTの開発環境(ARM用クロスコンパイル環境とnxtOSEK)をUbuntu上に構築しましたので,コマンドの実行履歴を参考に,作業手順をメモしておきます. 今回は下記のWebページを参考に開発環境を構築しました. なお,公式Webページの「nxtOSEK Installation in Linux (Ubuntu 11.10/10.04/9.10/8.10)」は,タイトルの通りUbuntu 11.10以前を例に記述されており,内容が少々古いようです.

私も初心者ですので,内容に誤りが含まれている場合があります. また,本記事投稿現在,サンプルプログラムのmakeが通ることは確認していますが,実機での動作確認ができていません…. つきましては,何かお気づきの際は,コメントなどでご指摘いただければ幸いです.

開発環境

仮想マシンにインストールした,Ubuntu 14.04 LTS 32bit上に構築しました.

OS Ubuntu 14.04 LTS 32bit

今回の開発環境は,下記バージョンを使用して構築しました.

GNU Binutils 2.20.1
GCC 4.4.7
Newlib 1.18.0
nxtOSEK 2.18
作業備忘録
  1. 既存環境を最新状態に更新する
  2. 下記コマンドを実行しました.

  3. ディレクトリを作成する
  4. ホームディレクトリに,ディレクトリ「ETRobo」を作成しました.

  5. インストールスクリプトを取得する
  6. gmsanchez/nxtOSEK · GitHub」で公開されている,nxtOSEK 2.18 + Ubuntu 14.04 LTS向けのインストールスクリプトを使用することにしました. 下記コマンドを実行し,gitでインストールスクリプトのリポジトリを取得しました. gitをインストールしていない場合は,先にapt-getでインストールを完了してください.

  7. 必要なライブラリをインストールする
  8. 必要なライブラリをインストールしました. 「tk-dev」および「ncurses-dev」は不要かもしれません.

  9. GNU ARMのビルドとインストールを実行する
  10. インストールスクリプトを使用して,GNU ARMのビルドとインストールを実行しました. 「Build complete!」と表示されたら,成功です. この処理は,私の環境では1時間弱かかりました.

  11. gccの状態を確認する
  12. 下記コマンドを実行し,ビルドとインストールを終えたgccの状態を確認しました.

  13. nxtOSEKのセットアップを行う
  14. 下記コマンドを実行し,必要なファイルのダウンロードと,ファイルの追加処理を実行しました.

    続いて,同じディレクトリでファイルの上書き処理を実行しました.

    テキストエディタで「tool_gcc.mak」を開きます.

    「tool_gcc.mak」の9行目を,下記のように変更します. これで開発環境の構築は完了です.

  15. インストール状態を確認する
  16. 下記コマンドを実行し,インストール状態を確認しました.

    正常終了の場合は,「helloworld_OSEK.rxe」が生成されます.

    下記のエラーメッセージでmakeが中断した場合は,「export LC_ALL=C」を実行し忘れていないか確認してください. この環境変数の変更処理は,日本語環境特有のようです.

以上,参考になれば幸いです.

2015/01/07

OpenCV 2.4.10をUbuntu 14.04 32bitにインストール

OpenCV 2.4.10を仮想マシン上のUbuntu 14.04 LTS 32bitにインストールしました. OpenCVをLinux環境にインストールしたのは初めてで,ちゃんとインストールできるまでにかなり時間がかかってしまいました…. 作業手順をメモしておきます. 掲載内容に間違いがありましたら,コメントにてご指摘いただければ幸いです.

インストール前の準備
  1. 既存環境を最新状態に更新する
  2. 下記コマンドを実行しました.

  3. OpenCVのソースファイルをダウンロードする
  4. ホームディレクトリに「OpenCV」ディレクトリを作成し,OpenCVのソースをダウンロードしました. ダウンロードした圧縮ファイルは,展開しておきました.

  5. ソースにパッチを適用する(32bit環境のみ)
  6. Ubuntu 14.04 LTS 32bitではmakeがエラー終了してしまいました. 対処方法は,core: fix x86 PIC code compilationで紹介されています. 「opencv-2.4.10_system.cpp.patch」というファイル名で,下記コードをホームディレクトリに保存してください.

    ホームディレクトリに戻り,パッチを適用してください.

インストール
シェルスクリプトの準備

作業自動化のため,下記のWebサイトを参考に,シェルスクリプトを作成しました. 下記コードを,「opencv-2.4.10.sh」というファイル名で,ホームディレクトリに保存してください.

[変更 2015/03/18] cmakeコマンドのオプション記述を変更しました.改行位置を変更したのみで,シェルスクリプトの動作に影響はありません.

シェルスクリプトの実行

シェルスクリプトを実行しました. 実行中,パスワードの入力を求められる場合があります. 私の環境では,実行完了まで1時間弱かかりました.

(参考)cmakeの実行結果

私の環境でのcmakeの実行結果は下記のとおりです. ホームディレクトリに作成されるログファイル「opencv-2.4.10_install.log」で確認できます.

動作確認

Webカメラの映像を表示するプログラムをコンパイルし,実行してみました. 私の環境では,14~16行目のようにフレームサイズとフレームレートを設定しなかった場合,端末に「select timeout」と表示されてWebカメラの映像を表示できませんでした. Webカメラは720p,30fpsにも対応している,Logicool HD Webcam C270です. 仮想マシン上で実行していることなど,環境依存の問題なのではないかと考えていますが,表示できなかった理由はわかっていません….

上記コードを「webcam.cpp」というファイル名で保存し,コンパイルと実行を行いました.

実行例です.ウィンドウがMac OS X風ですが,Ubuntuです.


webcamの実行結果

以上,参考になれば幸いです.

製品紹介
LOGICOOL ウェブカム HD画質 120万画素 C270
ロジクール (2010-08-20)
売り上げランキング: 736
2014/12/23

ZYBO Base System Design (Vivado 2014.4) - 2

はじめに

本投稿は,ZYBO Base System Design (Vivado 2014.4) - 1の続きです. Bitstreamの生成まで完了していますので,Xilinx SDK 2014.4を使用してソフトウェアの準備を進めます.

作業備忘録
  1. Xilinx SDKを起動する
  2. 「zybo_bsd.xpr」を開いた状態のVivadoで「File」 - 「Export」 - 「Export Hardware」をクリックします. 「Export Hardware」ウィンドウにおいて,「Include bitstream」にチェックを入れ,「OK」をクリックします.

    Export Hardware
    「File」 - 「Launch SDK」をクリックします. 「Launch SDK」が開きますので,「OK」をクリックします. Xilinx SDKが起動します.

    Export Hardware
    • Xilinx SDKが起動しないときは…
    • Vivadoをインストールした際に,SDKがインストール項目として選択されていなかった可能性があります. 「スタート」 - 「すべてのプログラム」 - 「Xilinx Design Tools」 - 「Vivado 2014.4」 - 「Add Design Tools or Devices 2014.4」から,インストーラを起動して追加インストールが可能です.なお,最初にインストールした際と同じディレクトリに,インストーラのファイルが展開されている必要があるようでした.

      Vivado 2014.4 Installer - Select Extra Content
  3. プロジェクトを新規作成する
  4. 「File」 - 「New」 - 「Application Project」から,プロジェクトを新規作成します. 「C:\work\zybo_base_system\SDK\README.txt」にしたがい,プロジェクト名は「base_demo」としました. 「Next」をクリックします.

    New Project
    「Empty Application」を選択して,「Finish」をクリックします. 「base_demo」プロジェクトが作成されます.

    New Project
  5. ファイルを追加する
  6. 「Project Explorer」で「base_demo」を展開し,「src」ディレクトリの上で右クリックします. 右クリックメニューから「Import...」をクリックし,「Import」ウィンドウを開きます. 「General」 - 「File System」を選択し,「Next」をクリックします.

    Import
    「From directory:」として「C:\work\zybo_base_system\SDK\base_demo」を選択し,すべてのファイルにチェックを入れます. 「Overwrite existing resources without warning」にもチェックを入れ,「Finish」をクリックしました.

    Import
    ファイルがインポートされ,自動的にBuildが開始されます.
  7. ソースコードを修正する
  8. undecidedly氏の「ZYBOの実験」で紹介されているように,ソースコード中の1行をコメントアウトしないとデモが動作しませんでした. 具体的には,「main.c」の82行目を,次のようにコメントアウトしました. 修正後,自動的にBuildが開始されない場合は,「Project」 - 「Build All」をクリックしました.
続きは…