MMCドライバでのエラーについて

RL78/G14にMMCドライバを組込みSDカードの処理を作成しておりますが、

デバイス初期化処理(R_SPI_MMC_Init_Device())でエラーが返ってきており困っております。

 

エラー値はMMC_ERR_OTHERです。

処理を追っていくとSPIでMMCへCRCコマンド(MMC_CMD59)のONを送信、その後の受診処理も抜けたものの、

受信バッファの中身の特定のbit(0x80)が立たないという事でMMCからの?レスポンスがなかったと判断されている様です。

SPIの送受信(R_SIO_Tx_Data/R_SIO_Rx_Data)はエラー返却されていないのでSPI通信自体は通過していると思っていますが、

何か考えられる原因はありませんでしょうか?

 

作成にあたり以下を参考にしております。

■RL78 ファミリ オープンソースFAT ファイルシステムM3S-TFAT-Tiny: 導入ガイド

https://www.renesas.com/jp/ja/software/D3017500.html

 

■RL78 ファミリ オープンソースFATファイルシステム M3S-TFAT-Tinyへの SPI モードMMC/SD メモリカード・ドライバ・ソフトウェアの組み込み例

www.renesas.com/.../D3012228.html

Parents
  • miesuqeさん

    こんにちはシェルティと申します。

    主にRXマイコンのネットワーク・セキュリティ周りのミドルウェアおよび、
    デバイスドライバ群(FIT)の開発を担当しております。
    RL78のソフト開発も一部担当しております。
    今回使っていただいているFATとMMCドライバも私が開発しました。
    #といっても引継ぎ品です、という防衛線をいちおう張らせてください。

    まずは、確実に動作する環境を一式そろえるのが良いかと思います。

    この件ですが、MMCドライバという名称の通りMMCコマンドしか対応しておりません。
    この結果、MMCコマンドに対応したSDカード、つまり2GB以下のSDカードしか認識できません。
    さらに2GB以下でもMMCコマンド対応がないものもあるようです。
    MMCカードか、2GBのSDカード(2GBのうちMMCコマンド対応品)を見つけていただくのが
    手っ取り早く動作確認する方法です。

    それから、ボードはRL78/G14による音声再生の初手動作確認においては以下がおすすめです。
    www.marutsu.co.jp/.../

    以下サンプルがそのまま動きます。
    www.renesas.com/.../D3017501.html

    あと、従来はSDカードの仕様が公開されていなかったので上記のような苦肉の策を採ったのですが、
    昨今、SD Simplified SpecificationというのがSD Associationから公開されまして、方針を変えました。
    SD Simplified Specificationに従ったソフト・情報であればルネサスから公開可能という判断しております。
    まずは、SDHI(SD Host Controller)を載せているRX65N等の製品用にSDHI制御用のSDカードドライバを公開しました。
    つぎに、SPI制御用のSDカードドライバの公開も目指して計画を進めています。
    実はRL78用のSPI制御用のSDカードドライバの準備を進めております。

    ウェブの公開はまだ先ですが、動作確認ができるサンプルコードは近々問い合わせベースでの配布用に
    準備しようと思っています。
    もしRX用、またはRL78用のSDカードドライバを試される場合は弊社サポートにお問合せください。
    ベストエフォートでサンプルコードを準備して提供します。

    以上です
Reply
  • miesuqeさん

    こんにちはシェルティと申します。

    主にRXマイコンのネットワーク・セキュリティ周りのミドルウェアおよび、
    デバイスドライバ群(FIT)の開発を担当しております。
    RL78のソフト開発も一部担当しております。
    今回使っていただいているFATとMMCドライバも私が開発しました。
    #といっても引継ぎ品です、という防衛線をいちおう張らせてください。

    まずは、確実に動作する環境を一式そろえるのが良いかと思います。

    この件ですが、MMCドライバという名称の通りMMCコマンドしか対応しておりません。
    この結果、MMCコマンドに対応したSDカード、つまり2GB以下のSDカードしか認識できません。
    さらに2GB以下でもMMCコマンド対応がないものもあるようです。
    MMCカードか、2GBのSDカード(2GBのうちMMCコマンド対応品)を見つけていただくのが
    手っ取り早く動作確認する方法です。

    それから、ボードはRL78/G14による音声再生の初手動作確認においては以下がおすすめです。
    www.marutsu.co.jp/.../

    以下サンプルがそのまま動きます。
    www.renesas.com/.../D3017501.html

    あと、従来はSDカードの仕様が公開されていなかったので上記のような苦肉の策を採ったのですが、
    昨今、SD Simplified SpecificationというのがSD Associationから公開されまして、方針を変えました。
    SD Simplified Specificationに従ったソフト・情報であればルネサスから公開可能という判断しております。
    まずは、SDHI(SD Host Controller)を載せているRX65N等の製品用にSDHI制御用のSDカードドライバを公開しました。
    つぎに、SPI制御用のSDカードドライバの公開も目指して計画を進めています。
    実はRL78用のSPI制御用のSDカードドライバの準備を進めております。

    ウェブの公開はまだ先ですが、動作確認ができるサンプルコードは近々問い合わせベースでの配布用に
    準備しようと思っています。
    もしRX用、またはRL78用のSDカードドライバを試される場合は弊社サポートにお問合せください。
    ベストエフォートでサンプルコードを準備して提供します。

    以上です
Children
  • miesuqeさん

    こんにちはシェルティと申します。

    すみません、書き忘れました。
    SD Simplified Specificationは試作検討用に使うことはできますが、
    商用の量産製品に適用するならば従来通りSD Associationから有償ライセンスを受ける必要があります。
    量産を目指す場合は、はやめにSD Associationにご相談ください。

    以上です
  • ご返答ありがとうございます。

    >まずは、確実に動作する環境を一式そろえるのが良いかと思います。

    ・「MMC/SD メモリカード・ドライバ・ソフトウェア」※
    型番:RTM0RL7800DMSD0S00RPJ


    これについて確認させて頂きたいのですが、最初に記載したもの以外で上記購入品を使用しています。
    このドライバと先に記述しました「SPI モードMMC/SD メモリカード・ドライバ・ソフトウェアの組み込み例」を用いて確認を行っております。この組み合わせは合っておりますでしょうか?

    本件とは別となりますが以前RX62N上で動作するRXファミリ向けのドライバを購入。これにも今回のRLの場合と同じくドライバ組込み例と合わせて環境を作成しそちらは問題なくSDカードのR/Wが出来ております。
    RX62上で動作しているSDカード(8GB)をRLにも挿してみましたが動作は変わらずNGでした。

    RX/RLの違いはあれど類似のドライバ製品を使用して、RXで動作しているカードを使用していてRLのみ失敗している。
    となればあとはこちらの基盤の回路的問題、もしくはソースのレジスタ初期設定の問題等も疑ってかかるべきなのかと思ってきましたがRXとRLで異なる点、注意すべき点等はありますでしょうか?

    >SDカードドライバ/SD Association

    我々はSD協会の会員となっておりSD AssociationとHALAに対して毎年ライセンス料を支払っております。
    それとは別に別途他のライセンスが必要となるものなのでしょうか?
  • miesuqeさん

    こんにちは、シェルティです。

    なるほど、すでにSDカードドライバご購入済みということですね。
    SDカードドライバは順次ウェブに無償公開していく計画になっています。
    サポートは継続して本フォーラムや技術問い合わせ窓口で行わせていただきます。

    今回の件ですが、RL78用にSDカードドライバを組み込んだソフトウェア一式を
    先に紹介させていただいたボードで動作可能な状態にしてお渡ししたいと思います。
    www.marutsu.co.jp/.../
    今週いっぱい作業予定です。9/7に返信いたします。

    > このドライバと先に記述しました「SPI モードMMC/SD メモリカード・ドライバ・ソフトウェアの組み込み例」を用いて確認を行っております。
    > この組み合わせは合っておりますでしょうか?

    はい、問題ないです。

    > RX/RLの違いはあれど類似のドライバ製品を使用して、RXで動作しているカードを使用していてRLのみ失敗している。
    > となればあとはこちらの基盤の回路的問題、もしくはソースのレジスタ初期設定の問題等も疑ってかかるべきなのかと
    > 思ってきましたがRXとRLで異なる点、注意すべき点等はありますでしょうか?

    特にないはずです。
    こちらも担当者の見解を聞きつつ、注意点があればこちらに書き込みます。

    > 我々はSD協会の会員となっておりSD AssociationとHALAに対して毎年ライセンス料を支払っております。
    > それとは別に別途他のライセンスが必要となるものなのでしょうか?

    いえ、不要です。

    以上です
  • 目前の問題に対して、シェルティさんのアドバイスされた

    > MMCカードか、2GBのSDカード(2GBのうちMMCコマンド対応品)を見つけていただくのが
    > 手っ取り早く動作確認する方法です。
    >
    > それから、ボードはRL78/G14による音声再生の初手動作確認においては以下がおすすめです。
    > www.marutsu.co.jp/.../
    >
    > 以下サンプルがそのまま動きます。
    > www.renesas.com/.../D3017501.html

    がホント手っ取り早い方法と思いますがなんか呑気な印象ですね。
  • この件と直接関係ある話でもないのですが、MTK-RL78G14 等のサンプルプログラムでソケット挿した SD カードの諸元が確認できるものがあれば便利かなと思いました。
    SD カード周りの簡単な動作確認や MMC 互換のカードを探したりするのに使えれば有用な場面も少なくない気がします。
  • miesuqeさん

    こんにちは、シェルティです。

    本件、RL78の以下ボードで動作するように調整したコードと、
    最新のSDカードドライバを組み込んだデモを作りました。
    www.marutsu.co.jp/.../

    9/7に提供可能になる見込みですが、まだSimplified Specificationに対応したコードになっていないため、
    SD協会員以外に配布できないので、この掲示板にダウンロードURLをはるわけにいかず、
    お手数ですが「RL78 SPIモードSDカードドライバの件」といった件名で
    弊社サポートに問い合わせいただけますか?(シェルティに問い合わせが流れ着きます)
    個別提供させていただきます。

    以上です
  • fujita nozomuさん

    こんにちは、シェルティです。

    ご提案ありがとうございます。これは有用ですね。
    SDカード周りのソリューションがまたホットになってきた感じなので
    こういった気の利いたサンプルソフトも準備していきたいと思います。

    以上です
  • シェルティ様
    皆様

    お世話になっております。

    すぐに反応出来ておらず申し訳ありません。
    ひとまずサポートサイトより指定の件名で質問依頼を行いました。

    対応速度が遅いのは承知ですが、シェルティ様が用意して頂いているものを先ずは試してみたいと思います。組込み後またご連絡をさせて頂きます。
  • シェルティ様
    ご意見を頂きました皆様

    お世話になっております。お疲れ様です。

    本件なのですが、こちらが作成したソースに問題があり嵌っていた様です。
    その部分を修正したところ、既述のR_SPI_MMC_Init_Device()はOKで返却され、RXで実績のあるSDカードへのRead&Writeも成功/作成ファイルの確認が出来ました。

    原因は何点かあったのですが、主には以下の二つでした。どちらもSPIに起因するものです。
    ①MMCドライバへのポートの設定誤りとCSの設定漏れ
    ②CSI00の割り込み
    自動生成で作成しR_CSI00_Start()をそのまま使用しておりました。
    このままだとCSI00の割り込みが有効となってしまい、IF1HがクリアされてR_SIO_xx_Data系の処理がタイムアウトになっておりました。CSI00割り込みを無効にしました。

    基本的な箇所での問題でお騒がせしてしまい、すみませんでした。