岩棉保温板厂家
免费服务热线

Free service

hotline

010-00000000
岩棉保温板厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

基于S3C2410多操作系统启动的设计与实现 - 软件编程-OS - 免费猫

发布时间:2020-02-17 12:51:12 阅读: 来源:岩棉保温板厂家

基于S3C2410多操作系统启动的设计与实现 - 软件编程/OS - 电子工程网

该平台的开发过程中涉及了系统的启动方式、设备驱动程序更改、Linux根文件系统、WinCE和Linux系统的配置和编译、多操作系统的安装等多项具体内容。下面我们将详细介绍每种系统在U-Boot下启动所需的一些改动。

3.1 WinCE在U-Boot下的启动

一般情况下,安装WinCE的步骤是先烧写Nboot到block0,再烧写tocblock1到 block1,然后烧写E-Boot到block2,最后用E-Boot通过以太网接口烧写 WinCE镜像文件。其中Nboot是实现从Nand Flash启动,tocblock1则负责保存 E-Boot中设置的各项参数。使用了U-Boot之后,U-Boot代替了Nboot的功能,但tocblock1却缺失了。这造成了E-Boot的参数无法正常保存,最终导致无法正常下载和保存WinCE镜像文件。通过实验发现如果强行保存E-Boot的参数,将造成U-Boot的损坏,整个系统将彻底无法启动。

最终,将定制好的镜像文件NK.nb0直接下载到所对应的内存地址后运行,这样WinCE的启动就成功了。另外,必须注意的一点就是,在加载镜像文件之前,必须先将待用的内存空间擦除,否则可能导致系统启动出错。

3.2 Linux在U-Boot下的启动

在嵌入式Linux系统中,主要分为两个部分:系统内核与根文件系统。其中系统内核包含了操作系统的主要功能、额外功能模块和设备驱动程序。而根文件系统则是内核在加载了之后第一个挂载的文件系统。它是一个特殊的文件系统,如果它无法被正常挂载,则可能导致整个Linux系统启动失败。

为了使linux可以在U-Boot下启动,我们需要做如下一些修改。

首先,我们应保证Linux内核能获取到正确的启动参数。启动参数往往是 bootloader中设置的,Linux内核通过读取bootloader中预设的启动参数来寻找根文件系统的位置。为了读取正确的启动参数,必须要对Linux内核做一个处理。mkimage工具是编译U-Boot时产生的一个工具,它会在原来的可执行镜像文件上增加一个0x40字节的文件头,用于指定诸如CPU架构、操作系统、文件类型、是否压缩、入口地址等各类信息。使用了mkimage工具以后,再搭配使用U-Boot控制台中的命令,就能读取到启动参数了。

其次,在vivi中,最底层的文件系统是bon。vivi有一套bon命令,用于格式化Flash并创建bon文件系统,而MTD(Memory Technology Device)则可以与之共存。最后可以将bon或MTD作为根文件系统。如果不使用vivi的bon文件系统,那么必须在某个地方存放Flash的分区信息。这时,最大的可能就是存放在Linux内核中。如果要直接使用MTD,则可以通过修改代码,在Linux内核中指定分区信息。在找到根文件系统后,Linux便能正常启动了。

3.3 uCOS在U-Boot下的启动

用ARM Develop Suite编译后的uCOS系统可以得到一个二进制的可执行文件 system.bin,下载到编译时设置的入口内存地址即可运行。uCOS的YAFFS文件系统需要bon文件系统的支持,可以用vivi来完成建立bon文件系统的工作,而且必须用汇编语言在U-Boot的start.S文件中对CPU进行初始化,否则将造成uCOS实验无法正常运行。

至此,WinCE、Linux、uCOS三个操作系统在U-Boot下都可以正常启动了。为了更好的完善多系统启动平台,我们还进行了以下三个方面的补充。首先,显示方面主要包含LCD驱动程序,并且在系统启动时显示bmp文件格式的单色 Logo,在屏幕下方显示7种颜色的色块,以验证屏幕是否正常工作。其次,为方便用户的使用,也可以通过触摸屏直接选择需要启动的系统,无需连接PC主机。主要包含加载触摸屏驱动程序,读取校准参数,反馈用户操作,启动系统或者接受用户从键盘发出的命令来启动系统。最后,在系统具有密码保护的情况下,拒绝未经授权的用户登录U-Boot的命令行。因为U-Boot的nand命令组可以对Flash进行格式化操作,这给学校机房的管理带来很多不便。

4 运行效果

在系统启动后,启动界面如图2所示。用户可以根据相关提示选择希望启动的操作系统,如果用户放弃选择,则默认进入uCOS操作系统。之后,我们又随机进行了一些测试,测试结果表明:每种系统都可以正常、稳定的运行。本平台为支持多操作系统的可视化教学实验平台,主要具有以下功能:

(1)在同一设备上实现WinCE、Linux、uCOS操作系统的共存和选择启动。

(2)在系统启动时显示产品Logo。

(3)对bootloader命令行实施密码保护,禁止未经授权用户更改Flash中的系统数据。

(4)用户可以通过PC主机和平台的串口通讯选择需要启动的系统。

(5)用户可以通过触摸屏直接选择需要启动的系统,无需连接PC主机。

中山旗袍

六安美食

明星图片

榛鸡的养殖技术