Top Page [◀◀] 2 3 4 5 6 7 8 9 ... [▶▶] Last Page
RZ/T1およびそのスターターキットにて、以下の処理を実装し、実行しようとしています。
<処理内容>1) ADC(AN000)にて、入力したアナログ信号をデジタル値に変換2) 上記、変換したデジタル値は、RAM(ATCM)に用意したバッファに格納3) バッファに一定量のデータ(100個)がストックされたら、DMAでSDRAM領域に転送 →転送先として、SDRAM領域の先頭アドレスを指定(0x48000000又は0x4C000000)
<困りごと>現状、2)までは正常に処理されているのですが、3)のDMA転送が処理できていません。(バスエラーが発生しています。※DMAエラー割込みが発生しています)
周辺機能の実装は、e2studioのコード生成機能を利用しており、バスステートコントローラの設定はスタータキットのユーザーズマニュアルに記載のSDRAM設定に従っています(何度もソースコードや、実際のレジスタ設定を見直しましたが、特に問題はなさそうです。)
何かSDRAMを使用するに際して、必要な設定や手順が抜けていないか、チェックすべき点など、アドバイスいただけないでしょうか。
<参考>・DMAの転送先として、内蔵SRAM領域(0x20000000または0x22000000)を指定すると、問題なく DMA転送ができます。 →ですので、DMA転送の設定には問題ないと思っています。
・直接、SDRAM領域にバッファを定義し、そこに書き込む処理を実行しても、 やはり、書き込むことができません。
どうかよろしくお願いします。
In reply to わわい:
In reply to JK:
In reply to リカルド:
JKさん、こんにちは。NoMaYと申します。正直に言うと、個々のマイコンの内蔵周辺の仕様には詳しくなく、かつRZ/T1未経験ですが、ハードウェアマニュアルを見てみました。確かに、バスエラーが起きるとDMAエラーが起きると書いてあるのですが、そもそもバスエラーとは何かが書いてないですね。ARMマイコンでよくあるように個々のマイコンのマニュアルには詳細が未記載なのでしょうね。(しかも、ARM社の共通仕様書の何を見ればよいのかも分からない、、、ルネサス社に問い合わせないと分かりそうにないですね、、、) ただ、ハードウェアで検出されるエラーですので、マイコンとメモリの間のハードウェアハンドシェイクで何かタイムアウトのようなものが発生していないか、そういったタイムアウト時間とかリトライ回数とか、そういう設定がうまくいっていないのでは?という点が私は気掛かりです。SDRAMについても知識はゼロに近いですので、ピントを外してしまっているかも知れませんが、、、RZ/T1グループ ユーザーズマニュアル ハードウェア編www.renesas.com/ja-jp/doc/products/mpumcu/doc/rz/r01uh0483jj0140-rzt1.pdf
In reply to NoMaY:
In reply to IKUZO: