嵌入式开发工具使用.docxVIP

  • 1
  • 0
  • 约2.41千字
  • 约 3页
  • 2023-09-05 发布于湖北
  • 举报
《嵌入式开发工具使用》 实验报告 一.实验目的 学生姓名: 学 号 : 专业班级: 指导教师: 完成时间: 实验 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 开发环境。 五.实验步骤 交叉编译工具配置及编译 步骤【参看 04- Tiny6410 Linux 开发指南.pdf 文档 1.3.5 节】: 第一步,解压缩交叉编译器工具,命令为: #cd /tmp #tar xvzf arm-linux-gcc-4.5.1-v6-vfptgz –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 。 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 文件夹下按照上述要求编写源码; 第二步 编译 编译源码文件为可执行文件 bubble,命令为: gcc -o bubble main.c bubble.c 。 假设在/opt/exp_2 文件夹下新建子目录 include,并将 bubble.h 移到该文件夹下, 编译可执行文件 bubble,命令为: gcc -o bubble main.c bubble.c -I./include 。 假如将 bubble.c 编译成动态库 libbubble.so,具体命令为: 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 拷贝到开发板上,执行是否成功?怎样才能成功? 可执行程序 bubble 生成过程中,分别使用-O1/-O2/-O3 进行编译,生成的可执行文件名分别为 bublle1 、bubble2 和 bubble3 , 观察这几个文件的大小分别为 9053 9053 9053 字 节 。 如 果 用 -g 命 令 选 项 生 成 可 执 行 文 件 bubble4 , 则 字 节 大 小 为 10451 字节。 思考:为何这几个可执行文件大小有差异 -g 比其他的大,因为包含了编译程序。 -O1 与-O2 与 O3 因为程序较小,所以差距不大。 编写 Makefile 和使用 make 工具 按照 5.2 要求,编写 Makefile 文件,要求能够完成源码文件编译和中间文件清除。 Makefile 如下SRCS:=$(wildcard *.c) OBJS:=$(patsubst %.c,%.o,$(SRCS)) CC=gcc bubble:$(OBJS) $(CC) -o $@ $(OBJS) %.o:%.c $(CC) -g -c -o $@

文档评论(0)

1亿VIP精品文档

相关文档