当前位置:操作系统 > Unix/Linux >>

Linux系统在嵌入式系统上的实践和探讨

1、实践目的

  向一个成熟的嵌入式硬件平台移植KERNEL 2.6版本的LINUX核心;以实践一个嵌入式系统的初步开发要求和进一步的应用程序移植。

  2、硬件平台

  VIA公司的EmCore-V611V12r/E533

  其平台主要应用于瘦客户机、机顶盒、查询机、网关防火墙、服务器等。相对硬件配置高,条件也不苛刻,但对软件的扩展、升级等要求高。

  VIA公司的VEPD是X86架构在Embedded系统的延伸,所以软件的可移殖利用性强,开发周期短等特点。

  3、安装LINUX

  A. 初始化CF卡

  将CF卡插在宿主机的ID1上。格式化CF卡,建立文件系统。CF卡出厂的时候分区一般如下:

  0....Bootloader

  1....Factory

  configuration

  2

  .

  . 内核和根文件

  .

  .

  N

  分区0....放置Bootloader

  分区1....放置Factory

  configuration

  分区2...N放置 内核、根文件系统 等

  一般不同的硬件和LINUX的Bootloader 也不尽相同。如UCLinux 一般用COLILO等。

  嵌入式系统所用的文件格式一般有JFFS、JFFS2、EXT2。而我们现在的系统可以支持EXT3。

  1)fdisk /dev/sda

  2)mkfs.ext3 /dev/sda1

  当然也可以用图形化工具完成1)2)步骤。

  B. 在CF卡上建立和CP相关的必要文件

  1)mount CF卡

  2)建立/mnt/cf/boot、/mnt/cf/boot/grub 等目录。

  3)CP grub下的文件到/mnt/cf/boot/grub,CP 其他的根系统文件。

  C. 编译针对目标机的2.6内核

  我的源文件目录为/data/linux-2.6.6,输出目录设置为/data/cf

  1)cd /data/linux-2.6.6

  2)make mrproper

  3)make O=/data/cf gconfig

  这里主要是对目标机的硬件选相关的硬件选项,舍去不要的选项。CPU选VIA FAMILY、FLASH驱动选在MTD里,还有网卡、USB、声卡等

  4)make O=/data/cf

  5)cp /data/cf/arch/i386/boot下的vlimuz、initrid.img 到 /mnt/cf/boot下

  D. install grub

  1) 按目标机修改grub.conf

  2) 执行grub,进入grub的命令模式

  3) grub > root (hd1,0)

  由于我们现在的CF卡不是当前启动硬盘,所以我们要注意,这里的硬盘参数是hd1而不是hd0.

  4) grub > setup (hd1)

  同上,我们现在是在CF卡上安装 grub.

  5) grub > quit

  OK,系统安置完成。

  E. 关机,取吓CF卡,插到目标机上,开机,引导........成功!!!

  我们可以进入到bash状态了.

  下面,我们可以进一步移植安装GUI和其他的应用程序.

  4、 比较其他的嵌入式系统开发

  和其它的系统比较,少实践了交叉编译,交叉链接,stub调试,规划FLASH在内存里的位置分配,烧写FLASH的Bootloader等。

  但是一个良好的开端是成功的开始。

  5、 探讨

  随着硬件的发展,嵌入式系统的开发也会更加成熟和容易。而且,随着硬件的发展,容量,体积不在是问题,嵌入式系统的硬件配制也会越来越高,相对的软件的开发,在开发周期,可升级等方面会要求越来越高.早期的嵌入式系统甚至没有OS只有简单的循环和可编程逻辑阵列,程序很难再利用和移植。后来,有了一些专用的OS。所以,工业计算机+OS是以后Embedded 系统的发展方向。但除了在军事等一些特殊领域会使用专有系统外,大部分的Embedded系统都会转入开放式系统或者是其他的有丰富的软件资源的操作系统. 对于一些新的开发人员来说可以把更多的精力放在应用软件开发上,而不用太多的考虑硬件了,降低了开发难度,缩短了嵌入式系统的开发周期。在以后的信息家电里,工业计算机将会得到大大地应用。当然,可编程逻辑阵列也会发展,在一个遥控器里也只可能用可编程逻辑阵列来完成的。

  

上一个:轻松解决Linux操作系统故障恢复技巧
下一个:JFS文件系统概述及布局分析

更多Unix/Linux疑问解答:
路由原理介绍
子网掩码快速算法
改变网络接口的速度和协商方式的工具miitool和ethtool
Loopback口的作用汇总
OSPF的童话
增强的ACL修改功能
三层交换机和路由器的比较
用三层交换机组建校园网
4到7层交换识别内容
SPARC中如何安装Linux系统(2)
SPARC中如何安装Linux系统(1)
用Swatch做Linux日志分析
实战多种Linux操作系统共存
浅析Linux系统帐户的管理和审计
Linux2.6对新型CPU的支持(2)
电脑通通透
玩转网络
IE/注册表
DOS/Win9x
Windows Xp
Windows 2000
Windows 2003
Windows Vista
Windows 2008
Windows7
Unix/Linux
苹果机Mac OS
windows8
安卓/Android
Windows10
如果你遇到操作系统难题:
访问www.zzzyk.com 试试
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,