嵌入式开发工具使用.doc

上传人:b****1 文档编号:237258 上传时间:2022-10-07 格式:DOC 页数:4 大小:20KB
下载 相关 举报
嵌入式开发工具使用.doc_第1页
第1页 / 共4页
嵌入式开发工具使用.doc_第2页
第2页 / 共4页
嵌入式开发工具使用.doc_第3页
第3页 / 共4页
嵌入式开发工具使用.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

嵌入式开发工具使用.doc

《嵌入式开发工具使用.doc》由会员分享,可在线阅读,更多相关《嵌入式开发工具使用.doc(4页珍藏版)》请在冰豆网上搜索。

嵌入式开发工具使用.doc

南京邮电大学计算机学院《嵌入式系统与开发》实验报告

《嵌入式开发工具使用》

实验报告

学生姓名:

学号:

专业班级:

指导教师:

完成时间:

实验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-Tiny6410Linux开发指南.pdf文档1.3.5节】:

第一步,解压缩交叉编译器工具,命令为:

#cd/tmp

#tarxvzfarm-linux-gcc-4.5.1-v6-vfp-20101103.tgz–C/

____________________________________________________________________________,

arm-linux-gcc可执行文件位于目录

/root/gcc-gdb-make_exp___________________________________________。

第二步,修改PATH环境变量,将arm-linux-gcc可执行文件目录添加到PATH环境变量中,命令为

ExportPATH=/root/opt/FriendlyARM/toolschain/4.5.1/bin:

$PATH

____________________________________________________________。

第三步,执行arm-linux-gcc–v可以看到交叉编译器版本为_____gccversion__4.5.1__________。

5.2arm-linux-gcc编译工具使用

【参看相关视频文件及指导书】:

要求:

要求编写冒泡排序程序bubble.c及其头文件bubble.h和主程序main.c,各文件主要内容如下:

main.c中定义数组并赋值(数组元素个数和赋值内容可以自己定义),调用bubble.c中冒泡排序函数bubble(int*p,intn)进行排序,调用输出打印函数print(int*p,intn)进行输出。

bubble.c定义bubble(int*p,intn)和print(int*p,intn)函数,分别完成冒泡排序功能和数组输出功能。

bubble.h完成bubble.c中函数的声明。

第一步,在/opt/exp_2文件夹下按照上述要求编写源码;

第二步编译

(1)编译源码文件为可执行文件bubble,命令为:

gcc-obubblemain.cbubble.c

__________________________________________________________________________。

(2)假设在/opt/exp_2文件夹下新建子目录include,并将bubble.h移到该文件夹下,编译可执行文件bubble,命令为:

gcc-obubblemain.cbubble.c-I./include

__________________________________________________________________________。

(3)假如将bubble.c编译成动态库libbubble.so,具体命令为:

(4)

arm-linux-gcc–shared-fpic-olibbubble.sobubble.c–I./include

此时利用libbubble.so编译可执行文件bubble,具体命令为:

gcc-obubblemain.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=gcc

bubble:

$(OBJS)

$(CC)-o$@$(OBJS)

%.o:

%.c

$(CC)-g-c-o$@$<-I./include

clean:

rm$(OBJS)bubble

(2)使用make工具编译生成可执行文件命令为___make______________________;

(3)清除中间结果命令为________makeclean______________________________。

5.4假设按照我们提供的实验源码bubble.c和main.c生成可执行文件,执行结果为:

thesortedArrayis1234514128thesortedArrayis123510

____________________________________________________________________

发现执行结果并不符合我们的预期,使用gdb进行调试,列出具体步骤如下:

gdbbubble;

listbubble

list

bmain

Run

List

next

printa[0]

next

Printa[0]

Printa[1]

Printa[3]

Printa[4]

Next

Quit

bprint

bmain

Run

Next

Step

Next

Next

quit

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1