2.4 文件系统
Linux采用文件系统组织系统中的文件和设备,为设备和用户程序提供统一接口。Linux 支持多种文件系统,本系统使用CRAMFS格式的只读根文件系统,而将FLASH中的USER区使用支持可读写的YA FFS文件系统格式,方便添加自己的应用程序。
在根文件系统中,为保护系统的基本设置不被更改,采用CRAMFS格式。采用DEVFS来实现基本设备的建立挂载,同时使用BusyBox也是一个缩小根文件系统的办法,提供了系统的基本指令;还需要建立一些必备的目录,添加所需配置文件,如fstab、inittab等;还有一个重要的工作就是添加系统应用必备的动态函数库。使用生成工具mkcramfs 将整个根文件目录里的内容制作成映像文件。
mkcramfs rootfs rootfs.ramfs
YAFFS文件系统格式的支持需要将驱动加入到内核代码树下fs/yaffs/,修改内核配置文件,就可以在内核编译中加载对该文件系统的支持。使用mkyaffs工具将NAND FLASH分区格式化为YAFFS分区,将mkyaffsimage生成的应用程序镜像烧写进YAFFS分区,在启动时通过写入fstab自动加载YAFFS分区即可。
2.5 网络设备驱动
系统中采用CS8900A的10M网络芯片,它使用S3C2410的nGCS3和IRQ_EINT9,相应修改linux/arch/arm/mach-s3c2410/irq.c,并在mach-smdk2410.c的smdk2410_iodesc[]中增加{SMDK2410_ETH_IO,S3C2410_CS2, SZ_1M, MT_DEVICE},内核源码中加入芯片的驱动程序drivers/net/arm/cs8900.h和cs8900.c,并且配置网络设备驱动的Makefile和Kconfig文件,加入CS8900A的配置选项,这样可以在内核编译时加载网络设备的驱动。
在Linux2.6应用的同时,也要看到其与以前版本内核比较存在的一些问题。在内核的编译时间、内核镜像大小、内核占用RAM空间大小、系统启动时间相对Linux2.4而言都存在不同程度的不足,但在硬件条件日益进步的现今可以接受,而且一部分也是由于功能加强必然带来的。虽然Linux并非一个真正的实时操作系统,但2.6内核的改进能够满足大部分的应用需求,所以Linux2.6内核将会在嵌入式系统领域大展身手。
参考文献
1 Alessandro Rubini,Jonathan Corbet著,魏永明,骆刚,姜 君译.Linux设备驱动[M].
北京:中国电力出版社,2004
2 Anand K Santhanam. 走向Linux2.6[EB/OL]. Dec. 2003.
http://www-128.ibm.com/deve loperworks/cn/linux/ l-inside/index.html
3 S3C2410X 32-Bit RISC Microprocessor User´s Manual[Z]. SAMSUNG Electronics. Revision 1.2
4 Brandon White. Linux 2.6: A Breakthrough for Embedded
Systems[EB/OL].http://linuxdevices.com/articles/AT7751365763.html Sep.9,2003
5 Karim Yaghmour. Building Embedded Linux Systems[M]. O’Reilly. April, 2003
--
原文链接: http://www.ednchina.com/Article/html/2006-07/2006712100808.htm
|