その起動プロセスを分析するために、この紙s5pv210 SOC例
SOCのs5pv210は内部に、内部ROMと内部RAMがあります
- 内蔵ROMは、それがnorflashの一種である、IROMと呼ばれています。使用することができる初期化電源を投入することなく、利点を外部基板inand / SD(MMC)、異なっている、欠点は、高価な、小さいです...
- 内蔵RAMは... ..欠点は高価な、小さくて使用することなく、また、電源投入時の初期化の利点である外部基板DDR(DRAM)、異なるSRAM、と呼ばれています...
原因タリア優れた特性、パワーオン・タリアによっての原因であることが後に多くの作業
1.分析ブートメディア
- まず、電源オン、(S5PV210 BLOと呼ばれる)セットアップコードは、CPUクロック、ウォッチドッグをオフに初期化し、決定IROMがSOC実行開始特定のCPUのGPIO内部に媒体を読み取ることによって開始します。(注意:IROMコードを直接実行することができ、SRAMを入れないでください)
- いくつかのSOCのために、彼らはGPIOを読み取ることによって、メディアを判断するために開始しますが、優先順位のブートメディアによると、様々なメディアが成功開始SOCメディアの開始まで開始から起動しようとするためではありません
前記第1の部分は、ブートコードがロードされます
- ブートメディアを決定した後、CPU IROMは初期化コード、対応するブートメディアを実行し、符号Uブートヘッダの量を読み始める(s5pv210コードの16Kは、ブートメディアの特定のセクタからのものである、BL1と称される)、その後、SRAMに入れて実行。近年では、「SPL」と呼ばれるコードのこれらの小片をUは、ブートし、それが別のコンパイルをサポートするために始めました
- なぜそれが直接全体のU-ブートをロードしませんか?理由はコストを考慮のSOCのほとんどは、IROMにはないので、全体のU-ブートに適合しません
- 全体的に、各SOCはほぼ同じので、このステップが、どこへ行くか微妙な違い、特定のリファレンスマニュアルを有することができます。S5pv210ブートコード要件が前記の第一の部分の詳細のいくつかには、以下の例:
媒体はSD / MMCを開始すると、以下に示す空間ブートメディアを割り当て、セクタ0は、IROM BL1を開始するコードが最初のセクタから読み出される保持しなければならない
他のブートメディアから直接であります以下に示すようにBL1、IROMコードがBL1セクター0、作動空間分布媒体から始まる読み出さ0番目のセクタストレージ
-
-
その後、我々はSRAMにアドレスコードの最初の部分を指示したい、SOCは、通常、最初のヘッダーにチェックコードを追加します、チェックのための第一の理由は、ブートメディアからの読み取り時にエラーを防ぐためである、一般的に使用さパッケージツールメーカーは、ヘッダチェックサム、または第一Uブートソースに追加パリティを追加します。s5pv210ため、最初の16のバイトはパリティビットBL1、先頭からD002_0010実際のコードです。
-
これにより、起動処理がSOCがSRAMを再配置する第一の部分のブートコードに続いて、先端は、全体Uブート、およびブート・カーネル・イメージをロードします。詳細な流れは、U-ブートU-bootソースコード解析とカーネルのブートプロセス分析に行くことがあります。
- 出典ます。https://www.veryarm.com/41643.html
-
ます。https://www.cnblogs.com/duwenqidu/p/11057142.htmlで再現