ホーム   »  スポンサー広告  »  スポンサーサイト   »  PSPPGメモ  »  CFW起動シークエンス解説(1)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

CFW起動シークエンス解説(1)

こんばんわ。はたまたこんちはですか。おはようございますなのかもしれません。
現在時刻は夜中の2時です。

CFWの起動シークエンスと題を打ってみましたが、内容は薄いですよ。
間違いがありましたらご指摘お願いします。 ペコリ

はい、まずざっくりとPSPの起動手順を書きます。

1. Cold Boot
 電源が入りCPUに通電、Pre-IPLを実行する。

2. Pre-IPL
 Pre-IPLはROMに配置されており、ローダーとペイロードで構成される。
 ローダーは自身をROMからRAMにコピーするプログラムで、ペイロードがPre-IPL本体。
 ROM上でローダーがペイロードをRAM(スクラッチパッドRAM)にコピー。
 RAM上にコピーされたペイロードにジャンプし、実行される。

 ペイロードは、まず、NANDハードウェアの初期化を行う。
 その後、4KBRAMを確保し、NANDから”暗号化されたIPL”を4KBを1ブロックとして読み込み復号化。
 ”復号化されたIPL”はIPLエントリアドレス 0x040F0000(※) に順次配置される。
 すべて復号化したのち、IPLエントリアドレスへジャンプし、IPLが実行される。 

 ※ 6.XXよりIPLエントリアドレスは0x040EC000になっているそうです。Takka氏に感謝を!
 ※ このIPLの格納されているNANDが破損し、読み込めなくなるとブリックとなる。

3. IPL(Initial Program Loader)
 復号化されたIPLは3つの要素で構成される。
 ローダー、main.bin、ペイロード。

 ローダーはMIPSコードです。(main.bin ローダーとも言われる?)
 main.binはgzipで圧縮されている(2.60以降は暗号化もされている)。
 ペイロードも同じく、gzipで圧縮・暗号化されている。

 ローダーはメインCPUのリセット、それからいくつかの非常に基本的なハードウェアの初期化を行う。
 その後に、main.binを アドレス 0x04000000 に解凍(2.60以降は復号化も)し、ジャンプ・実行する。

 main.binはPSPのハードウェアの初期化する。
 初期化の一部処理はidstorageに格納された値で決まる。
 初期化後、main.binはペイロードをアドレス 0x08400000(※) に解凍・復号化する。
 ペイロードのエントリーアドレス 0x08400000(※) にジャンプ実行され、ファームウェアが起動する。

 ※最近のファームウェアではペイロードのエントリーアドレスは 0x88600000 になっている


とこんな具合にPSPは起動しています。
ここまでで一時間過ぎました。午前3時です。
眠いので、CFWの起動シークエンスは(2)で解説すると思われ。
おやすみなさい。
スポンサーサイト
Comment
Trackback
Trackback URL
Comment Form
管理者にだけ表示を許可する
Twitter...A

estuibal=Y.K < > Reload

検索フォーム
RSSリンクの表示
リンク
QRコード
QR
ブロとも申請フォーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。