E10Aを利用した、外部 RAM でのソフトウェア開発の可否

こんにちは、Kanと申します。

 

現在 SH7254R を使用した開発を行っています。

開発環境としてHEWを、デバッガとしてE10A-USBを利用しているのですが、

 

「BSCで接続された外部RAM (不揮発品) にソフトウェアを書き込んで開発を行うことはできるでしょうか?」

 

より具体的には、以下のような運用を考えています。

マイコン内蔵FLASHに最小限のプログラムだけ載せて置き、実際の(大半の)処理はBSCで接続された外部RAMに書く。

書き換えの時は、E10AからRAMだけを書き換える。

 

これを行う理由として、

① フラッシュの書き換え回数を減らしたい(書けなくなるかが基準ではなく、可能な限りダメージを与えずに開発を進めたい)

② 後程E10A無しで、無線通信のみでプログラムを書き換えたい

という二点の要求があります。

 

いろいろと調べたのですが、なかなか情報が見つからず、

・そもそもSHマイコンのBSC設定をHEWからいじれるのか

・いじれたとしてそのまま外部RAMへのプログラム書き込みを行えるのか

・デバッグ時の挙動はどうなるのか(ソフトウェアブレークであれば使用可能か)

等、気になる点がいくつかあります。

 

皆さんの中で、このような開発を行ったことがある方はいらっしゃるでしょうか?

Parents
  • こんにちは、菅原と申します。

    SHは最近触っていないので、昔の記憶になりますが、普通に可能だと思いますよ。
    私は アルファプロジェクトのデバッガを使っていましたが、 BSCの設定をするような機能があり、SHにプログラムが入っていなくても SDRAMやFlashROMに書き込んで、プログラムを実行することができます。おそらくデバッガでも同様の機能はあるでしょう。
    ハードウェアブレークはマイコンに依存するものですので、使用可能です。

    注意しないといけないのは 内蔵Flashと外部のメモリはアクセススピードが違うので、処理速度が変わってきたり、割り込みの応答時間が変わることがあります。キャッシュが効いているときと効いていないときも速度が変わります。

    Flashのダメージが心配な場合、私ならば開発用の基板と出荷用の基板を用意します。Kanさんの開発事情がわからないので、なんとも言えないことではありますが、工数もかかるし、トラブル発生のリスクもあるので、私はおすすめしません。
Reply
  • こんにちは、菅原と申します。

    SHは最近触っていないので、昔の記憶になりますが、普通に可能だと思いますよ。
    私は アルファプロジェクトのデバッガを使っていましたが、 BSCの設定をするような機能があり、SHにプログラムが入っていなくても SDRAMやFlashROMに書き込んで、プログラムを実行することができます。おそらくデバッガでも同様の機能はあるでしょう。
    ハードウェアブレークはマイコンに依存するものですので、使用可能です。

    注意しないといけないのは 内蔵Flashと外部のメモリはアクセススピードが違うので、処理速度が変わってきたり、割り込みの応答時間が変わることがあります。キャッシュが効いているときと効いていないときも速度が変わります。

    Flashのダメージが心配な場合、私ならば開発用の基板と出荷用の基板を用意します。Kanさんの開発事情がわからないので、なんとも言えないことではありますが、工数もかかるし、トラブル発生のリスクもあるので、私はおすすめしません。
Children
  • あ、すいません、あの気が付いたことですが、ブート用にするビルドモードは設定とかは約に立ちません、分岐するのみで使用します、それで開発用のRAM上で全てを初期化するようにします、そうしないとうまくいきませんのでご注意を。