6.1 编号
Module 5
6.2 目的
掌握cygwin下GNUARM工具链的安装,使用,调试
6.3 实验描述
6.3.1 安装GNUARM
6.3.1.1 实验编号
LAB1_MD5_1
6.3.1.2 步骤
查看D:/ESD2007/TOOLS目录中是否含有bu-2.15_gcc-3.4.3-c-c -java_nl-1.12.0_gi-6.1.exe文件,如果不存在,请咨询助教。
运行:
bu-2.15_gcc-3.4.3-c-c -java_nl-1.12.0_gi-6.1.exe
注意,不要装在Program File 下, 请装在d:\cygwin\usr\GNUARM下

6.3.1.3 验证
arm-elf-gcc
应该出现
no input files
否则,会发现打印很多错误信息,主要错误是 cygwin1.dll文件多重定义,解决的方法是在我的电脑中搜索cygwin1.dll文件,把x:\EDK\cygwin\bin与x:\cygwin\usr\GNUARM\bin文件夹下的cygwin1.dll文件改名为cygwin1.dll.bak, D:\cygwin\bin下的cygwin1.dll文件不变。 再次重新启动cygwin,输入命令 arm-elf-gcc检查是否成功。
6.3.1.4 实验报告
无
6.3.2 交叉编译
6.3.2.1 实验编号
LAB1_MD5_2
6.3.2.2 步骤
1.创建文件hello_arm.c实现hello world功能。
2. arm-elf-gcc –o hello_arm –g hello_arm.c
3.调试
arm-elf-insight
注意选择目标板为simulator

6.3.2.3 验证
可以跟踪调试,输出hello
6.3.2.4 实验报告
无
6.3.3 跨平台多文件链接编译
6.3.3.1 实验编号
LAB1_MD5_3
6.3.3.2 步骤
在实验LAB1_MD4_3的基础上, 通过改写makefile, 实现X86平台和ARM平台的分别编译
提示:
1. 在makefile中,添加CC=$(CROSS)gcc,并修改Makefile中的命令
2. make CROSS=arm-elf- 实现ARM编译
3. make 实现X86平台编译
6.3.3.3 验证
make
./hello.exe
make clean
make CROSS=arm-elf-
arm-elf-insight hello
6.3.3.4 实验报告
cvs ci makefile
cvs tag LAB1_MD5_3 makefile