关于嵌入式设备上的Linux 系统开发
[11-20 15:52:47] 来源:http://www.88dzw.com arm嵌入式 阅读:8998次
文章摘要:that are needed for the filesystem here *//* Type the following command under jffsfile directory to create the JFFS2 Image */./mkfs.jffs2 -e 0x40000 -p -o ../jffs.image上面显示了 mkfs.jffs2 的典型用法。 -e 选项确定闪存的擦除扇区大小(通常是 64 千字节)。 -p 选项用来在映像的剩余空间用零填充。 -o 选项用于输出文件,通常是 JFFS2 文件系统映像 ― 在本例中是 jffs.image。一旦创建了 JFF
关于嵌入式设备上的Linux 系统开发,标签:arm嵌入式系统,arm系统,http://www.88dzw.comthat are needed for the filesystem here */
/* Type the following command under jffsfile directory to create the JFFS2 Image */
./mkfs.jffs2 -e 0x40000 -p -o ../jffs.image
上面显示了 mkfs.jffs2 的典型用法。 -e 选项确定闪存的擦除扇区大小(通常是 64 千字节)。 -p 选项用来在映像的剩余空间用零填充。 -o 选项用于输出文件,通常是 JFFS2 文件系统映像 ― 在本例中是 jffs.image。一旦创建了 JFFS2 文件系统,它就被装入闪存中适当的位置(引导装载程序告知内核查找文件系统的地址)以便内核能挂装它。
tmpfs
当 Linux 运行于嵌入式设备上时,该设备就成为功能齐全的单元,许多守护进程会在后台运行并生成许多日志消息。另外,所有内核日志记录机制,象 syslogd、dmesg 和 klogd,会在 /var 和 /tmp 目录下生成许多消息。由于这些进程产生了大量数据,所以允许将所有这些写操作都发生在闪存是不可取的。由于在重新引导时这些消息不需要持久存储,所以这个问题的解决方案是使用 tmpfs。
tmpfs 是基于内存的文件系统,它主要用于减少对系统的不必要的闪存写操作这一唯一目的。因为 tmpfs 驻留在 RAM 中,所以写/读/擦除的操作发生在 RAM 中而不是在闪存中。因此,日志消息写入 RAM 而不是闪存中,在重新引导时不会保留它们。tmpfs 还使用磁盘交换空间来存储,并且当为存储文件而请求页面时,使用虚拟内存(VM)子系统。
tmpfs 的 优点包括:
动态文件系统大小 ― 文件系统大小可以根据被复制、创建或删除的文件或目录的数量来缩放。使得能够最理想地使用内存。
速度 ― 因为 tmpfs 驻留在 RAM,所以读和写几乎都是瞬时的。即使以交换的形式存储文件,I/O 操作的速度仍非常快。
tmpfs 的一个 缺点是当系统重新引导时会丢失所有数据。因此,重要的数据不能存储在 tmpfs 上。
挂装 tmpfs
诸如 Ext2fs 和 JFFS2 等大多数其它文件系统都驻留在底层块设备之上,而 tmpfs 与它们不同,它直接位于 VM 上。因而,挂装 tmpfs 文件系统是很简单的事:
清单 8. 挂装 tmpfs
/* Entries in /etc/rc.d/rc.sysinit for creating/using tmpfs */
# mount -t tmpfs tmpfs /var -o size=512k
# mkdir -p /var/tmp
# mkdir -p /var/log
# ln -s /var/tmp /tmp
上面的命令将在 /var 上创建 tmpfs 并将 tmpfs 的最大大小限制为 512 K。同时,tmp/ 和 log/ 目录成为 tmpfs 的一部分以便在 RAM 中存储日志消息。
如果您想将 tmpfs 的一个项添加到 /etc/fstab,那么它可能看起来象这样: tmpfs /var tmpfs size=32m 0 0
这将在 /var 上挂装一个新的 tmpfs 文件系统。
图形用户界面(GUI)选项
从用户的观点来看,图形用户界面(GUI)是系统的一个最至关重要的方面:用户通过 GUI 与系统进行交互。所以 GUI 应该易于使用并且非常可靠。但它还需要是有内存意识的,以便在内存受限的、微型嵌入式设备上可以无缝执行。所以,它应该是轻量级的,并且能够快速装入。
另一个要考虑的重要方面涉及许可证问题。一些 GUI 分发版具有允许免费使用的许可证,甚至在一些商业产品中也是如此。另一些许可证要求如果想将 GUI 合并入项目中则要支付版税。
最后,大多数开发人员可能会选择 XFree86,因为 XFree86 为他们提供了一个能使用他们喜欢的工具的熟悉环境。但是市场上较新的 GUI,象 Century Software 的 Microwindows(Nano-X)和 Trolltech 的 QT/Embedded,与 X 在嵌入式 Linux 的竞技舞台中展开了激烈竞争,这主要是因为它们占用很少的资源、执行的速度很快并且具有定制窗口构件的支持。
让我们看一看这些选项中的每一个。
Xfree86 4.X(带帧缓冲区支持的 X11R6.4)
XFree86 Project, Inc. 是一家生产 XFree86 的公司,该产品是一个可以免费重复分发、开放源码的 X Window 系统。X Window 系统(X11)为应用程序以图形方式进行显示提供了资源,并且它是 UNIX 和类 UNIX 的机器上最常用的窗口系统。它很小但很有效,它运行在为数众多的硬件上,它对网络透明并且有良好的文档说明。X11 为窗口管理、事件处理、同步和客户机间通信提供强大的功能 ― 并且大多数开发人员已经熟悉了它的 API。它具有对内核帧缓冲区的内置支持,并占用非常少的资源 ― 这非常有助于内存相对较少的设备。X 服务器支持 VGA 和非 VGA 图形卡,它对颜色深度 1、2、4、8、16 和 32 提供支持,并对渲染提供内置支持。最新的发行版是 XFree86 4.1.0。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页
《关于嵌入式设备上的Linux 系统开发》相关文章
- › 关于嵌入式设备上的Linux 系统开发
- 在百度中搜索相关文章:关于嵌入式设备上的Linux 系统开发
- 在谷歌中搜索相关文章:关于嵌入式设备上的Linux 系统开发
- 在soso中搜索相关文章:关于嵌入式设备上的Linux 系统开发
- 在搜狗中搜索相关文章:关于嵌入式设备上的Linux 系统开发