- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于嵌入式Linux系统应用程序开发
基于嵌入式Linux系统应用程序开发
[摘 要]嵌入式系统和Linux的有机结合,成为后Pc时代计算机最普遍的应用形式。由于嵌入式Linux具有天生秉承的优势,有越来越多的程序员投身于嵌入式linux系统应用程序的开发,本文结合开发实例介绍了在嵌入式linux系统上开发应用程序的过程。
[关键词]嵌入式系统inux 软件开发
嵌入式Linux由于代码开放性以及强大的网络功能,在中低端的嵌入式网络设备中应用起来,比起PSOS+,VxWorks等专用系统有许多优势,Linux甚至还支持蓝牙技术,这使得越来越多的企业和科研机构已经把目光转向了嵌入式Linux的开发和应用上。以下通过实例来介绍基于嵌入式Linux的应用软件的开发过程:
一、宿主机配置
绝大多数的linux软件开发都是以native方式进行的,即本机(Host)开发、调试、本机运行的方式。这种方式通常不适合嵌入式系统软件开发。通常的嵌入式系统的软件开发采用采用主一从模式。交叉编译调试环境建立在宿主机上,对应的开发板叫做目标板,通过串行口或以太网口,使目标板和宿主机相连。宿主机是INTEL处理器,而目标板上,则是ARM、Motorola PowerPC、ColdFire等等,GNU编译器能提供这样的功能,在编译编译器时可以选择开发所需的宿主机和目标机从而建立开发环境,所以宿主机是必不可少的。
笔者建议宿主机采用REDHAT9.0,当然REDHAT7.2/7.3的系统也都是可以用的,但鉴于市面上目前能买到的都是REDHAT9.0,所以建议采用REDHAT9.0,安装过程可查阅相关手册。
宿主机配置中一个常见的问题就是NFS的配置,这里介绍一种较为直接简单的方法:首先在REDHAT LINUX PC机上执行setup,弹出菜单界面后,选中:System services,回车进入系统服务选项菜单,在其中选中[*],然后退出setup界面返回到命令提示符下。
vim /etc/exports
将这个默认的空文件修改为只有如下一行内容:
/(rw)
然后保存退出(:wq)。然后执行如下命令:
/etc/re.d/init.d/afs re~tarl
Shutting down NFS mountd:[0K]
Shutting down NFS daemon:[0K]
Shutting down NFS quotas:[0K]
Shutting down NFS services:[0K]
Starting NFS servicca:[0K]
Starting NFS quotas:[0K]
Starting NFS daemon:[0K]
Starting NFS mountd:[0K]
注意,这种方法有个弊端,就是NFS不是每次都自动启动的,即无法像linuxconf命令那样设置成Automatic启动方式,所以每次重启都要执行一下:
/etc/re.d/init.d/nfa reatarl
配置完成后,可用如下办法简单测试一下NFS是否配置好了,在宿主机上自己mount自己,看是否成功就可以判断NFS是否配好了。例如在宿主机/目录下执行:
mount 192.168.0.2:/ /rant
然后到/mnt/目录下看是否可以列出/目录下的所有文件和目录,可以则说明mount成功,NFS配置生效。
二、应用软件开发模式
嵌入式Linux应用程序开发主要有两种模式。
(1)先在宿主机上调试通过后,再移植到目标板上。这种方法需要跨越嵌入式系统开发中的仿真工具(ICE)的障碍,移植工作相对较复杂,在此不作阐述,请查相关书籍。
(2)直接在目标板上开发,这是一种通用的开发模式。采用这种方式时将宿主机与目标板通过串口或以太网口连接,在宿主机上运行minicom作为目标板的显示终端,mount上宿主机硬盘直接在目标板上调试应用程序。目标板上程序的调试有两种方法。一种是程序的执行信息通过minicom来进行显示。这是最常用的一种调试手段。另一种是通过log记录文件。例如使用syslog将应用程序运行过程中间信息全部记录 /var/log/sys.1og下。
三、应用软件开发实例
这里用一个简单的程序来说明如何进行应用程序的编写和调试。首先宿主机上编写应用程序(这里选用hello.c程序)并且编译通过,makefile文件的编写如下:
EXEC=hello
0BJS= hello.o
FLTFLAGS= - s 8 192
ALL:S(EXEC)
S(EXEC):S(OBJ
文档评论(0)