GENMAIボードでのブートについて2

Hiroです。

 

以前、シリアルフラッシュからのブート起動が出来ないことを質問させていただきました。

その時点では解決したのですが、また問題が発生しましたので質問します。

ブートファイルを書き換えるとシリアルフラッシュからの起動ができなくなります。

ブートファイルはICEで書き込んでいます。

シリアル通信によるPC画面上での確認では、一切動いてない状態です(メッセージが一切出力されません)。

一度NORフラッシュから(BOOT_MODE0で)起動を掛けると、それ以降はシリアルフラッシュから(BOOT_MODE3で)

の起動が可能となります。

ブートファイルの書き換え時に環境設定を消去したのではないかと考えたのですが、

データは残っていますし、Kernaelイメージをシリアルフラッシュに書き込んでいるのですが

NORフラッシュ起動時にもKernelイメージをシリアルフラッシュから読み込んでいるので

環境設定は残っているようです。

NORフラッシュからの起動以降は、シリアルフラッシュからの起動が可能になることから

ブート処理の中で何かを設定することで起動可能になっていると思いますが、

ブートファイルの書き換えでその設定を壊すとも考えづらいと思います。

ブートファイル書き換え後に、シリアルフラッシュから(BOOT_MODE3で)起動させるには

何をすればよいかをお教えください。

 

以上

Parents
  • わわいです
    リセットで初期値に戻るレジスタもあれば、戻らないやつってのもあったりするし、周辺デバイスではなおさらそういうのがあったりなんかします
    また、RAMの初期化はリセットではやってくれませんので、そこら辺もチェックする必要があります
    #RZ/Aなんかでは特にMMUやらキャッシュマネージャとかもありますんで、そこら辺のメモリの初期設定もありますな。
    初期設定で抜けている、ものに加え、余計な初期設定をしているのでコケる事もあったりするし、ブートモードによってレジスタの初期設定値が変わるやつもいますので、リセットで初期設定に戻る、と思っていると痛い目にあうことになります。
    んで、ICEで書き込んでるということですが、ステップ実行とかして異常箇所は探れないんでしょうか。
    また、こういう場合はシリアルポートなどに出力するシンプルな関数を作っておいて、ログを出力させるというのも有効です。
  • わわいさん。ご回答ありがとうございます。
    ICEでのステップ実行ができない(LinuxのICEでのデバッグには制限が有りそうな情報を得ていましたので
    実行できない理由を詳しくは調査していません)ので異常個所が探れません。
    ブート直後のメッセージさえPCに表示されませんので、シリアル自体が動いていないと思います。
    もう一度、初期化の処理をまとめてみます。
Reply
  • わわいさん。ご回答ありがとうございます。
    ICEでのステップ実行ができない(LinuxのICEでのデバッグには制限が有りそうな情報を得ていましたので
    実行できない理由を詳しくは調査していません)ので異常個所が探れません。
    ブート直後のメッセージさえPCに表示されませんので、シリアル自体が動いていないと思います。
    もう一度、初期化の処理をまとめてみます。
Children
No Data