FSPを使用して、イーサネットテストプログラムを作成しました。
リンク検出は動作するのですが、送信してもTX_ENピンなどが動作しません。
FAQ 2001354
ja-support.renesas.com/.../20542987
を見つけて、レジスタを調べると記述と同じ問題が起きていました。
ldファイル・cファイルについてはFSP側で対策されているらしく、自動生成されています。
サポート記述に 【ユーザの外部デバッグプローブハードウェアがRA Serial Bootインターフェース接続をサポートしていない場合は、別途シリアル変換ケーブルなどを用意し、RFP(Renesas Flash Programmer)を使用してプログラムすることもできます(図4)。】と書いてあるのですが、
[RA Serial Bootインターフェース接続をサポートしていない]デバッグプローブとはどれのことかわかりますでしょうか?
現状、E2Liteを使用しております。
書き込み方法による 動作不良
上記スレッドと関連する可能性があると思います。
TrustZone対応マイコンは、フラッシュオプションでSRAMのセキュア/非セキュア領域の設定があります。EDMACで使用するメモリ(送受信バッファやディスクリプタ)は「非セキュア」な領域に配置されなれければなりません。
(メモリの配置アドレスと非セキュア領域のBoundary設定が妥当でなければ、Etherが動きません。)
フラッシュオプションの(Boundary領域)変更は、ブートモードで接続して設定する必要があります。E2Liteは、ブートモード接続に対応しています。RFP(RenesasFlashProgrammer)での接続時、「2-wire UART」を選んで接続してください。(SWD接続の場合は、ブートモード接続にならないので、フラッシュオプションの変更が出来ません。)
([RA Serial Bootインターフェース接続をサポートしていない]デバッグプローブが具体的にどの様なデバッガを指してるのかは判りません。E2, E2Lite, J-Linkなどは、ブートモード接続をサポートしています。USB-Serial変換ケーブルなども、ブートモード接続に使えます。)
設定書き込めました。
Boundaryの設定オプションを"設定する"だけで行けると思ってました。
操作設定のフラッシュオプション書込みもチェックが必要というのに気づいていませんでした。
MAPファイルを見て設定したけどまだ動作していません。(ADEが出る)
(1)rpdファイルをRFPに与える
(2)rpdファイルの内容を値に反映させる
RAM_S_SIZE=0x1800 →6kBRAM_C_SIZE=0x800 →2kBFLASH_S_SIZE=0x4400 →17kBFLASH_C_SIZE=0x3c00 →15kBDATA_FLASH_S_SIZE=0x0 →0kB
(1)(2)どちらかの設定の後で
上記「フラッシュオプションの書き込み」チェックを入れて「スタート」です。
(書き込みはうまく行ったとの事ですが、将来同じ様な問題ではまった人向けの情報です、参考まで)
(期待した動作にならないとの事ですが、挙動が変わったのなら、SRAMの非セキュアの問題はクリアされたのかも?とも思います。)