Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
6 years, 1 month ago.
bootプログラムについて
GR-PEACHはブートモード3なので 起動時にFFFF_0000にあるブートプログラムにて SPIマルチIOのモード切替を実施していると データシートに記載されていました
このブートプログラムを書き換える事は可能なのでしょうか? また、現状のプログラムのソースコードは公開されているのでしょうか?
1 Answer
6 years, 1 month ago.
GR-PEACHのブート処理は、以下の流れとなります。
- ブートモード3により、内蔵ROM(FFFF_0000 ~)のブートプログラムが起動。SPIマルチI/O バスコントローラを外部アドレス空間に設定し、SFLASHの先頭アドレス(1800_0000)にジャンプ。
- SFLASHの先頭にあるSFLASHを高速設定にするコードを実行。(SFLASHにより必要な設定が異なる)
- Mbedボードとしてのスタートアップ処理を実行。
1は内蔵ROMに格納されたプログラムのため変更できません。
2については変更可能ですが、GR-PEACHのソースコードとしては公開されていません。こちらのバイナリデータが該当処理となっています。(以降、「SFLASH上のブート」と呼称します)
GR-PEACHのものではりませんが、RZ/A1HのSFLASH上のブート(高速設定にするコード)のサンプルはこちらから入手できます。
GR-PEACHもこのサンプルをベースにSFLASH依存部などを改造して使用しています。(ビルド結果をバイナリテーブル化して使用しています)
SFLASH依存部以外の変更として、SFLASH上のブートの領域を少なくするために以下の変更を行っています。
spibsc_init2.c
変更前:#define DEF_USER_PROGRAM_TOP 0x18080000 変更後:#define DEF_USER_PROGRAM_TOP 0x18004000
scatter.scat
変更前:LOAD_MODULE3 0x18000400 0x00003C00 変更後:LOAD_MODULE3 0x18000400 0x00002C00 変更前:LOAD_MODULE4 0x18004000 0x3C000 変更後:LOAD_MODULE4 0x18003000 0x1000 変更前:RESET_HANDLER 0x18004000 FIXED 変更後:RESET_HANDLER 0x18003000 FIXED