こんにちは!iichanと申します。
現在RX72Nの評価をしておりまして、ハードウェアマニュアルなど読み漁っています。
SCIブート、USBブート、FINEブートの3つのモードがあり、内蔵フラッシュを書き替えブートすることができるのは理解しましたが
このCPUは外付けフラッシュを用意してQSPI等でブートすることはできないのでしょうか。
わわいです
できません。
データシートを読んで、そういう事が可能、と記述されていないならば、それはできません。
なんなら、内蔵フラッシュにある種のプログラムを書き込み、そいつによって、QSPIデバイスからデータを読み込んで内蔵RAM に展開し、そこからブートさせる、と言うことは可能ですが、そういうのはどうでしょうか。
#世に存在しているQSPIからブートさせる、というMPUというのは、ぢつはそんなことをしている、と言う噂もあったような気もせんでもないです。
iichan様
外付けROMがバスタイプなら内蔵ROM無効にすれば起動できると思います。シリアルROMはマイコンの動作モードでサポートしないデバイスです。RZマイコンならSerialFlashROMから起動します。
わわい様
ありがとうございます。
やっぱりできないんですね~
内蔵フラッシュにある種のプログラムを書き込み、そいつによって、QSPIデバイスからデータを読み込んで内蔵RAM に展開し、そこからブートさせる
→なるほどですね!それでしたらできますね!
追加の質問になってしまうのですが
内蔵フラッシュにプログラムを書く場合、プログラムが内蔵フラッシュの容量を超えることもあると思うんですけど
そういった場合は外付けでQSPIやSDRAM等を使用するのが一般的でしょうか。
ちょっとこういうCPUを使って云々が初めてで、わわい様でしたらそういった状況のときどう設計されますか。
Shoji Yamamoto様
なるほどですね
仮に内蔵ROM無効にして、外付けROMをバスでつなぐ方法にした場合どうやってプログラムを外付けROMに書き込むのでしょうか。
Renesas Flash Programmerは、内蔵ROMに書き込むことを前提にしている?のでこのツールは使えませんよね。。
ちょっとこういうCPUを使って云々が初めてで、とんちんかんなこと言ってたらすみません。。
iichan さま
最近リリースされたRA8シリーズのマイコンは、QSPIのメモリがマイコンの特定の番地に割り付けられて、ライターで書き込める様になっていますので、次出てくるRXでは同じ様な仕組みになっている可能性はあると思います。
(RA8も、(RXも)外部から起動出来る様にはなっていないです。)
内蔵フラッシュメモリが足りない場合は、SDRAMをつなげて、QSPI等の外部メモリからSDRAMにロードして実行する作戦は使えるかと思います。(この場合、QSPIメモリのR/Wを行うプログラムは、内蔵フラッシュに格納しておく必要があるかと思います。)
> プログラムが内蔵フラッシュの容量を超えることもあると思うんですけど
それはMPUの選定を間違っています
容量を超えるのであれば、それを収めることができるMPUを選定しましょう。
外付けでフラッシュやRAMをつける必要があるなら、それに適したものを選定する必要があります
ご回答ありがとうございます。
いろんな制約があり今回のCPUを選定したのですが、確かにおっしゃる通りですね。
制約の中の優先度を改めて見直し、場合によっては他のCPUに変更するなど考えたいと思います。
tf様
次出てくるRXでは同じ様な仕組みになっている可能性はあると思います。
なるほどですね。
ご説明いただきありがとうございます。
簡易的なブートローダーは作ったりしてみたので、そいつを改造してうまく動かせるかやってみたいと思います。