实 验 报 告
( 2011 / 2012 学年 第 2 学期)
课程名称嵌入式系统B 实验名称熟悉Linux开发环境实验时间2012年6月14日指导单位通信与信息工程学院指导教师王诚
学生姓名班级学号学院(系)通信与信息工程学院专 业电子信息工程
实验名称熟悉Linux开发环境指导教师王诚实验类型验证试验实验学时2实验时间2012.6.14实验目的和要求
目的:通过该配套实验环节,巩固和加强对《嵌入式系统B》理论课的学习和培养实践动手能力。熟悉 Linux 开发环境,学会基于S3C2410 的Linux 开发环境的配置和使用。使用Linux 的armv4l-unknown-linux-gcc 编译,使用基于NFS 方式的下载调试,了解嵌入式开发的基本过程。
要求:学会集成环境的安装与开发。二、实验环境(实验设备)
硬件:UP-NETARM2410-S 嵌入式实验平台、PC 机Pentium 500 以上, 硬盘10G 以上。
软件:PC 机操作系统REDHAT LINUX 9.0+MINICOM+ARM-LINUX 开发环境三、实验原理及内容
实验内容:
使用Redhat Linux 9.0 操作系统环境,安装ARM-Linux 的开发库及编译器。创建一个新目录,并在其中编写hello.c 和Makefile 文件。学习在Linux 下的编程和编译过程,以及ARM 开发板的使用和开发环境的设置。下载已经编译好的文件到目标开发板上运行。
实验步骤:
首先建立超级终端,设置通信协议
1、建立工作目录
[root@zxt smile]# mkdir hello
[root@zxt smile]# cd hello
2、编写程序源代码
实际的hello.c 源代码:
#include
main()
{
printf(“hello world \n”);
}
用下面的命令来编写hello.c 的源代码,进入hello 目录使用vi 命令来编辑代码:
[root@zxt hello]# vi hello.c
按“i”或者“a”进入编辑模式,将上面的代码录入进去,完成后按Esc 键进入命令状态,再用命令“:wq”保存并退出。这样我们便在当前目录下建立了一个名为hello.c 的文件。
3、编写Makefile
用vi 来创建一个Makefile 文件并将代码录入其中
[root@zxt hello]# vi Makefile
Vi中编辑的Makefile文件如下:
CC= armv4l-unknown-linux-gcc
EXEC = hello
OBJS = hello.o
CFLAGS +=
LDFLAGS+= –static
all: $(EXEC)
$(EXEC): $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS)
clean:
-rm -f $(EXEC) *.elf *.gdb *.o
4、编译应用程序
在上面的步骤完成后,我们就可以在hello 目录下运行“make”来编译我们的程序了。如果进行了修改,重新编译则运行:
[root@zxt hello]# make clean
[root@zxt hello]# make
5、下载调试
在宿主PC 计算机上启动NFS 服务,并设置好共享的目录。在建立好NFS 共享目录以后,进入MINICOM 中建立开发板与宿主PC 机之间的通讯。
[root@zxt hello]# minicom
[/mnt/yaffs] mount -t nfs -o nolock 192.168.0.56:/arm2410s /host
成功挂接宿主机的arm2410s 目录后,在开发板上进入/host 目录便相应进入宿主机的/arm2410s 目录,建立一个NFS 共享文件夹/root/share,把编译生成的可执行文件复制到该文件夹下,并通过MINICOM 挂载到开发板上。
[root@zxt hello]# cp hello /root/share
[root@zxt hello]# minicom
[/mnt/yaffs] mount -t nfs -o nolock 192.168.0.56:/root/share /host
再进入/host 目录运行刚刚编译好的hello 程序,查看运行结果。
[/mnt/yaffs] cd /host
[/host] ./hello
hello world四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
本次实验,我首次接触了Linux操作系统,对其有了初步的认识,学会使