南邮嵌入式系统B实验报告

上传人:飞*** 文档编号:35895219 上传时间:2018-03-22 格式:DOC 页数:21 大小:1.20MB
返回 下载 相关 举报
南邮嵌入式系统B实验报告_第1页
第1页 / 共21页
南邮嵌入式系统B实验报告_第2页
第2页 / 共21页
南邮嵌入式系统B实验报告_第3页
第3页 / 共21页
南邮嵌入式系统B实验报告_第4页
第4页 / 共21页
南邮嵌入式系统B实验报告_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《南邮嵌入式系统B实验报告》由会员分享,可在线阅读,更多相关《南邮嵌入式系统B实验报告(21页珍藏版)》请在金锄头文库上搜索。

1、南京邮电大学通信与信息工程学院实实 验验 报报 告告实验名称: 基于 ADS 开发环境的程序设计 嵌入式 Linux 交叉开发环境的建立 嵌入式 Linux 环境下的程序设计 课程名称 嵌入式系统 B 班级学号 姓 名 开课时间 2013/2014 学年 第 2 学期 实验一 基于 ADS 开发环境的程序设计一、 实验目的1、学习 ADS 开发环境的使用;2、学习和掌握 ADS 环境下的汇编语言及 C 语言程序设计;3、学习和掌握汇编语言及 C 语言的混合编程方法。二、 实验内容1、编写和调试汇编语言程序;2、编写和调试 C 语言程序;3、编写和调试汇编语言及 C 语言的混合程序;4、编写程序

2、测试多寄存器传送指令的用法。三、 实验原理ADS 全称为 ARM Developer Suite,是 ARM 公司推出的新一代 ARM 集成开发工具。它用于无操作系统的 ARM 系统开发,是对裸机(可以理解成一个高级单片机)的开发。ADS 有极佳的测试环境和良好的侦错功能,它可使硬件开发者更深入地从底层去理解 ARM 处理器的工作原理和操作方法,为日后自行设计打基础,为 BootLoader 的编写和调试打基础。其中的开发环境由 CodeWarrior IDE 和 AXD IDE 组成,前者用于提供一个简单通用的图形化用户界面用于管理软件开发项目,后者 AXD 通常用于调试,默认打开的目标是A

3、RMulator,这是调试时最常用的一种调试工具。这部分开发过程分成以下几个步骤:1、在 CodeWorrior IDE 下新建一个 Project;2、再新建一个 Files 用于写代码,后缀可以区分是 C 代码或者是汇编代码;3、将编好的代码保存并添加进项目,并进行必要的 DebugRel Settings 设置;4、用 make 命令对项目进行编译和链接;5、将生成的映像文件(工程名.axf)用 AXD IDE 打开,进行调试。四、 实验过程与关键代码分析实验过程:1、新建名为 q11010320 的项目;2、编写汇编程序并添加至项目,汇编程序编了一个阶乘的程序,将在后面进行汇编语言和

