嵌入式开发工具使用_第1页
嵌入式开发工具使用_第2页
嵌入式开发工具使用_第3页
嵌入式开发工具使用_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京邮电大学计算机学院嵌入式系统与开发实验报告嵌入式开发工具使用实验报告 学生姓名: 学 号: 专业班级: 指导教师: 完成时间: 实验2 嵌入式开发工具使用实验一.实验目的了解嵌入式开发工具套件组成,掌握开发工具安装,熟练运用gcc各命令选项,熟练编写Makefile和使用make工具,掌握gdb各命令用于应用程序调试。二.实验内容实验2.1 arm-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-.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 v可以看到交叉编译器版本为_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 I./include此时利用libbubble.so编译可执行文件bubble,具体命令为:gcc -o bubble main.c -lbubble -L./ -l./include_。思考:如果将bubble拷贝到开发板上,执行是否成功?怎样才能成功?(4)可执行程序bubble生成过程中,分别使用-O1/-O2/-O3进行编译,生成的可执行文件名分别为bublle1 、bubble2和bubble3,观察这几个文件的大小分别为_9053 9053 9053_字节。如果用-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=gcc bubble:$(OBJS)$(CC) -o $ $(OBJS)%.o:%.c$(CC) -g -c -o $ $ -I./include clean:rm $(OBJS) bubble(2)使用make工具编译生成可执行文件命令为_make_;(3)清除中间结果命令为_make clean_。5.4 假设按照我们提供的实验源码bubble.c和main.c生成可执行文件,执行结果为:the sorted Array is the sorted Array is 1 2 3 5 10 _发现执行结果并不符合我们的预期,使用gdb进行调试,列出具体步骤如下:gdb bubble;list bubble

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论