嵌入式开发环境介绍,嵌入式文件系统要求分析
嵌入式开发环境介绍
mClinux特点简介
1. 取消了内存管理单元MMU,具有完整的网络功能。
2. 完备的文件系统支持,采用了romfs文件系统作为根文件系统,相对于一般的ext2文件系统要求更少的空间。
3. 使用了flat可执行文件格式:elf格式有很大的文件头,flat文件对文件头和一些段信息做了简化。
4. 体积小,可移植性强。
图1 开发环境示意图
常见的基于mClinux的嵌入
式系统开发环境的构建方法
在嵌入式系统的开发过程中,通常都要建立交叉编译环境,图1为常见的嵌入 式系统开发环境示意图,基于以太网下的调试一般应将宿主机和用户板接入到局域网中,本文以mClinux +S3C4510B的开发环境为例进行说明。通常的做法是在宿主机上安装RedHat Linux操作系统,并同时安装针对ARM开发的工具链arm-elf-tools。这样,在宿主机上编辑和编译好的用户程序,就可以通过以太网,将编译 后的可执行文件下载到用户板来运行。下载方式主要有以下几种。
FTP方式
首先需要打开一个超级终端,设置好相应的通讯参数,再给系统上电,就可以在超级终端里看到mClinux的启动信息。这里指明宿主机的IP地址是:10.5.22.247,用户板的IP地址是:10.5.22.8,执行如下命令来配置用户板的IP:
# ifconfig eth0 10.5.22.8
eth0 指网络设备。需要注意的是,用户板的IP地址需和宿主机的IP地址在同一网段,否则难以正常的访问宿主机。
这时如果可以ping通宿主机,就可以通过FTP方式访问宿主机的网络资源了。
接下来选择用户程序的存放目录。应注意,如果用户板用的是romfs文件系统,那么只有少数几个目录可以访问(如tmp ,var等)。选好存放目录之后,就可以通过FTP方式访问宿主机了,键入如下命令:
# cd /tmp
# ftp 10.5.22.247
然后输入用户名和密码以确定是否具有访问权限,成功登陆之后,需要确定文件传送格式。FTP可以用binary和ascii两种方式来传送文件,这里选择的是binary方式。输入以下指令来获取文件:
# binary
# get filename
# bye
执行# bye后就可以退出FTP。这时可以键入ls命令来查看文件是否已经传到选定的目录下。接下来要做的是改变文件的权限,如果没有可执行权限,在用户板中就无法运行程序。
# chmod 755 filename
这里的参数"7"表示拥有读、写和执行的权限;"5"仅代表拥有读和执行的权限。完成以上配置后,就可以用如下命令执行用户程序了:
# 。/filename
NFS方式
使 用NFS (NetWork File System)方式可以使嵌入式应用程序的开发和调试变得更为方便,并在不同的机器、不同的操作系统间共享文件,因此,NFS在嵌入式开发中得到了广泛的 应用。目前,在mClinux-2.4-x版本下配置NFS相对比较困难,下面就配置问题进行详细说明。
服务器(Sever)端的设置
首先需要设置 Linux下的/etc/exports文档,它是NFS的主要设定文档。在Linux下的shell终端,进行如下操作:
# vim /etc/exports
将这个默认的空文件修改为只有如下一行内容:
/home/tmp *(rw,no_root_ squash)
这就表示在任何情况下,客户端都可以访问服务器端的/home/tmp目录。
接下来要在服务器端开启如下的两个进程:
1.开启NFS服务
# /etc/rc.d/init.d/nfs start
启动NFS服务: [ OK ]
StarTIng NFS quotas: [ OK ]
启动NFS 守护进程: [ OK ]
启动NFS mounted : [ OK ]
2.开启portmap服务
# /etc/rc.d/init.d/portmap start
配置完成后,可用如下办法简单测试一下NFS是否配置成功(注意在Linux下要将防火墙关闭):在宿主机上自己mount自己,看是否成功。例如,在宿主机/目录下执行:
mount 10.5.22.247:/root/ /home/zhang/mount
然后到/home/zhang/mount/目录下看是否可以列出/root/目录下的所有文件和目录。若可以,则说明NFS在服务器端的配置成功。
客户端(Client)的设置
相 对于Sever端的设置,Client端使用的是 mClinux, 设置起来相对复杂一些,需要对mClinux的内核重新编译,并进行相关配置。需要设置Customize Kernel SetTIngs 和 Customize Vender/User SeTIngs(NEW)两项。
1. 对Customize Kernel SetTIngs进行配置
[ * ] Customize Kernel Settings
进入File systems的设置,可以看到Network file systems---,将NFS File system support选中。
2.设置Customize Vender/User Setings(NEW)
[ * ] Customize Vender/User Setings(NEW)
在Customize Vend
- 什么是LED驱动时序?LCD背光驱动程序设计(04-26)
- LCD驱动的移植及其GUI仿真如何进行,LCD数模转换现实原理及其源代码(04-25)
- wince代码写入LCD驱动参考,数码产品怎样分别是不是LCD坏点(04-26)
- ARM微处理器助记符指令及其功能描述(04-30)
- 布线工程师如何充分“掌控”时钟信号?(02-21)
- FPGA组成、工作原理和开发流程(10-13)