LINUX在嵌入式系统上的实践和探讨
2007-11-14 11:55
417 查看
[align=center]LINUX在嵌入式系统上的实践和探讨
作者:陈刚 浙江省城乡规划设计研究院计算机中心 发文时间:2004.07.16 [/align]
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)
4) grub > setup (hd1)
5) grub > quit
OK,系统安置完成。
E. 关机,取吓CF卡,插到目标机上,开机,引导........成功!!!
4、比较其他的嵌入式系统开发
和其它的系统比较,少实践了交叉编译,交叉链接,stub调试,规划FLASH在内存里的位置分配,烧写FLASH的Bootloader等。但是一个良好的开端是成功的开始。
5、 探讨
随着硬件的发展,嵌入式系统的开发也会更加成熟和容易。早期的嵌入式系统甚至没有OS只有简单的循环和可编程逻辑阵列,程序很难再利用和移植。后来,有了 一些专用的OS。所以,工业计算机+OS是以后Embedded 系统的发展方向。对于一些新的开发人员来说可以把更多的精力放在软件上,而不用太多的考虑硬件了,降低了开发难度,缩短了嵌入式系统的开发周期。在以后的 信息家电里,工业计算机将会得到大大地应用。当然,可编程逻辑阵列也会发展,在一个遥控器里也只可能用可编程逻辑阵列来完成的。
作者:陈刚 浙江省城乡规划设计研究院计算机中心 发文时间:2004.07.16 [/align]
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)
4) grub > setup (hd1)
5) grub > quit
OK,系统安置完成。
E. 关机,取吓CF卡,插到目标机上,开机,引导........成功!!!
4、比较其他的嵌入式系统开发
和其它的系统比较,少实践了交叉编译,交叉链接,stub调试,规划FLASH在内存里的位置分配,烧写FLASH的Bootloader等。但是一个良好的开端是成功的开始。
5、 探讨
随着硬件的发展,嵌入式系统的开发也会更加成熟和容易。早期的嵌入式系统甚至没有OS只有简单的循环和可编程逻辑阵列,程序很难再利用和移植。后来,有了 一些专用的OS。所以,工业计算机+OS是以后Embedded 系统的发展方向。对于一些新的开发人员来说可以把更多的精力放在软件上,而不用太多的考虑硬件了,降低了开发难度,缩短了嵌入式系统的开发周期。在以后的 信息家电里,工业计算机将会得到大大地应用。当然,可编程逻辑阵列也会发展,在一个遥控器里也只可能用可编程逻辑阵列来完成的。
相关文章推荐
- LINUX在嵌入式系统上的实践和探讨
- 深度实践嵌入式linux系统移植 光盘下载地址
- 嵌入式Linux系统的GDB远程调试实践(转)
- 嵌入式Linux系统的GDB远程调试实践
- 嵌入式Linux系统的GDB远程调试实践
- 《深度实践嵌入式Linux系统移植》
- 【嵌入式开发】向开发板中烧写Linux系统-型号S3C6410
- 嵌入式Linux系统性能优化的一些着手点
- 用Slickedit建立一个linux嵌入式调试系统
- Jeffies值与linux系统时间——实践篇
- u-boot 分析 - [嵌入式Linux系统开发技术详解-基于ARM] [转贴]
- 大型网站系统架构实践(六)深入探讨web应用集群Session保持
- 嵌入式Linux系统启动过程 u-boot
- 嵌入式Linux系统移植的四大步骤
- 嵌入式Linux图形系统(GUI)快速参考手册
- 创建嵌入式linux混合文件系统(ramdisk+jffs2)
- 嵌入式开发 驱动开发 系统开发 Linux,Android,Wince学习
- 【Linux技术】嵌入式linux内核的五个子系统
- 对嵌入式Linux中的根文件系统的理解和解析
- 我也来学做嵌入式Linux系统V0.1