实验一嵌入式系统设计 - 图文(2)
(2)配置/etc/export
NFS允许挂载的目录及权限在文件/etc/export中进行了定义。
输入命令:gedit /etc/exports 回车出现下图所示界面,在文件末尾添加 /opt/nfs *(rw,sync,no_root_squash)命令。 如下图所示,进行保存即可:
(3)重启NFS
此时可以运行以下命令来显示一下共享出来的目录: #showmount -e
或者可以使用以下命令把它挂载到本地磁盘中,例如将/opt/nfs挂载到/mnt下: #sudo mount -t nfs localhost:/opt/nfs /mnt
运行df命令看是否挂载成功。查看后可以使用以下命令卸载: #sudo umount /mnt
4、常用Linux命令
首先用mkdir建立目录,用rmdir删除目录,用touch新建文件,用rm删除文件,用cp复制文件等等,相应命令及步骤如下列图所示:
5、应用程序开发 (1)建立工作目录
如下图所示输入命令:
如下图所示用命令编写hellocxb.c 源代码。
(3)编写makefile
像建立hellocxb.c文件一样建立Makefile文件,操作步骤如下列图所示:
编辑完程序保存即可。 (4)编译应用程序
在上面的步骤完成之后,就可以在hellocxb目录下运行“make”来编译我们的程序了。
五、实验小结
本次实验是嵌入式系统的第一个实验——嵌入式开发环境搭建实验。首先就是Ubuntu操作系统的安装,虚拟机的安装比较容易,就是傻瓜式的安装,在虚拟机里安装Ubuntu就耗费了很多时间了,老是卡在一个点不动,老半天才动一点,不过庆幸的是最后还是装好了,毕竟这是基础。因一些应用程序均需要交叉编译工具链,故还搭建了交叉编译环境。此外通过命令配置了TFTP服务以及NFC服务。在熟悉Linux的过程中,我们组在终端下试了一些Linux的基本指令,如显示目录内容的ls,建立目录的mkdir,返回上一级目录的cd..等等。从中感受到Linux的强大,用简简单单的指令就能做出我们想要的效果,实在太神奇了。在后面的应用程序开发中更是对vi和getit文本编辑器的区别以及程序能够运行所需的Makefile文件有了大致了解,总之这次的实验让我们都获益良多,对嵌入式实验也有了初步的了解,更对以后的接口实验打了基础。 六、思考题
1、Makefile是如何工作的?其中宏定义分别是什么意思?
makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。
Makefile文件作为一种描述文档一般需要包含以下内容: ①宏定义
②源文件之间的相互依赖关系 ③可执行的命令 2、Make和Makefile之间的关系?
make一般主要被用来管理一个软件程序项目(用来完成大型软件的自动编译),但是它不仅仅可以用来管理软件程序,还可以做很多其他的事情,比如文件同步等。
makefile是被make使用的“描述”文件,它描述要被make所管理的项目中的文件间的关系(比如对于一个C程序项目来说,.h文件和.c文件之间的关系,.c和.o之间的关系等),和如何维护这个项目的状态(比如对于一个程序项目来说,就有编译可执行文件,产生文档,清除所有除源代码文件之外的文件等).
3、GCC编译器的常用参数有哪些?它们的功能分别是什么?
(1)gcc -E source_file.c
-E,只执行到预编译。直接输出预编译结果。 (2)gcc -S source_file.c
-S,只执行到源代码到汇编代码的转换,输出汇编代码。 (3)gcc -c source_file.c
-c,只执行到编译,输出目标文件。
(4)gcc (-E/S/c/) source_file.c -o output_filename
-o, 指定输出文件名,可以配合以上三种标签使用。
-o 参数可以被省略。这种情况下编译器将使用以下默认名称输出: -E:预编译结果将被输出到标准输出端口(通常是显示器) -S:生成名为source_file.s的汇编代码 -c:生成名为source_file.o的目标文件。
无标签情况:生成名为a.out的可执行文件。 (5)gcc -g source_file.c
-g,生成供调试用的可执行文件,可以在gdb中运行。由于文件中包含了调试信息因此运行效率很低,且文件也大不少。
这里可以用strip命令重新将文件中debug信息删除。这是会发现生成的文件甚至比正 常编译的输出更小了,这是因为strip把原先正常编译中的一些额外信息(如函数名之 类)也删除了。用法为 strip a.out
(6)gcc -s source_file.c
-s, 直接生成与运用strip同样效果的可执行文件(删除了所有符号信息)。 (7)gcc -O source_file.c
-O(大写的字母O),编译器对代码进行自动优化编译,输出效率更高的可执行文件。
-O 后面还可以跟上数字指定优化级别,如: gcc -O2 source_file.c
数字越大,越加优化。但是通常情况下,自动的东西都不是太聪明,太大的优化级别可能会使生成的文件产生一系列的bug。一般可选择2;3会有一定风险。 (8)gcc -Wall source_file.c
-W,在编译中开启一些额外的警告(warning)信息。 -Wall,将所有的警告信息全开。
(9)gcc source_file.c -L/path/to/lib -lxxx -I/path/to/include
-l, 指定所使用到的函数库,本例中链接器会尝试链接名为libxxx.a的函数库。 -L,指定函数库所在的文件夹,本例中链接器会尝试搜索/path/to/lib文件夹。
-I, 指定头文件所在的文件夹,本例中预编译器会尝试搜索/path/to/include文件夹。 4、嵌入式系统的定义和特点?
(1)定义:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,
适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 (2)特点:专用性、可裁剪(资源有限)、可靠性、实时性、低功耗。 5、嵌入式系统硬件和软件有哪些部分组成?
(1)硬件:微处理器、外围电路和外设。 (2)软件:设备驱动接口(DDI)、实时操作系统(RTOS)、可编程应用接口(API)、应用程序。
…… 此处隐藏:1167字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




