经过了前面的的一系列准备,终于要启动内核了。
在Uboot分析二中,提到过下面的这个函数:
void main_loop (void)
{
。。。。。。。。。。。。。
}
在启动内核的时候在Uboot里面用到什么命令呢?
// bootcmd 命令:
// nand.read.jffs 0x30007f00 kernel //从nand的kernel 分区读内核
// bootm 0x30007f00 //从0x30007f00地址处启动内核
在Uboot命令行输入上面的命令就可以启动内核了,那么具体到源码里面要怎么做呢?
在Uboot界面输入mtd可以看到分区(不是所有的uboot都有这项功能,只针对自己的开发版)
可以看到内核起始地址为0x00060000,大小被设置为0x00200000(2M)。
于是nand.read.jffs 0x30007f00 kernel 等效于nand.read.jffs 0x30007f00 0x00200000 0x00060000