资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
嵌入式开发工具使用实验报告学生姓名:学 号:专业班级:指导教师:完成时间:实验 2 嵌入式开发工具使用实验一.实验目的了解嵌入式开发工具套件组成,掌握开发工具安装,熟练运用 gcc 各命令选项,熟练编写 Makefile 和使用 make 工具,掌握gdb 各命令用于应用程序调试。二.实验内容实验2.1arm-linux-gcc安装实验2.2编译工具 gcc使用实验 2.3 编写 Makefile 和使用 make 编译实验2.4使用gdb 调试应用程序实验2.5使用code:blocks 进行图形化编程三 .预备知识Linux 使用等四 .实验设备及工具(包括软件调试工具)硬件: ARM 嵌入式开发平台、 PC 机 Pentium100 以上、串口线。软件: WinXP 或 UBUNTU 开发环境。五.实验步骤5.1 交叉编译工具配置及编译步骤【参看04- Tiny6410 Linux 开发指南 .pdf 文档 1.3.5 节】:第一步,解压缩交叉编译器工具,命令为:#cd /tmp#tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz-C / ,arm-linux-gcc 可执行文件位于目录/root/gcc-gdb-make_exp。第二步,修改PATH 环境变量,将arm-linux-gcc 可执行文件目录添加到 PATH 环境变量中,命令为Export PATH=/root/opt/FriendlyARM/toolschain/4.5.1/bin:$PATH第三步,执行arm-linux-gcc z可以看到交叉编译器版本为 gcc version_4.5.1。5.2 arm-linux-gcc 编译工具使用【参看相关视频文件及指导书】:要求:要求编写冒泡排序程序bubble.c 及其头文件bubble.h 和主程序 main.c ,各文件主要内容如下:main.c 中定义数组并赋值(数组元素个数和赋值内容可以自己定义),调用 bubble.c中冒泡排序函数bubble(int *p,int n) 进行排序,调用输出打印函数print(int *p,int n) 进行输出。bubble.c定义bubble(int *p,int n)和print(int* p ,int n)函数,分别完成冒泡排序功能和数组输出功能。bubble.h 完成 bubble.c 中函数的声明。第一步,在/opt/exp_2 文件夹下按照上述要求编写源码;第二步 编译( 1)编译源码文件为可执行文件 bubble ,命令为:gcc -o bubble main.c bubble.c。(2)假设在/opt/exp_2 文件夹下新建子目录 include ,并将 bubble.h 移到该文件夹下,编译可执行文件 bubble ,命令为:gcc -o bubble main.c bubble.c -I./include。( 3)假如将bubble.c 编译成动态库libbubble.so ,具体命令为 :( 4)arm-linux-gcc-shared-fpic -o libbubble.so bubble.c T./include此时利用 libbubble.so 编译可执行文件 bubble ,具体命令为:gcc -o bubble main.c -lbubble -L./ -l./include思考:如果将bubble 拷贝到开发板上,执行是否成功?怎样才能成功?(4)可执行程序bubble 生成过程中,分别使用 -O1/-O2/-O3 进行编译,生成的可执行文件名分别为 bublle1 、 bubble2 和 bubble3 ,观察这几个文件的大小分别为905390539053字节。如果用_-g 命令选项生成可执行文件bubble4 ,则字节大小为 _10451字节。思考:为何这几个可执行文件大小有差异-g 比其他的大,因为包含了编译程序。-O1 与 -O2 与 O3 因为程序较小,所以差距不大。5.3 编写 Makefile 和使用 make 工具按照 5.2 要求,编写 Makefile 文件,要求能够完成源码文件编译和中间文件清 除。( 1) Makefile 如下 SRCS:=$(wildcard *.c) OBJS:=$(patsubst %.c,%.o,$(SRCS)CC=gccbubble:$(OBJS)$(CC) -o $ $(OBJS)%.o:%.c$(CC) -g -c -o $ -I./includeclean:rm $(OBJS) bubble( 2)使用make 工具编译生成可执行文件命令为_make;( 3)清除中间结果命令为 make clean。5.4 假设按照我们提供的实验源码bubble.c 和 main.c 生成可执行文件,执行结果为:the sorted Array is 1234514128 the sorted Array is 1 2 3 5 10发现执行结果并不符合我们的预期,使用 gdb 进行调试,列出具体步骤如下: gdb bubble;list bubble listb mainRunList next print a0 nextPrint a0Print a1Print a3Print a4 NextQuit b print b mainRun Next Step Next Next quitWelcome ToDownload !欢迎您的下载,资料仅供参考!
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号