お世話になっております。
カイロスです。
現在、以下の環境でファームウエアアップデートを実行しようとしている過程で、サンプルプログラムの処理で気になったところがあったので質問させてください。
(FW情報)CPU:63TROM配置:更新用ROMと運用ROMを分ける方法:シリアルを通じて、外部フラッシュメモリに更新プログラムを保存し、そこから随時プログラムを読み込んでROMを更新参考サンプルプログラム:USBマスストレージ経由内蔵FlashROM書き換えプログラム(R01AN3503JJ0105)内部のRAMが足りないので、サンプルプログラムを読み解いて、必要部分のみで実装できないか試行錯誤しているのですが、以下が気になったところです。
(質問内容)・サンプルプログラムは、ROM配置が連続していることを前提としている?
サンプルプログラムで、128byteを切り出す処理にて、途中で書き出す長さがオーバーフローしそうになったら、・128byteを埋める・あふれた分を予備バッファに保存・ROMに書き出す・予備バッファの値を、次回のバッファに持ち越す
という流れになっているなと思いまして、そうなると、途中で書き出すROMのアドレスが大きく飛んだ場合、書き出したい箇所に書き出せないのでは?と思いました。(すみません。サンプルプログラムをある程度読んだことがある人前提の説明になっていますが、ご容赦ください)
この私の認識があっているのか、それとも、実は私が読み解けていないのかあれば教えていただきたいです。
ちなみに、最終的な実装としては連続したアドレスになるので、上記の処理でも問題ないと思います。
以上、よろしくお願いいたします。
自己解決しました。
サンプルプログラムでの下記の部分の解読が甘く、アドレスが離れていると、次回のバッファに持ち越されることを理解できました。
ありがとうございます。