4、C 语言混合编程中用到;3、编写 C 语言程序并添加至项目,程序通过调用汇编程序实现输出 1!+2!+3!+.+10!的结果,见下截图;4、进行 DebugRel Settings 的设置,并使用 make 对项目进行编译和链接;5、用 AXD 打开 make 生成的映像文件(q11010320.axf) ,进行调试并且得出正确结果,见下图。关键代码:C 中:extern int factorial(int n);int i,sum=0; for(i=1;iint main() char name20;scanf(“%s”,name);printf(“hello %s”,name);retur

5、n 0;3、编写 Makefile要使上面的 hello.c 程序能够运行,必须要编写一个Makefile 文件,Makefile 文件定义了一系列的规则,它指明了哪些文件需要编译,哪些文件需要先编译,哪些文件需要重新编译等等更为复杂的命令。使用它带来的好处就是自动编译,只需要敲一个“make”命令整个工程就可以实现自动编译。Makefile 源程序:CC= armv4l-unknown-linux-gccEXEC = helloOBJS = hello.oCFLAGS +=LDFLAGS+= staticall: $(EXEC)$(EXEC): $(OBJS)$(CC) $(LDFLAGS)

6、 -o $ $(OBJS)clean:-rm -f $(EXEC) *.elf *.gdb *.oMakefile 文件的几个主要部分:CC 指明编译器EXEC 表示编译后生成的执行文件名称OBJS 目标文件列表CFLAGS 编译参数LDFLAGS 连接参数all: 编译主入口clean: 清除编译结果注:“$(CC) $(LDFLAGS) -o $ $(OBJS)”和“-rm -f $(EXEC) *.elf *.gdb *.o”前空白由一个 Tab 制表符生成,不能单纯由空格来代替。与上面编写 hello.c 的过程类似,用 vi 来创建一个 Makefile 文件并将代码录入其中。roo

7、tlocalhost hello# vi Makefile4、编译应用程序在上面的步骤完成后,在 hello 目录下运行“make”来编译程序。如果进行了修改,重新编译则运行:rootlocalhost hello# make clean/编译应用程序rootlocalhost hello# make/下载调试注意:编译、修改程序都是在宿主机(本地 PC 机)上进行,不能在超级终端下进行。5、下载调试在宿主 PC 计算机上启动 NFS 服务,并设置好共享的目录,(这里将刚生成的根目录/arm2410cl 作为共享目录)具体配置参照前面第一章第四节中关于嵌入式 Linux 环境开发环境的建立。在

8、建立好 NFS 共享目录以后,就可以进入超级终端中建立开发板与宿主 PC 机之间的通讯了。/mnt/yaffs mount -t nfs -o nolock 192.168.0.56:/arm2410cl /host /超级终端中执行。把编译生成的可执行文件复制到该文件夹下,并通过超级终端挂载到开发板上。rootlocalhost hello# cp hello /root/share /虚拟机中/mnt/yaffs mount -t nfs -o nolock 192.168.0.56:/root/share /host /超级终端中再进入/host 目录运行刚刚编译好的 hello 程序,

9、查看运行结果。/mnt/yaffs cd /host /超级终端中/host ./hellohello world(1)在 PC 计算机上启动 NFS 服务,并设置好共享的目录。启动 Red Hat Linux 点击“主菜单”-选择“系统设置”-“服务器设置”-“NFS 服务器”-“增加”-“基本”下:点击“浏览”选择“/”下的“arm2410cl/” ;“确定” ;“主机:192.168.0.* ” ;“基本权限”选择“读/写” ;“确定” 。-“常规选项”下:选择:“允许来自高于 1024 的端口的连接” ,其他不选;确定。(2)在建立好 NFS 共享目录以后,进入 minicom 中建立

10、开发板与宿主 PC 机之间的通讯新建终端rootlocalhost root# minicom/服务器新建终端rootlocalhost root#ifconfig eth0 192.168.0.10 /设置主机地址rootlocalhost root#ifconfig /查看地址在服务器下:/mnt/yaffs mount -t nfs o nolock 192.168.0.56:/arm2410cl /var6、实验截图7、测试结果测试挂载成功,用 mplayer xyz.avi 命令播放视频rootlocalhost /#cd /mnt/yaffs/mmrootlocalhost /#mplayer xyz.avi五、实验小结通过本次实验,熟悉了 Linux 开发环境,学会了基于S3C2410 的 Linux 开发环境的配置和使用。实验中创建了一个新目录,并在其中编写 hello.c 和 Makefile 文件。学会了在Linux 下的编程和编译过程,ARM 开发板的使用和开发环境的设置,以及下载已经编译好的文件到目标开发板上运行。同时还学会了使用 Linux 的 armv4l-linux-gcc 编译和基于 NFS 方式的下载调试,整体上对嵌入式开发的基本过程有了一个了解,对学习有很大帮助。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号