real6410开发板烧写Android系统

玩了开发板这么长时间,今天终于把那个Android系统烧进板子里面去了。

一个完整的Android 系统至少由三部分组成,分别是bootloader、kernel、rootfs,这与
典型的linux 系统的结构是一致的。下面介绍如何烧写一个完整的Android 操作系统。
bootloader、kernel、rootfs 的镜像最后都要烧在nandflash 下,因此先了解一下nandflash
的分区情况以避免出现前后覆盖的情况:
分区名称地址范围分区描述
                            bootloader 0x00000000~0x0003FFFF 烧写Uboot 的分区
                            kernel 0x00040000~0x003FFFFF 烧写linux 内核的分区
                             cramfs 0x00400000~0x007FFFFF 烧写cramfs 格式文件系统(用作备份)
                             Ubifs 0x00800000~0x3FFFFFFF 烧写ubifs 格式文件系统(真正的文件系统)

 

1.1 uboot烧写
1.1.1. 烧写SD 启动的uboot
在没有仿真器等程序烧录工具的情况下,对于原本没有任何程序的板子,可以使用
S3C6410 的MMC/SD 启动功能来烧写一个可用的uboot。
注意:本文的实验都是基于512MB 的SD 做的,2G 的金士顿SD 也试过没有问题,建
议读者也使用这种容量的SD,对于2G 以上的SD 的支持并没有经过试验。
烧写过程如下:
在Windows 下,通过光盘中的tools/IROM_Fusing_Tool 工具将MMC/SD 启动的uboot
烧写到SD 中。

把SD 取出并插入到板子的SD 插槽中,通过设置板子的拨码开关使板子启动方式为SD
启动,设置方式在2.3 节中已经做了说明。
打开光盘中的tools/dnw 工具并对这个工具进行设置:

Dnw 工具可用后便可以板子上电,如果没有意外,dnw 中将打印出uboot 的启动信息(要
注意按下键盘不然uboot 将试图启动内核而无法进入下面的界面):

1.1.2 格式化NandFlash
如果是第一次烧写linux/android 系统,特别是如果之前是预装了WinCE 需
要烧写为Android 或者linux 的时候,需要先将整个flash 清除一遍,因为WinCE
和Android、linux 下的文件系统对nand 的OOB 区的使用方法不一致,如果不先
清除会出现ECC 校验错误。一般情况并不需要频繁的格式化,所以建议板子做一
个格式化后以后就不需要再做了。
选择菜单中的f:

 

1.1.3 烧写NandFlash 启动的uboot
在有SD 启动的uboot 后,便可以利用这个uboot 来将其他代码烧写到板子的Nandflash
中了。这里演示如何将Nandflash 启动的uboot 烧写到Nand 中。记住先用USB 线将小口的
USB 和电脑连接。
选择菜单中的u

如果你是第一次使用,会提示安装板子的USB 驱动程序,如果驱动已经安装则可以跳

 

1.2 烧写Linux内核
选择uboot 菜单中的k 选项,并通过USB port 选择光盘中带有的linux\linux-image\zImage

 

1.3 烧写cramfs根文件系统
Android 或者带有带有Qtopia 的根文件系统可以使用yaffs 或者ubifs 等可读写的文件系
统,不过yaffs 在我们的试验过程中并不十分稳定,即使使用了Google 修补过以后的yaffs
源码仍然会偶尔导致系统崩溃,因此我们采用了性能更好的ubifs,该文件系统由IBM 等公
司联合开发,用于嵌入式系统中,并已经被2.6.27 以后的linux 内核所采用。
但是目前版本的uboot 的nand 驱动对可读写的ubifs/yaffs2 支持不完善,可以利用cramfs
文件系统来间接实现ubifs/yaffs2 的制作,所以这里首先介绍如何烧写一个cramfs 到板子中。
过这几步。

 

这个文件系统建议在系统调试完成之前一直保留而不要删除,这样可以在需要更新
ubifs/yaffs2 文件系统的时候随时能使用。
为了避免读者产生混乱这里再次强调,真正用到的文件系统都是使用ubifs 格式的根文
件系统,cramfs 文件系统只是为了烧写而制作的辅助文件系统。在后续我们将对uboot 进行
修正,让uboot 能够直接支持ubifs。
光盘中的linux\linux-image\root_mkfs.cramfs 是我们为了实现ubifs/yaffs2 格式烧写而制
作的最小文件系统,将这个文件系统下载到板子,并烧写到板子Nandflash 的cramfs 分区。
烧写方法是选择菜单中的c,并选择光盘中的linux\linux-image\root_mkfs.cramfs 文件:

1.4 烧写ubifs根文件系统
上一步烧写的cramfs 只是为了进行ubifs 烧写而制作的,在修正了uboot 对ubifs 的支持
后将会不再采用这种方式。下面开始介绍基于cramfs 的ubifs 根文件系统烧写方式。
按照之前介绍的步骤烧写完cramfs 之后便可以开始ubifs 根文件系统的烧写了。
第一步是将已经制作好的根文件系统linux\linux-image\android.tar.gz 复制到U 盘或者
SD 卡中,接着把U 盘或者SD 卡插到板子上。接下来选择菜单中的a 来烧写这个android
的根文件系统:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值