FC2ブログ

[NEEK][LCD表示]SOPCB構成SGDMAミス?修正

SOPCBで構成したSGDMAを使い、NEEKタッチパネル画面へ何か表示させたい、というのが今の目的。
SGDMA動作させるようソフト書いているがどうも動かない。
SGDMAデータシート見ても、ソフト屋が見るような内容はよくわからない。
なので、今のSOPCB構成では何がどうアクセスされるのか?をNiosII込みのSimで確認。
すると、下図(上)の通り、SGDMAのcontrol_regへWrite許可する「lcd_sgdma_csr_chipselect」が一切動いてない。
 ※ 下図(下)は動いた画面。動かせた要因は後述。

sgdma_csr_chipselect_ng_ok_wave_091226

ソフトでは以下のアドレスへ無限ループでアクセスさせてるから、アドレスが正しいならSGDMAへ何らかのアクセスが
出来ても良いと思うのだが。(SOPCBのアドレスマップ設定ではSGDMAは0x00000040~0x0000007f使用)

#define SGDMA_STAT *((volatile unsigned int *)0x00000040)
#define SGDMA_CTRL *((volatile unsigned int *)0x00000044)
#define SGDMA_NEXT_DESC_PTR *((volatile unsigned int *)0x00000048)

いろいろ悩んだ末、ModelSim波形を見てたら「現在SGDMAをNiosIIのinstruction_masterにのみ接続してるのが間違い?」
と予想。(以前このブログでも画像載せた)NEEKデモ回路の設定を見直すと、下図のようにdata_masterにも繋がってる。
 ※ 下図は、実際には、上下分割された画面の間にも回路は存在。
NEEKデモ回路では、真ん中下のlcd_sgdmaはその上の「cpu_ddr_clock_bridge」に接続。これがinstとdata両方に
繋がってる様だから、マネしただけ。未だに深くは理解出来てないんで、適当に仮定しながら手探りの作業です。

sopcb_tree_demo_pic_viewer_091226

という事で、自分が作った構成でもinstruction_masterとdata_master両方に繋いでみたら、最初の画像(下)の通り
sgdma_csr_chipselectが動くようになった。まだこの構成が正しいかも分からないし、まだまだ試行錯誤ですけど。

まだまだCPU含めたシステム構成の基本が理解出来てない。いつかSOPCBでさくっとSoC作れるようになりたい。
スポンサーサイト



カレンダー
11 | 2009/12 | 01
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
累積訪問者
現在の訪問者
現在の閲覧者数:
最新記事
最新トラックバック
最新コメント
月別アーカイブ
カテゴリ
プロフィール

bobgosso

Author:bobgosso
FPGAのブログへようこそ!

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード