Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page

RX631のメモリプロテクションユニットの件

IKUZOと申します、RX631のメモリプロテクションユニットの使用方法がわかりません、サンプルコードも探したのですが該当が無いようです、アドバイスをいただけませんでしょうか?

  • ものすごく大雑把な紹介は以下にありますが、もう少し具体的な「使用例・応用例」をお探しなのでしょうか。

    それとも、何か想定している使い方はあるのでしょうか。

    RX 周辺機能 → メモリプロテクションユニット(MPU)

    「MPUの使用方法」はハードウェアマニュアルにありますが、サンプルコードが見当たりませんね。

  • In reply to じま:

    じまさん
    お世話になります、SDRAM上で実行するプログラムのコードのライトプロテクトです、ROMと違ってSDRAM上にある場合は壊されやすいので、SDRAM上にありながらもROMにあるような動作をさせたいと思います、そもそもの話それは可能でしょうか?
  • In reply to IKUZO:

    わわいです
    ハードウエアマニュアルの情報で十分だとおもいますが、、具体的になにがわからないんでしょうか
    実際に動かしてみるとかすればどうでしょう
  • In reply to わわい:

    わわいさん
    ページサイズというものが、どういうものかわかりません、自由に決められるのでしょうか、マニュアルにはフルアドレスが設定できるように書いていますが、具体的な例がないのであれこれやるとすれば、なかなかと思います、SDRAMのアドレスでもできるのかな、なにかマニュアル以外の資料はないですよね、このようにしてます的なソースが見つからないかな。
  • In reply to IKUZO:

    わわいです
    RX630のマニュアルを見てますが、アドレス空間は32ビットとの記述があり、ページ番号指定レジスタってのは32ビット幅で下位4ビットが0固定あるいは他の機能に設定されてます。
    ということは、16バイト単位でのページ番号であることが推測されます。
    要するに早い話が下位4ビットを0にマスクしたメモリアドレスをそのページ番号指定を行うレジスタに設定してやればいいことと思われます。
    まあ、実際に動かせてみればすぐわかることですが。
  • In reply to わわい:

    わわいさん
    お世話になります、調べていただき感謝します、早速そのようにやってみます。
  • In reply to IKUZO:

    ハードウェアマニュアルを見る感じでは出来そうに思えますが。。。
    SDRAM上でプログラムを実行させることができるんですね~、と言うくらいシステム設計の経験が浅く具体的なアドバイスができなくてすみません。
  • In reply to じま:

    じまさん
    励ましを感謝します、これまでかふぇルネ投稿したものはたいてい解決していますので、たとえそのものズバリの回答がなくても、自分の抱えている問題を投稿することにより、再考するきっかけともなり、とても役立っております、なんでも結構ですのでアドバイスお願いします。
  • IKUZOさん、こんにちは。NoMaYです。

    RX62N,RX621グループ用の資料がありますが、RX63N,RX631グループでも参考になりそうな気がします。(すみません、検索して見つかったものをチラ見した程度ですが、、、)

    Renesasキーワード検索: メモリプロテクションユニット
    www.renesas.com/ja-jp/search/keyword-search.html#q=メモリプロテクションユニット

    ドキュメント: RX62N、RX621グループ メモリプロテクションユニットの設定例
    www.renesas.com/ja-jp/doc/products/mpumcu/apn/rx/001/r01an1078jj0100_rx62n.pdf

    サンプルプログラム: RX62N、RX621グループ メモリプロテクションユニットの設定例
    www.renesas.com/ja-jp/software/D3014498.html

  • In reply to NoMaY:

    NoMaYさん
    いつもお世話になっております、有益な資料をお教えいただき感謝します、早速調べまして活用するようにいたします、良い結果が出ましたらまたご報告いたします。
  • In reply to IKUZO:

    NoMaYさん
    Renesasキーワード検索: メモリプロテクションユニット
    www.renesas.com/ja-jp/search/keyword-search.html#q=メモリプロテクションユニット
    これはそのものズバリでした、
    RX62N、RX621グループ メモリプロテクションユニットの設定例
    サンプルコードがございました、ありがとうございました、マニュアルを見ながら四苦八苦しなくてもよさそうです、私の検索の仕方がまずかったようです、至らないところをお教えいただきありがとうございました。
  • In reply to IKUZO:

    メモリプロテクションユニットを追加いたしました、SDRAM部分に書き込み例外を設定すると、即、例外が発生いたします、SDRAM部分というのはリフレッシュ動作しているので、これは書き込み例外の要因になるのでしょうか?、そうではなく、どんな領域でも初期化時に例外が発生いたします、アドバイスお願いできませんでしょうか下記ソースコード

    void mpu_init(void)
    {
    uint32_t check_reg=CLEAR;
    long reg_start[1];
    long reg_end[1];
    reg_start[0]=(_UDWORD)__sectop("PResetPRG");
    reg_end[0]=mpu_reg_set((_UDWORD)__secend("RBF"),0x00000007);//0111 RWXV
    MPU.RSPAGE0.LONG=reg_start[0]; //セクションの開始アドレス
    MPU.REPAGE0.LONG=reg_end[0]; //セクションの終了アドレス(要調整)
    MPU.RSPAGE1.LONG=0;
    MPU.REPAGE1.LONG=0;
    MPU.RSPAGE2.LONG=0;
    MPU.REPAGE2.LONG=0;
    MPU.RSPAGE3.LONG=0;
    MPU.REPAGE3.LONG=0;
    MPU.RSPAGE4.LONG=0;
    MPU.REPAGE4.LONG=0;
    MPU.RSPAGE5.LONG=0;
    MPU.REPAGE5.LONG=0;
    MPU.RSPAGE6.LONG=0;
    MPU.REPAGE6.LONG=0;
    MPU.MPBAC.LONG=0;
    //メモリプロテクション機能を有効
    MPU.MPEN.LONG=(long)1;
    verify_mpu_reg(MPU.RSPAGE0.LONG,reg_start[0])
    verify_mpu_reg(MPU.REPAGE0.LONG,reg_end[0])
    if(check_reg !=0){
    printf("MPUの初期化を失敗!\r");
    }else{
    Change_PSW_PM_to_UserMode();
    }
    }

  • In reply to IKUZO:

    わわいです
    SDRAMをどうやってRXにつなごうとしてますか?それがわからないとこたえようがないですが。
    別の質問もそうなんですが、ちょっとはハードウエアマニュアルを読みましょうよ。

    #右も左もわからない初心者ならともかく。。
  • In reply to わわい:

    わわいさん
    「SDRAM」の話を出したので、話がおかしくなってしまいました、当方ROMでも試してみるべきと思いまして今defaultBuildでやっております、完全なROMの部分でございますRWXVを0111で設定しております、Change_PSW_PM_to_UserMode();ユーザーモードにすると即に、例外が発生いたします、「#右も左もわからない初心者」ですわ、わわいさんみたいな長年のソフトやってませんから、まーフォーラムですから気楽にやらせていただいてます、ごめんなさい。
  • In reply to IKUZO:

    マニュアルの記述ですが
    1.RSPAGEとREPAGEに設定
    2.MPENに1としてプロテクション=有効
    3.設定内容を比較(設定値==RSPAGEとREPAGEレジスター値)確認
    4.ユーザモードへの移行
    以上のような簡単なものです、
    現状4.の後時点でメモリー例外が発生いたします、例外発生処理に繰り返し飛んで来ます。

    試しに1.RSPAGEとREPAGEに設定をオール0(何も登録しない)にしまして

    4.ユーザモードへの移行した場合にも、メモリー例外が発生いたします。

Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page