H8S2612のユーザープログラムモードについて

初心者のIKUZOでございます、H8S2612で昔開発した、リピートが発生しておりまして、その当時はボード毎にシリアル番号を割り当て、C言語ソースに校正用データを書き込んでおりました、そのため数量が多い時はその分だけコンパイルせねばならず、C言語ソースも大変なことになっております、ユーザープログラムモードであればデータのみを書き換えることができるそうですが、これをご存知の方アドバイスいただけませんでしょうか、サンプル等探しております。

Parents
  • IKUZOさん
    菅原と申します。

    普通は、マイコンの隣にEEPROMなんかを付けるのが一般的かと思うのですが、H8S2612だけでなんとかしたいのですよね。。。

    その通りにすると、ユーザーモードでフラッシュメモリにアクセスすることになります。RAMにプログラムを転送して、RAM上で実行となるので。難易度は結構高いと思います。ソフト開発に見合うだけの効果があるでしょうか?

    例えば、個別にデータだけのHEXファイルをボード毎に作ってあげて、
    アプリケーションのHexファイルとマージしてダウンロードするというのはどうでしょう。
    今よりはましになるかも。
Reply
  • IKUZOさん
    菅原と申します。

    普通は、マイコンの隣にEEPROMなんかを付けるのが一般的かと思うのですが、H8S2612だけでなんとかしたいのですよね。。。

    その通りにすると、ユーザーモードでフラッシュメモリにアクセスすることになります。RAMにプログラムを転送して、RAM上で実行となるので。難易度は結構高いと思います。ソフト開発に見合うだけの効果があるでしょうか?

    例えば、個別にデータだけのHEXファイルをボード毎に作ってあげて、
    アプリケーションのHexファイルとマージしてダウンロードするというのはどうでしょう。
    今よりはましになるかも。
Children
  • ビーコン菅原さん
    有益なアドバイスありがとうございます、
    「個別にデータだけのHEXファイルをボード毎に作ってあげて、アプリケーションのHexファイルとマージしてダウンロードする」そうですよね、いろいろ考えまして、「HEXファイル」でしたら、書き込み時の間違いもなさそうですが、それなりに実行時にわかりにくくなりそうです、理想的なのがターミナルコマンドで校正→書き込みで自動的?に設定されるようなコマンドが出来ると画期的なので、そのような、(フラッシュメモリにアクセスする)ことをしたいと思いまして、サンプルを検索するとアセンブラなのでC言語で例えばfwrite(long adr,long data);なんかで指定のアドレスに書き込めるなんて無理ですかね?
  • 「H8S/2400 シリーズユーザプログラムモードによるフラッシュメモリ書き換え(EW0 モード)」というサンプルプログラムがありました、これでやってみたいと思います。
  • ここで、すいませんが、蘊蓄を垂れておきます、今時H8S/2612を2000円以上も出して購入して作ろうという、無理がありますね、リピートだということで、本当に今回のみですよね、SRAMがなんと4KByteこれじゃすんなりとユーザプログラムモードでフラッシュメモリ書き換えなんて、SRAM領域を節約することから始めないとなんてことに、このような状況ですから前のままでやったほうが良さそうです、とりあえずユーザプログラムモードでフラッシュメモリ書き換えが勉強できたということで、徒労ではなかったということで勘弁してもらいます。