嵌入式Linux系统开发教程实验报告Word文件下载.docx
- 文档编号:13329738
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:36
- 大小:2.41MB
嵌入式Linux系统开发教程实验报告Word文件下载.docx
《嵌入式Linux系统开发教程实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《嵌入式Linux系统开发教程实验报告Word文件下载.docx(36页珍藏版)》请在冰豆网上搜索。
硬件:
UP-TECHS2410/P270DVP嵌入式实验平台、PC机Pentium500以上,硬盘10G以上。
软件:
PC机操作系统REDHATLINUX9.0+超级终端(或X-shell)+AMR-LINUX开发环境。
四、实验步骤
1、建立工作目录
[rootlocalhostroot]#mkdirhello
[rootlocalhostroot]#cdhello
2、编写程序源代码
我们可以是用下面的命令来编写hello.c的源代码,进入hello目录使用vi命令来编辑代码:
[rootlocalhosthello]#vihello.c
按“i”或者“a”进入编辑模式,将上面的代码录入进去,完成后按Esc键进入命令状态,再用命令“:
wq!
”保存并退出。
这样我们便在当前目录下建立了一个名为hello.c的文件。
hello.c源程序:
#include<
stdio.h>
intmain(){
charname[20];
scanf(“%s”,name);
printf(“hello%s”,name);
return0;
}
3、编写Makefile
要使上面的hello.c程序能够运行,我们必须要编写一个Makefile文件,Makefile文件定义了一系列的规则,它指明了哪些文件需要编译,哪些文件需要先编译,哪些文件需要重新编译等等更为复杂的命令。
使用它带来的好处就是自动编译,你只需要敲一个“make”命令整个工程就可以实现自动编译。
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
下面我们来简单介绍这个Makefile文件的几个主要部分:
CC指明编译器
EXEC表示编译后生成的执行文件名称
OBJS目标文件列表
CFLAGS编译参数
LDFLAGS连接参数
编译主入口
clean:
清除编译结果
注意:
“$(CC)$(LDFLAGS)-o$$(OBJS)”和“-rm-f$(EXEC)*.elf*.gdb*.o”前空白由一个Tab制表符生成,不能单纯由空格来代替。
与上面编写hello.c的过程类似,用vi来创建一个Makefile文件并将代码录入其中。
[rootlocalhosthello]#viMakefile
4、编译应用程序
在上面的步骤完成后,我们就可以在hello目录下运行“make”来编译我们的程序了。
如果进行了修改,重新编译则运行:
[rootlocalhosthello]#makeclean//编译应用程序
[rootlocalhosthello]#make//下载调试
编译、修改程序都是在宿主机(本地PC机)上进行,不能在超级终端下进行。
5、下载调试
在宿主PC计算机上启动NFS服务,并设置好共享的目录,(这里将刚生成的根目录/arm2410cl作为共享目录,以下实验同理)具体配置请参照前面第一章第四节中关于嵌入式Linux环境开发环境的建立。
在建立好NFS共享目录以后,我们就可以进入超级终端中建立开发板与宿主PC机之间的通讯了。
[/mnt/yaffs]mount-tnfs-onolock192.168.0.56:
/arm2410cl/host//超级终端中执行
如果不想使用我们提供的源码的话,可以再建立一个NFS共享文件夹。
如/root/share,
我们把我们自己编译生成的可执行文件复制到该文件夹下,并通过超级终端挂载到开发板上。
[rootlocalhosthello]#cphello/root/share//虚拟机中
/root/share/host//超级终端中
再进入/host目录运行刚刚编译好的hello程序,查看运行结果。
[/mnt/yaffs]cd/host//超级终端中
[/host]./hello
helloworld
(1)在PC计算机上启动NFS服务,并设置好共享的目录。
启动RedHatLinux–>
点击“主菜单”->
选择“系统设置”->
“服务器设置”->
“NFS服务器”->
“增加”->
“基本”下:
点击“浏览”选择“/”下的“arm2410cl/”;
“确定”;
“主机:
192.168.0.*”;
“基本权限”选择“读/写”;
“确定”。
->
“常规选项”下:
选择:
“允许来自高于1024的端口的连接”,其他不选;
确定。
(2)在建立好NFS共享目录以后,进入minicom中建立开发板与宿主PC机之间的通讯
新建终端
[rootlocalhostroot]#minicom//服务器
[rootlocalhostroot]#ifconfigeth0192.168.0.10//设置主机地址
[rootlocalhostroot]#ifconfig//查看地址
在服务器下:
[/mnt/yaffs]mount-tnfs–onolock192.168.0.56:
/arm2410cl/var
开发板挂接宿主计算机目录只需要挂接一次便可,只要开发板没有重起,就可以一直保持连接。
这样可以反复修改、编译、调试,不需要下载到开发板。
6、实验截图
7、测试结果
测试挂载成功,用mplayerxyz.avi命令播放视频
[rootlocalhost/]#cd/mnt/yaffs/mm
[rootlocalhost/]#mplayerxyz.avi
五、实验心得
本次实验比较简单,旨在让我们熟悉Linux开发环境,学会基于S3C2410的Linux开发环境的配置和使用。
实验中我们创建了一个新目录,并在其中编写hello.c和Makefile文件。
我们学习在Linux下的编程和编译过程,以及ARM开发板的使用和开发环境的设置,下载已经编译好的文件到目标开发板上运行。
学会使用Linux的armv4l-unknown-linux-gcc编译和基于NFS方式的下载调试,了解嵌入式开发的基本过程。
实验二S3C2410处理器A/D模块硬件设计
1.熟悉硬件电路设计
2.掌握简单的S3c2410处理器的电路设计。
3.掌握protel软件的使用。
使用protel99se做s3c2410处理器最小系统电路设计,A/D数据采集模块电路设计。
UP-TECHS2410/P270DVP嵌入式实验平台、PC机Pentium500以上,硬盘10G以上。
PC机操作系统REDHATLINUX9.0、超级终端(或X-shell)、ARM-LINUX开发环境
五、实验原理
1、A/D转换器
A/D转换器是模拟信号源和CPU之间联系的接口,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机和数字系统进行处理、存储、控制和显示。
在工业控制和数据采集及许多其他领域中,A/D转换是不可缺少的。
A/D转换器有以下类型:
逐位比较型、积分型、计数型、并行比较型、电压-频率型,主要应根据使用场合的具体要求,按照转换速度、精度、价格、功能以及接口条件等因素来决定选择何种类型。
常用的有以下两种:
(1)双积分型的A/D转换器;
(2)逐次逼近型的A/D转换器。
2、A/D转换的重要指标
(1)分辨率(Resolution)
(2)精度(Accuracy)
(3)ARM自带的十位A/D转换器
(4)A/D转换器在扩展板的连接(A/D转换器在扩展板的接法如图2.4.2所示,前三路通过电位器接到3.3v电源上。
)
图2.4.2A/D转换器在扩展板上的接法
六、实验步骤
1、阅读理解源码
进入/arm2410cl/exp/basic/04_ad目录,使用vi编辑器或其他编辑器阅读理解源代码。
2、编译应用程序
运行make产生ad可执行文件
[rootlocalhost/]#cd/arm2410cl/exp/basic/04_ad/
[rootlocalhost04_ad]#make
armv4l-unknown-linux-gcc-c-omain.omain.c
armv4l-unknown-linux-gcc-o../bin/admain.o-lpthread
armv4l-unknown-linux-gcc-oadmain.o-lpthread
[rootlocalhost04_ad]#ls
adhardware.hmain.oMakefile.baks3c2410-adc.h
binmain.cMakefilereadme.txtsrc
3、下载调试
到超级终端窗口,使用NFSmount开发主机的/arm2410cl到/host目录。
/arm2410cl/host
[/mnt/yaffs]insmodad/s3c2410-adc.o
[/mnt/yaffs]cd/host/exp/basic/04_ad
[/host/exp/basic/04_ad]./ad
PressEnterkeyexit!
a0=0.0032a1=3.2968a2=3.2968
我们可以通过调节开发板上的三个黄色的电位器,来查看a0、a1、a2的变化。
4、原理图
5、实验截图
七、实验心得
通过本次试验,我学会了A/D接口原理,了解实现A/D系统对于硬件要求。
阅读ARM芯片文档,掌握ARM的A/D相关寄存器的功能,熟悉ARM系统硬件的A/D相关接口,还了解在Linux环境下对S3C2410芯片的8通道10位A/D模块的硬件设计。
实验三Kernel与root的设计和烧写
1.掌握Linux核配置与裁剪的方法
2.理解根文件系统配置。
3.掌握嵌入式系统核和根文件系统的烧写的过程。
对嵌入式Linux系统进行裁剪、配置和编译,生成自己需要的操作系统映像文件,并将其烧写到flash中。
UP-NE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 Linux 系统 开发 教程 实验 报告