嵌入式系统设计(实验一).ppt
《嵌入式系统设计(实验一).ppt》由会员分享,可在线阅读,更多相关《嵌入式系统设计(实验一).ppt(40页珍藏版)》请在三一办公上搜索。
1、嵌入式系统设计(实验一),实验内容,1、熟悉并构建开发软件环境(安装、使用linux系统、交叉编译工具、网络环境配置)2、熟悉开发过程(小程序的编写、编译、调试及运行)3、linux 操作系统的烧写与移植,1、安装、使用linux系统-开发软件包安装,加载光驱:Mount/dev/cdrom/mnt/cdromMount t iso9660/dev/hdb/mnt/cdrom加载成功之后,依次完成如下命令,进行软件包安装:cd/mnt/cdrom/cd 2410s/cd linux v7.0/./install.sh,1、安装、使用linux系统-开发环境配置(IP地址、防火墙、NFS服务),
2、宿主机IP:PC机:192.168.0.*(网段不冲突即可)开发板(默认),主菜单安全级别“无防火墙”,1、安装、使用linux系统-开发环境配置(IP地址、防火墙、NFS服务),1、主菜单系统设置服务器设置NFS服务器“增加”,安装完成后,mount本机测试:mount 192.168.0.121:/arm2410s/mnt,1、安装、使用linux系统-开发环境配置(配置minicom),右键新建终端minicomCtrl+A Z O 进入端口配置界面ASerial Device:/dev/ttyS0BBPS/par/bits:/115200 8N1,实验内容,1、熟悉并构建开发软件环境(
3、安装、使用linux系统、交叉编译工具、网络环境配置)2、熟悉开发过程(小程序的编写、编译、调试及运行)3、linux 操作系统的烧写与移植(2410-s),二、熟悉并构建开发软件环境-2、建立工作目录,在linux中右键选择“新建终端”新建立文件夹/hello,2、编写程序源代码#include void main()printf(hello world!);,二、熟悉并构建开发软件环境-源代码编写,可以用下面的命令来编写源代码,进入/hello文件夹后,使用下面命令来编辑代码:vi hello.c如右图:,按“i”或者“a”进入编辑模式,将上面的代码录进去完成后按Esc键进入命令状态,再用
4、“:wq”保存并退出,这样便在当前的目录下建立了一个名为hello.c的文件。,二、熟悉并构建开发软件环境-3、编写Makefile,二、熟悉并构建开发软件环境-3、编写Makefile,CC=armv4l-unknown-linux-gcc EXEC=hello OBJS=hello.o CFLAGS+=LDFLAGS+=-static all:$(EXEC)$(EXEC):$(OBJS)$(CC)$(LDFLAGS)-o$(OBJS)clean:-rm-f$(EXEC)*.elf*.gdb*.o,二、熟悉并构建开发软件环境-4、编译应用程序,上述步骤完成之后,可以在hello目录下编译程序
5、:root root#make clean root root#make,二、熟悉并构建开发软件环境-5、运行,使用mount命令将程序挂载到开发板:root root#minicommnt/yaffs mount t nfs o nolock 192.168.0.121:/arm2410s/host/挂载到开发板的/host文件夹/mnt/yaffs cd/host/host./helloHello world,二、熟悉并构建开发软件环境-gcc简介,基本语法 gcc options filenames说明:在gcc后面可以有多个编译选项,同时进行多个编译操作。很多的gcc选项包括一个以上的
6、字符。因此你必须为每个选项指定各自的连字符。例如,下面的两个命令是不同的:gcc-p-g test1.c gcc-pg test1.c当你不用任何选项编译一个程序时,gcc将会建立(假定编译成功)一个名为a.out的可执行文件。,二、熟悉并构建开发软件环境-gcc简介,-o选项 你能用-o 编译选项来为将产生的可执行文件指定一个文件名来代替 a.out。例:gcc o count count.c-c选项:告诉gcc仅把源代码编译为目标代码而跳过汇编和连接的步骤。这个选项使用的非常频繁,因为它使得编译多个C程序时速度更快并且更易于管理。缺省时gcc建立的目标代码文件有一个.o的扩展名。例:gcc
7、 c test2.c-static 禁止使用共享连接。,二、熟悉并构建开发软件环境-gcc简介,-E 只运行 C 预编译器。-S 编译选项告诉 gcc 在为 C 代码产生了汇编语言文件后停止编译。-shared 生成共享目标文件。通常用在建立共享库时。-static 禁止使用共享连接。,二、熟悉并构建开发软件环境-gcc简介,在gcc中用开关-Wall控制警告信息,使用示例命令如下:gcc Wall-o test3_1 test3_1.c-w 不生成任何警告信息。,二、熟悉并构建开发软件环境-gcc简介,问题:有多个源文件时,如何生成一个可执行文件?方法1:gcc Wall o mytest
8、test1.c test2.c test3.c方法2:gcc-Wall-c test1.cgcc-Wall c test2.cgcc-Wall c test3.c gcc o mytest test1.o test2.o test3.o,二、熟悉并构建开发软件环境-make与Makefile,在大型的开发项目中,人们通常利用 make 工具来自动完成编译工作。这些工作包括:如果仅修改了某几个源文件,则只重新编译这几个源文件;如果某个头文件被修改了,则重新编译所有包含该头文件的源文件。利用这种自动编译可大大简化开发工作,避免不必要的重新编译。实际上,make 工具通过一个称为 makefile
9、的文件来完成并自动维护编译工作。makefile 需要按照某种语法进行编写,其中说明了如何编译各个源文件并连接生成可执行文件,并定义了源文件之间的依赖关系。当修改了其中某个源文件时,如果其他源文件依赖于该文件,则也要重新编译所有依赖该文件的源文件。,二、熟悉并构建开发软件环境-make与Makefile,Makefile规则的一般形式如下:target:dependency dependency(tab)一个Makefile文件主要含有一系列的规则,每条规则包含以下内容。一个目标(target),即make最终需要创建的文件,如可执行文件和目标文件;目标也可以是要执行的动作,如“clean”。
10、一个或多个依赖文件(dependency)列表,通常是编译目标文件所需要的其他文件。一系列命今(command),是make执行的动作,通常是把指定的相关文件编译成目标文件的编译命令,每个命令占一行,且每个命令行的起始字符必须为TAB字符。除非特别指定,否则make的工作目录就是当前目录。target是需要创建的二进制文件或目标文件,dependency是在创建target时需要用到的一个或多个文件的列表,命令序列是创建target文件所需要执行的步骤,比如编译命令。,二、熟悉并构建开发软件环境-make与Makefile(1/3),#以#开头的为注释行test:prog.o code.ogc
11、c o test prog.o code.oprog.o:prog.c prog.h code.hgcc c prog.c o prog.ocode.o:code.c code.hgcc c code.c o code.oclean:rm f*.o 上面的Makefile文件中共定义了四个目标:test、prog.o、code.o和clean。目标从每行的最左边开始写,后面跟一个冒号(:),如果有与这个目标有依赖性的其他目标或文件,把它们列在冒号后面,并以空格隔开。然后另起一行开始写实现这个目标的一组命令。在Makefile中,可使用续行号()将一个单独的命令行延续成几行。但要注意在续行号()
12、后面不能跟任何字符(包括空格和键),二、熟悉并构建开发软件环境-make与Makefile(2/3),一般情况下,调用make命令可输入:#make targettarget是Makefile文件中定义的目标之一,如果省略target,make就将生成Makefile文件中定义的第一个目标。对于上面Makefile的例子,单独的一个“make”命令等价于:#make test因为test是Makefile文件中定义的第一个目标,make首先将其读入,然后从第一行开始执行,把第一个目标test作为它的最终目标,所有后面的目标的更新都会影响到test的更新。第一条规则说明只要文件test的时间戳比
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 设计 实验
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6569805.html