Note: This article is based on Shenzhen jiuding X4418 Development Board, not sure applies to all manufacturers 4418 Development Board.
In the previous chapter, we briefly talked about how the hardware to prepare the chip start-up mode, after the hardware has been prepared to understand the nature of the software is how the process is. Friends who have contacted s5p4412 must know irom boot boot, burning write startup code when there are four files to burn (Bl1,bl2,u-boot.bin, TSZW). In fact, 4418 is also the same as the use of the Irom start mode, but the mirror this piece is also a bit different, because s5p4418 does not support Trustzone function, so in the burning code when there is no tszw this file.
The start-up process is actually relatively simple, as shown below:
Chip on the Electric
When the first code to run after power on is Irom code, add to the chip inside there is a small ROM storage space, there is code, specifically do not see the introduction of information, but also estimated and 44,121 samples, detect the start-up of the preparation of the foot, from the boot storage to grab 2nboot code.
Run 2nboot code in internal RAM (copy U-boot.bin to DDR3)
Run U-boot.bin
Above is the process of running a code.
We know one of the processes above, and we'll look at the comparison. What's the difference between s5p4412 and s5p4418 mirrors?
s5p4412 |
s5p4418 |
Bl1.bin |
2nboot.bin |
Tszw.bin |
NC |
Bl2.bin |
U-boot.bin |
U-boot.bin |
From this chart we can easily see what is the difference between the two platform image, 4412 of the BL1 equivalent to 4418 2nboot.bin. But s5p4412 bl2.bin+u-boot.bin equals s5p4418 u-boot.bin.
In fact, 4418 also has a very important document NSIH.TXT. This file is also part of the boot image. If you don't have this, your u-boot can't get away. So it is clear that in fact, s5p4418 also has three files 2nboot.bin,u-boot.bin,nsih.txt.
I'm using Jiuding's 4418 Development Board, and Jiuding has packaged the three files as a file Ubootpak.bin at Uboot compile time. So we just have to write a file. How are these three files stored?
Add for the Development Board is EMMC,EMMC and SD card is actually the same, block 0 is the card information, this part can not be changed, if changed block 0 card may be fee. We must pay attention to the family. All of the image files are burned after block 1.
Here is an image in the eMMC distribution map:
Block 0 |
SD/EMMC Card Information |
Block 1 |
Nsih.bin |
Block2 |
2nboot.bin |
Block63 |
Nsih.bin |
Block64 |
U-boot.bin |
In this way it is more clear to look at the mirror so the specific location.
U-boot.bin probably everyone knows, this is compiled with U-boot code, this I do not introduce. Let's simply say a nsih.bin this file.
Nsih.bin This file is actually the configuration of some simple registers of the chip, including (boot mode, PLL,DDR).
This is the one I intercepted from the nsih.txt.
Vector Code Area
{Set Value} Address Comments
E59ff018//0x000:mov PC, Resetv
E59ff018//0x004:mov PC, UNDEFV
E59ff018//0x008:mov PC, Swiv &nbs