基于cortex-A8的Bootloader设计
/work/nfs_root/uImage”,该命令表示从ip为192.168.1.123的Linux服务器上,通过 nfs下载该服务器上“/work/nfs_root”目录下的uImage,并存放在内存地址为0x20000000处。uImage为适配于 s5pv210开发板的Linux内核镜像。等待一段时间后看到“Bytes transferred = 2127008 (2074a0 hex)”字样,表示下载成功。 下载成功之后输入命令“nand erase.part kernel”,该命令表示擦除Nand Flash上的kernel分区。接着输入命令“nand write 20000000 kernel”,该命令表示拷贝内存地址为0x20000000的内容,烧写到Nand Flash的kernel分区中。内存地址0x20000000存放的内容正是之前我们从Linux服务器上下载下来的uImage。kernel保存在环境变量mtdparts中,kernel规定了该分区的起始地址和大小。执行完这两条命令后看到“4194304 bytes written: OK”字样,表示系统内核已经成功烧写到Nand Flash中,证明了Nand Flash和网卡均可以正常使用。其实验结果如图五所示: 图五 测试Nand Flash和网卡 4.3 测试引导内核启动 烧写完内核之后执行boot命令就可以启动该内核。boot命令实际上是执行环境变量bootcmd中的一条语句,其内容为“nand read 20000000 kernel; bootm 20000000”,该语句表示从Nand Flash的kernel分区中读出内核并存放在内存地址为0x20000000处,然后跳转在该地址执行内核镜像。启动过程中可以看到串口打印出如图六所示的信息,证明了该U-Boot已经成功支持引导Linux操作系统。 图六 测试引导内核启动 结语 本文从硬件,软件两个方面分析了s5pv210的特性及启动方式,然后通过u-boot-2013.01源码包详细阐述了U-Boot启动过程中的两个阶段,最后结合smart210开发板成功设计了一个基于SD卡启动的,多功能的Bootloader。测试结果表明该Bootloader支持Nand Flash 读写,nfs网络下载,环境变量保存和修改等功能,为后期开发带来了极大的便利。
cortext-A8 Bootloader设计 s5pv210 相关文章:
- S5PV210(TQ210)学习笔记——内存配置(DDR2)(11-28)
- S5PV210(TQ210)学习笔记——LCD驱动编写(11-28)
- S5PV210(TQ210)学习笔记——8位HWECC与YAFFS2的OOB布局(11-28)
- S5PV210(TQ210)学习笔记——Nand配置(11-28)
- S5PV210(TQ210)学习笔记——触摸屏驱动编写(11-28)
- S5PV210(TQ210)学习笔记——内核移植与文件系统构建(11-28)