FC2カウンター FPGAの部屋 2013年02月13日
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

ZedBoard Linux のフレームバッファにカメラ画像を表示9(SDKリモートデバック)

前回は、Linuxを起動しない状態で、カメラ表示回路でカメラ(MT9D111)のレジスタを設定して、VGA出力にカメラ画像を表示することが出来た

今回は、SDK14.4を使用して、パソコンのWindows 上のSDK14.4から、ZedBoardのLinuxにリモートデバックを行う。
参考文献は、”Zynq-7000 EPP コンセプト、ツール、テ クニック ガイド 効率的なエンベデッド システム構築をサポートするハンディガイド UG873 (v14.2) 2012 年 7 月 27 日”の44ページ、”5.2.4 テストドライブ : SDK リモートデバッグを使用して Linux アプリケーションをデバッグする”。
それと、ZC702ボードのリモートデバック方法を参照のこと。
Zynq-7000(ZC702)のLinuxチュートリアル3(リモートデバック)
Zynq-7000(ZC702)のLinuxチュートリアル4(リモートデバック2)
Zynq-7000(ZC702)のLinuxでMIOに接続されているLEDを制御
Zynq-7000(ZC702)のLinuxでMIOに接続されているLEDを制御2

すでにSDカードには、カメラ表示回路の入ったビットストリームをBOOT.bin に入れてある。BOOT.bin の作り方は、”カメラの表示回路及びソフトウェアをSDカードからブートする”を参照のこと。cam_disp2.elf の代わりに、ZedBoard_OOB_Design\boot_image\u-boot.elf を入れて、BOOT.bin を作製した。

・ZedBoardにSDカードを入れて、電源を入れてLinuxをブートした。

・ ifconfig eth0 192.168.3.130 netmask 255.255.255.0 を入力して、ZedBoardのIPアドレスを設定した。(家のプライベートIPです)
ZedBoard_Linux_67_130212.png

・SDKのFileメニューから New -> Application Project を選択した。
ZedBoard_Linux_66_130212.png

・New Project ダイアログで、Project Name に cam_disp3_linux と入力し、Target Software の OS Platform のプルダウンメニューから linux を選択した。Next -> をクリックした。
ZedBoard_Linux_68_130212.png

・Linux Empty Application を選択して、Finish ボタンをクリックした。
ZedBoard_Linux_69_130212.png

・cam_disp3_linux プロジェクトが出来たので、予め作ってあった cam_disp3_linux.c をcam_disp3_linux -> src フォルダにドラックアンドドロップした。
ZedBoard_Linux_70_130212.png

・cam_disp3_linux プロジェクトを右クリックして、右クリックメニューからDebug as -> Debug Configurations を選択した。

・Debug Configurationウイザードで、Remote ARM Linux Application を右クリックして右クリックメニューからNew を選択した。
ZedBoard_Linux_71_130212.png

・Debug Configurationウイザードで、Connection のNew ボタンをクリックした。
ZedBoard_Linux_72_130212.png

・New Connection ウイザードが開く。SSH Only をクリックした。Next -> ボタンをクリックした。
ZedBoard_Linux_73_130212.png

・Host Name にZedBoard のIPを入力した。(192.168.3.130)
・Description には、cam_disp3_linux_test と入力した。
・Finishボタンをクリックした。
ZedBoard_Linux_74_130212.png

・ Remote Absolute File Path for C/C++ Application のBrows... ボタンをクリックした。
ZedBoard_Linux_75_130213.png

・ウイザードでroot を展開する。
ZedBoard_Linux_76_130213.png

・Enter Passwordウイザードで、ID (root) とパスワード (root) を入力する。
・Save User ID と Save Password のチェックボックスにチェックを入れる。
ZedBoard_Linux_77_130213.png

・OKボタンをクリックした。Warning ダイアログが出た。Yesボタンをクリックした。
ZedBoard_Linux_78_130213.png

・Select Remote C/C++ Application File ダイアログで、ツリー状のマークを展開した。
ZedBoard_Linux_79_130213.png

・Rootの下にフォルダを作る。右クリックメニューからNew -> Folder をクリックした。
ZedBoard_Linux_80_130213.png

・New folder name: にApps と入力した。Apps フォルダを作成する。
ZedBoard_Linux_81_130213.png

・Apps フォルダの右クリックメニューからNew -> File を選択した。
ZedBoard_Linux_82_130213.png

・New file name: に cam_disp3_linux.elf と入力して、ファイルを作成した。
ZedBoard_Linux_83_130213.png

・Apps フォルダの下にcam_disp3_linux.elf が作成された。OKボタンをクリックした。
ZedBoard_Linux_84_130213.png

・TeraTerm で確認するとルートの下にApps ディレクトリの下に cam_disp3_linux.elf が作成されているのが見えた。
ZedBoard_Linux_85_130213.png

・Debug Configuration に戻って、Apply ボタンをクリックした。
ZedBoard_Linux_86_130213.png

・Debug ボタンをクリックして、Debug を開始した。
ZedBoard_Linux_87_130213.png

・パースペクティブをデバックにスイッチするダイアログが出るので、Yes ボタンをクリックした。
ZedBoard_Linux_88_130213.png

・Eclipse がデバックモードになって main() の最初の行で停止している。
ZedBoard_Linux_89_130213.png

・こんな感じでリモートデバックしている。(2013/02/15:追加)
ZedBoard_Linux_90_130213.png


リモートデバックはうまく出来ているのだが、カメラ画像が映らない。デバック中。

(2013/02/14:追加)
ソフトウェアでGPIOを制御して、VGAの出力は出ているようなのですが、出力周波数がディスプレイのロック範囲を超えてしまっているようです。FCLK_CLK3を40MHzに設定して、ピクセルクロックに使っているので、そこが書き換えられたんでしょうか?
  1. 2013年02月13日 05:45 |
  2. ZedBoard
  3. | トラックバック:0
  4. | コメント:2