课程要求:
1. 了解linux嵌入式系统的组成和启动流程。
2. 通过SD卡自动烧写Linux系统到nand flash中。
3. 体验Linux+Qt系统。
实验器材:
软件:
1.OK6410光盘A,B。
硬件:
1. PC机一台。
2. SD卡读卡器各一
3. OK6410开发板一套。
4. USB转串口线一条。
背景知识:
1. Qtopia简介:
Qtopia 是 Trolltech 公司为采用嵌入式 Linux 操作系统的消费电子设备而开发的综合应用平台, Qtopia 包含完整的应用层、灵活的用户界面、窗口操作系统、应用程序启动程序以及开发框架。由于 Qtopia 及其开发环境 QT 在同类产品中表现优异,2008 年,Trolltech公司被著名的通讯公司 Nokia 收购。
2. linux+Qtopia 系统:
一个完整的 linux+Qtopia 嵌入式系统(从软件角度划分)主要由 4 个部分构成,即引导加载程序(bootloader)、linux 内核、文件系统和应用程序(例如 Qtopia)。
(1) bootloader。简单来说就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。常用的 bootloader 有 denx 的 u-boot、samsung 的 supervivi 等。
(2) Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。
(3) 文件系统。主要指根文件系统,它可能存放在 Nand、内存、网络等各种设备上。
(4) 用户应用程序。在 linux 系统中,图形桌面系统(例如 Qtopia)都是作为用户应用程序存在的。而这些用户应用程序又都是以文件系统为依托,存放在文件系统当中的。
本节实验中自动安装 linux+Qtopia 系统,是通过从 SD 卡启动并自动烧写存在 SD 卡中的 bootloader、Linux 内核和文件系统的镜像到 nand flash。不过最终要使系统运行,还会将它们从存储介质一一加载到内存中。
实验步骤:
1. 格式化 nandflash;由于 OK6410 出厂时默认安装的是 WinCE 的系统,而 WinCE系统将 nandflash 的前四块标记成了坏块,所以,在由 WinCE 烧写 Linux 系统时,需要首先将 WinCE 标记的"假坏块"擦除。
擦除方法:连接开发板与电脑,打开串口显示工具,从 nandflash 启动开发板,开发板上电之后迅速按下空格键,使开发板停在 WinCE 的 Eboot 命令行,如图3-17 所示,然后输入 A,格式化 nandflash,显示【All block(1024) Erase】说明擦除成功。
图3-17
启动 Eboot
2. 参考实验 3.2 中所诉的方法制作 SD 卡启动盘。 OK6410A 盘/Linux-3.0.1/demo/将
目录中的 u-boot_ram256.bin、zImage 和 OK6410A 盘/Linux-3.0.1/filesystem/目录中的 rootfs.yaffs2-nand2g 拷贝到 SD 卡中。
图3-18 将镜像拷贝到SD卡中
3. 进入SD卡的目录,修改镜像文件名,将u-boot_ram256.bin 重命名为u-boot.bin,
将rootfs.yaffs2-nand2g 重命名为rootfs.yaffs2
4. 使用这块SD 卡将Linux镜像烧写到开发板的nand flash 中。将制作好的SD 卡插
入开发板SD 卡插槽中,连接好开发板电源,选择SD 卡方式启动,并利用串口线
将开发板串口与PC 主机串口相连,打开串口工具SecureCRT。
5. 拨动电源开关,给开发板上电。这时可以通过串口工具SecureCRT 输出如图3-18
开发板信息和Linux系统烧写信息。
烧写成功之后,开发板蜂鸣器会 10 次,同时 LED 灯流水显示。
图3-19
开发板及 Linux 安装信息
在系统烧写过程中,串口打印中如出现"XXX not found",请仔细核对 SD卡中镜像名称是否按照要求进行修改。
6. 自动烧写完成,关闭开发板电源。设置拨码开关为 nand flash 启动如图 3-20 所示。并重启开发板。开发板从 nand flash 正常启动 Linux+qtopia 系统,如图 3-21 所示,这时可以在超级终端中使用 linux 的 shell 命令进行相关操作。同时,也可以使用lcd 屏操作 qtopia 的桌面系统了。
图3-20
Nandflash 方式启动
图3-21
成功启动自动烧写的 linux 系统
7. 第一次进入 Linux+QT 系统,需要对开发板进行校准、语言、时区和时间等设置。
这些设置完成之后就可以进入 Qtopia 的桌面系统,如图 3-22 所示,这时便可以
使用手指触屏进行操作。
图3-22
Linux+Qtopia 界面
总结:
通过本实验应该掌握利用 SD 卡进行 Linux+QT 系统自动安装和运行的方法,体验开发板上 Qtopia 图形界面及其应用程序。这里将系统自动安装步骤总结如下:
1. 制作 SD 卡启动盘,需要经历下列 3 个小步骤:
(1) 首先确保 SD 卡是 FAT32 格式的文件系统,否则需要格式化。
(2) 通过 SD-Writer.exe 工具的【Scan】按键,扫描并选择要烧写的 SD 卡。
(3) 使用 SD-Writer.exe 工具,将 mmc_ram256.bin 烧写到 SD 卡中。
(4) 将装有待烧写镜像文件拷贝到 SD 卡中。
2. 将制作好的 SD 卡插入开发板 SD 卡槽,使开发板从 SD 卡启动。
3. 从 SD 卡启动后开始自动烧写系统,可以通过 LED 灯来判断烧写的状态,当所有 LED 灯不停的跑马跳动,就说明系统已经烧写完毕。
4. 开发板从 nand flash 重启,进入烧写好的 Linux+QT 系统。