微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 嵌入式开发环境介绍,嵌入式文件系统要求分析

嵌入式开发环境介绍,嵌入式文件系统要求分析

时间:05-19 来源:网络整理 点击:

er/User Setings 项目中,选择Network Applications之后,需要其中的portmap服务,[*] portmap即可。然后选择mount和umount服务使mClinux支持mount和umount指令。mClinux-2.4-x的内核对 NFS mount的支持不够,这使得在mClinux上添加NFS服务存在一些困难,而在较新的mClinux版本mClinux-2.6-x中重写了对 NTFS文件系统的支持。在BusyBox中选择mount和umount及mount NFS support三项即可,这样客户端的配置完成。最后重新编译内核,指令如下:

  # make menuconfig ------------- 内核配

  # make dep -------------寻找依存关系

  # make clean------------清除以前构造内核时生成的文件

  # make lib_only-----------该命令编译库文件

  # make user_only----------编译用户应用程序文件

  # make romfs ----------生成romfs文件系统

  # make image----------生成romfs.o文件

  # make

  重 新编译后,会在。。。/image/目录下生成image.rom文件,它是压缩了的内核在rom的映像文件,将其烧写到用户板的Flash即可。用户板 重新启动之后,新的内核已经开始工作,这时就可以在终端里进行NFS mount了(以在minicom为例)。输入如下指令:

  #mount -t nfs 10.5.22.247:/home/tmp /var/tmp /nfsmount -o nolock

  # mount

  执行完两条指令后,在Linux下的minicom里会看到如下信息:

  Rootfs on / type rootfs (rw)

  /dev/rom0 on / type rootfs (ro)

  /proc on/proc type proc (rw)

  /dev/ram0 on/var type ext2 (rw)

  /dev/ram1 on /disk type ext2 (rw)

  10.5.22.247:/home/tmp on /var/tmp type nfs (rw,v3,rsize=8192,hard, udp,nolock,addr=10.5.22.2)

  这样就将宿主机的/home/tmp目录挂载到了用户板的/var/tmp目录。

  结语

  通过以上两种方式的比较,可以看到,就开发的效率来说,NFS的方式明显具有优势。毕竟,用户开发的程序往往不能一次就调试成功,采用 NFS方式使得多人同时开发一个程序成为可能。事实上,除了文中提到的两种方式以外,还有其它以太网环境下的嵌入式开发手段,如telnet等,限于篇 幅,不再详细介绍。

  嵌入式文件系统要求分析

  嵌入式linux下常见的文件系统

  • RomFS:只读文件系统,可以放在ROM空间,也可以在系统的RAM中,嵌入式linux中常用来作

  根文件系统

  • RamFS:利用VFS自身结构而形成的内存文件系统,使用系统的RAM空间

  • JFFS/JFFS2:为Flash设计的日志文件系统

  • Yaffs:专门为Nand Flash设计

  • proc:为内核和内核模块将信息发送给进程提供一种机制,可以查看系统模块装载的信息

  • devFS:设备文件系统

  Linux上的Ext2fs

  • 支持4 TB 存储、文件名称最长1012 字符

  • 可选择逻辑块

  • 快速符号链接

  • Ext2不适合flash设备

  • 是为象IDE 设备那样的块设备设计的,逻辑块大小必须是512 byte、1 KB、2KB等

  • 没有提供对基于扇区的擦除/写操作的良好管理

  • 如果在一个扇区中擦除单个字节,必须将整个扇区复制到RAM,然后擦除,再重写入

  • 在出现电源故障时,Ext2fs 是不能防止崩溃的

  • 文件系统不支持损耗平衡,缩短了flash的寿命

  jffs/jffs2文件系统的优缺点

  • 日志文件系统

  • 提供了更好的崩溃、掉电安全保护

  • jffs2支持对flash的均匀磨损

  • 在扇区级别上执行闪存擦除/写/读操作要比Ext2文件系统好

  • 文件系统接近满时,JFFS2 会大大放慢运行速度——垃圾收集

  Nand上yaffs文件系统的优势

  • 专门为Nand flash设计的日志文件系统

  • jffs/jffs2不适合大容量的Nand flash

  • jffs的日志通过jffs_node建立在RAM中,占用RAM空间:对于128MB的Nand大概需要4MB的空间来维护节点

  • 启动的时候需要扫描日志节点,不适合大容量的Nand flash

  • FAT系统没有日志

  编译yaffs文件系统

  • mtd的最新补丁升级?

  • 接口更新,适合与yaffs

  • 与原有的mtd驱动程序不兼容,需要重写

  • 如果使用旧mtd驱动需要定义Makefile中MTD_OLD = -DCONFIG_YAFFS_USE_OLD_MTD

  • 参考文档: yaffs-rootfs-howto

  • 最新版的yaffs网站:http://www.aleph1.co.uk/armlinux/projects/yaffs

  使用yaffs文件系统

  • 通过cat /proc/yaffs命令可以看到yaffs系统的相关信息

• mo

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top