FC2カウンター FPGAの部屋 ZedBoard Linux のフレームバッファにカメラ画像を表示10(SDKリモートデバック2)

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

FPGAの部屋

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

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

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

前回は、ARMプロセッサから供給されているFCLK_CLK3 のクロックがSVGAのピクセルクロックから変更されていることが考えられた。そこで、FCLK_CLK3 をSVGAのピクセルクロックに使用するのを中止して、XPSプロジェクト内のclock_generator_0 からSVGAのピクセルクロックを生成することにした。
clock_generator_0 の入力はFCLK_CLK1 だったが、このクロックは167MHzで、clock_generator_0 の入力クロックの設定の200MHzと合わない。200MHzのクロックは、FCLK_CLK2 なので、clock_generator_0 の入力クロックを FCLK_CLK2 に変更した。
次に、CLKOUT1 を40MHzに設定して、mt9d111_inf_axi_master_0 (Camera Controller) とbitmap_disp_cntrler_axi_master_0 (Bitmap Display Controller) のピクセルクロックに接続した。
ZedBoard_Linux_91_130215.png

この設定で、論理合成、インプリメントを行い、SDKを立ち上げてデバックを行った。
Debug Configuration を作成してある場合のデバック方法は、
Zynq-7000(ZC702)のLinuxチュートリアル4(リモートデバック2)
を参照のこと。デバックするファイル名は、cam_disp3_linux.elf に変更した。

GPIOの出力を1にして、Camera Controller と Bitmap Display Controller のリセットを解除して動作させたところ、Linuxコンソールの表示がおかしくなってしまった。
ZedBoard_Linux_92_130215.png

SDKリモートデバックもおかしくなってしまった。
カメラ画像の表示はされているが、画像がおかしい。たぶんYCbCr で行われていると考えられる。GPIOを1にした時点でおかしくなっているので、カメラにRGB565モードを設定できていない。
ZedBoard_Linux_93_130215.jpg

つまり、GPIOから1を出力すると、Camera Controller と Bitmap Display Controller のリセットが解除されるので、そこで書き込んだメモリがLinuxで使われていたんだと思う。
以前、2頭のペンギンをHDMIで表示しているフレームバッファのアドレスを0x1A000000 と調べて、そのアドレスをCamera Controller と Bitmap Display Controller で使っているはずだった。しかし、ペンギンは正常に表示されていたので、アドレスを0x1A000000 に指定しきれていなかったのか?今はダイアログでアドレスを入力しているので、HDLで直接書いて調べてみることにした。

(2013/02/18:追記)
Linux が死んだのは、カメラ表示回路がおかしい訳ではなく、Linixカーネルのフレームバッファのアドレスか0x1A000000 から変更されたのではないか?と考えられます。詳しくは、”ZedBoard Linux のフレームバッファにカメラ画像を表示13(未完成)”を御覧ください。
  1. 2013年02月15日 05:13 |
  2. ZedBoard
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/2387-d8037424
この記事にトラックバックする(FC2ブログユーザー)