NBOOT、EBOOT、UBOOT介绍
2024-07-06nboot很小(4k左右),一般用在从nandflash启动的情况,nandflash不支持就地执行,所以必须有一个可以执行的程序将烧写在其中的eboot搬到内存中,nboot就是干这个的。nboot烧写在片内的4ksram中。所以nboot一般配合eboot一起使用。
eboot就是ethernet boot,开始都是用网络下载的,现在大都加入了usb下载功能。eboot可以单独使用,就是把eboot烧写到norflash中,norflash支持xip,所以eboot可以自己把自己搬到内存中。
uboot以前常配合linux系统使用,不过现在已经在ce下用的很多了,我现在用的就是由uboot移植来的,只不过板商一般都不给源码,比较郁闷。uboot应该是比较强大的bootloader了,比eboot强大多了。
1. Nand启动方式
S3C6410有一个Stepping Stone,是8KB大小的内部SRAM缓冲器。 Nand Flash启动时,由于Nand Flash不能XIP,Nand Flash的前4KB被自动载入Stepping Stone中,系统会自动执行这4KB的代码。 这4KB代码的功能就是将Nand Flash中的特定位置的内容拷贝到SDRAM中,并跳转到SDRAM中执行。 在4KB的自动载入过程中,没有硬件ECC校验。而4KB代码执行时将Nand Flash中特定位置的内容拷贝到SDRAM的过程,有硬件ECC校验。 这4KB的代码一般是Nboot,而Nand Flash中特定特定位置的内容是EBOOT或者UBOOT。也有可能将UBOOT或者EBOOT一分为二,一部分放在前4KB,一部分放在其它位置。 2. Nor启动方式 Nor支持XIP,可以直接放EBOOT或者UBOOT。 3. Wince镜像的nk.nb0和nk.bin nk.nb0被boot拷贝到sdram后,可以直接运行。而nk.bin有特定的格式,需要解压。 4. SLC Nand、MLC Nand、TLC Nand SLC:Single Level Cell; MLC:Multi Level Cell; TLC:Trinary Level Cell; 差异就是一个Cell存放1位,2位还是3位。 SLC速度快、寿命长,价格贵,10万次的擦写寿命。 MLC速度一般、寿命一般、价格一般:5000-10000次的擦写寿命。 TLC速度慢、寿命短、价格低,500次的擦写寿命。 5. RVMDK和RVDS RVMDK:RealView Micro-processor Development Kit; RVDS: RealView Development Suite; RVMDK是ARM针对ARM7、ARM9、Cortex-M系列提供的IDE,侧重于单片机进化的ARM产品。 RVDS是ARM针对ARM全系列提供的IDE;