1嵌入式系统设计实验一嵌入式环境熟悉.docx
- 文档编号:6824914
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:17
- 大小:916.20KB
1嵌入式系统设计实验一嵌入式环境熟悉.docx
《1嵌入式系统设计实验一嵌入式环境熟悉.docx》由会员分享,可在线阅读,更多相关《1嵌入式系统设计实验一嵌入式环境熟悉.docx(17页珍藏版)》请在冰豆网上搜索。
1嵌入式系统设计实验一嵌入式环境熟悉
上机要求
1、预习:
嵌入式系统设计这门实验课的最大特点是,课前必须预习相应章节,不然的话,上课基本没有收获,反而会觉得昏昏然。
同学们,学习要自觉,请遵照执行。
2、课堂上认真完成,不准相互抄袭。
3、上机不能打游戏等与实验课无关的事情。
4、每次课后写实验日志
5、最后一次课后写一个大的报告
6、爱惜实验设备,如损坏则按有关规定处理并照价赔偿。
7、讲卫生,不准在实验室吃东西,下课时请带走座位附近的垃圾。
计算机专业实验中心
2011.3
1.1、实验目的3
1.2、预备知识3
1.3、实验内容3
1.4、实验设备及工具(包括软件调试工具)3
1.5、实验步骤4
1.5.1开发工具软件安装4
Linux操作系统安装(已经完成)4
博创经典S2410平台开发工具包安装(已经完成)4
1.5.2linux开发环境配置(主要是IP和NFS)5
NFS服务配置:
8
1.5.3minicom配置11
1.5.4简单程序编写(makefile文件理解)、编译、下载到开发板运行13
1、建立工作目录13
2、编写程序源代码13
3、编写Makefile(实验的时候只需copymakefile过去即可,否则由于时间关系,实验做不完)14
4、编译应用程序15
5、连接硬件15
6、下载调试15
把编译生成的可执行文件复制到共享文件夹15
启动minicom(启动后就不要经常退出,想重启就按复位键——开发板,否则容易工作不正常)15
配置实验箱(开发板或下位机)的IP、mountnfs把可执行文件下载到实验箱16
实验一熟悉嵌入式系统软件开发环境与平台(lilux)
1.1、实验目的
熟悉Linux开发环境,学会基于S3C2410的Linux开发环境的配置和使用。
使用Linux的armv4l-unknown-linux-gcc编译,使用基于NFS方式的下载调试,了解嵌入式开发的基本过程。
1.2、预备知识
C语言的基础知识、程序调试的基础知识和方法,Linux的基本操作。
1.3、实验内容
1、开发工具软件安装
2、linux开发环境配置(主要是IP和NFS)
3、minicom配置
4、简单程序编写(makefile文件理解)、编译、下载到开发板运行
1.4、实验设备及工具(包括软件调试工具)
硬件:
UP-TECHS2410/P270DVP嵌入式实验平台、PC机Pentium500以上,硬盘10G以上。
软件:
PC机操作系统REDHATLINUX9.0+MINICOM+ARM-LINUX开发环境
1.5、实验步骤
1.5.1开发工具软件安装
●Linux操作系统安装(已经完成)
嵌入式LINUX开发环境有几个方案:
1、基于PC机WINDOWS操作系统下的CYGWIN;
2、在WINDOWS下安装虚拟机后,再在虚拟机中安装LINXUX操作系统;
3、直接安装LINUX操作系统。
我们这里选择了第2种,在Windows下,安装了Vmvare6.0,再安装了REDHATLINUX9.0操作系统。
(ftp:
//s@172.16.37.223《嵌入式系统设计》实验目录下有操作系统压缩原始文件)。
安装方法是先安装了Vmvare6.0(去校园网上下载)后,可以直接file|open打开解压后的linux9.0的虚拟机原始文件,就可以启动系统。
用户:
student密码:
111111用户:
root密码:
123456
●博创经典S2410平台开发工具包安装(已经完成)
把博创公司光盘资料的2410dvplinux整个目录内容通过U盘(其它方法也可以,比如samba服务器、载硬盘、光盘等)mount加载到linux里面去(这一步已经实现),并改名为linux2410了。
以root用户登录去以后,在root目录里面有个linux2410目录,通过终端进入到该目录。
如果想自己重新安装,可以首先用./uninstall.sh脚本卸载已经安装的工具包(如果在根目录下有/arm2410cl目录,那么就是已经安装了工具包,要想再安装就必须先卸载工具包才能安装,当然如果没有,就不用卸载),然后用./install.sh脚本安装该工具包。
如图1.1所示:
图1.1博创经典S2410平台开发工具包源文件路径及安装
图1.2博创经典S2410平台开发工具包安装完成
注意:
安装完成后看一下主编译器Armv4l-unknown-linux-gcc是否在
/opt/host/armv4l/bin/,如果不是这个路径,请使用vi修改/root/.bash_profile文件中PATH变量为PATH=$PATH:
$HOME/bin:
/opt/host/armv4l/bin/,存盘后执行:
source
/root/.bash_profile,则以后armv4l-unknown-linux-gcc会自动搜索到,可以在终端上输入armv,然后按tab键,会自动显示armv4l-unknown-linux-
大家可以从图1.1和1.2中1s/命令看到linux的根目录下安装了开发工具包后多了arm2410cl这样一个目录。
1.5.2linux开发环境配置(主要是IP和NFS)
配置网络,包括配置IP地址、防火墙、NFS服务。
网络配置主要是要安装好以太网卡,对于一般常见的RTL8139网卡,REDHAT9.0可以自动识别并自动安装好,完全不要用户参与。
IP地址可以如下配置,配置宿主机(即虚拟机linux9.0)IP为172.16.34.(机号+35),比如2号机,那么IP地址就是172.16.34.37(35+2)。
注意,这个宿主机是虚拟机。
注意:
!
!
!
!
!
这个IP地址要根据你自己计算机具体的IP地址来确定,实验时候可以在windows下通过ipconfig命令查的自己电脑的IP地址情况,获取那个本地连接的ip地址,然后根据它进行相应修改,一定确保windows的IP地址、宿主机IP地址(虚拟linux的IP地址)及实验箱的linux的IP地址他们三个在一个网段里面,比如我这里就应该是在172.16.34这个网段里面。
●IP地址防火墙服务配置:
通过主菜单|系统配置|网络,即可打开图1.3网络配置窗口:
图1.3网络配置
双击设备eth0的蓝色区域,进入以太网设置界面,如图1.4、1.5以太网常规设置界面:
图1.4以太网常规设置界面
图1.5以太网路由设置界面
设置完毕后点击确定。
对于REDHAT9.0,它默认的是打开了防火墙,因此对于外来的IP访问它全部拒绝,这样其它网络设备根本无法访问它,即无法用NFSmount它,许多网络功能都将无法使用。
因此网络安装完毕后,应立即关闭防火墙。
操作如下:
点击红帽子主菜单|系统设置|安全级别设置,选中无防火墙。
如图1.6安全级别设置所示:
图1.6安全级别设置
点击主菜单|系统设置|服务器设置|服务,将iptables服务的勾去掉,并确保nfs选项选中,如图1.7服务配置所示:
图1.7服务配置所示
●NFS服务配置:
点击主菜单|系统设置|服务器设置|NFS服务器,点击增加出现如图1.8添加NFS界面,在目录中填入需要共享的路径,在主机中填入允许进行连接的主机IP地址。
并选择允许客户对共享目录的操作读写(Read/write)。
如图1.8添加NFS界面所示:
图1.8添加NFS界面
在这里设置的目录是/root/share,主机是172.16.*.*,权限是读写,以后NFSmount时将要用/root/share这个目录。
对客户端存取服务器的一些其他设置,一般不需要设置,取默认值。
点击常规选项,对NFS用户访问设置;点击用户访问,对远程根用户当作本地根用户设置。
如图1.9、1.10所示:
图1.9NFS用户访问设置
图1.10远程根用户当作本地根用户设置
点击确定,配置好的NFS界面如图1.11配置好的NFS界面所示:
图1.11配置好的NFS界面
配置完以后,可以在终端执行命令servicenetworkrestart如图1.12所示,或重启linux来让网络设置有效。
图1.12命令重庆网络服务
配置完成后,可用如下办法简单测试一下NFS是否配置好了:
在宿主机上自己mount自己,看是否成功就可以判断NFS是否配好了。
例如在宿主机/目录下执行:
mount172.16.34.37:
/root/share/mnt
其中172.16.34.37应为宿主机的IP地址。
然后到/mnt/目录下看是否可以列出/root/share目录下的所有文件和目录,可以则说明mount成功,NFS配置成功。
图1.13检查NFS配置是否成功的界面
图1.13NFS配置是成功的,因为mount后两个目录的内容一致。
配置好NFS,并检查是否成功,是加载到目标板关键的一步。
1.5.3minicom配置
1.在linux操作系统建立终端(在桌面上点击右键——>新建终端),在终端的命令行提示符后输入minicom,回车,你就会看到minicom的启动画面图1.14
图1.14minicom启动画面
2.minicom启动后,先按Ctrl+A键,再按Z键(注意不是一起按,Ctrl+A松开后才按Z),进入主配置界面见图1.15。
图1.15minicom主配置界面
按“O”进入配置界面,如图1.16配置界面:
图1.16配置界面
按上下键选择Serialportsetup,进入端口设置界面,这里有几个重要选项改为如下值(见图1.17端口设置界面):
(在Changewhichsetting后按哪个字母就进入哪项的配置,如按A进行端口号配置。
)A————SerialDevice:
/dev/ttyS0(端口号使用串口1,对应实验箱的com0)
E————BPS/par/bits:
/1152008N1(波特率)
F,E硬件流,软件流都改为NO,若要使用PC机的串口2来接板子的串口1做监控,改为:
/dev/ttyS1即可。
我们这里是串口1。
图1.17端口设置界面
3.选好后按ESC键退出到图1.16所示画面,选择Savesetupasdf1保存退出,以后只要启动minicom就是该配置,无需再做改动。
这样minicom就配置好了。
1.5.4简单程序编写(makefile文件理解)、编译、下载到开发板运行
1、建立工作目录
[root@BCroot]#mkdirhello
[root@BCroot]#cdhello
2、编写程序源代码
在Linux下的文本编辑器有许多,常用的是vim和Xwindow界面下的gedit等,我们在开发过程中推荐使用vim,用户需要学习vim的操作方法,请参考相关书籍中的关于vim的操作指南。
实际的hello.c源代码较简单,如下:
#include
main()
{
printf(“Hello!
Thisisthefirstprogram!
\n”);
}
我们可以是用下面的命令来编写hello.c的源代码,进入hello目录使用vi命令来编辑代码:
[root@zxthello]#vihello.c
按“i”或者“a”进入编辑模式,将上面的代码录入进去,完成后按Esc键进入命令状态,再用命令“:
wq”保存并退出。
这样我们便在当前目录下建立了一个名为hello.c的文件。
3、编写Makefile(实验的时候只需copymakefile过去即可,否则由于时间关系,实验做不完)
要使上面的hello.c程序能够运行,我们编写一个Makefile文件,Makefile文件定义了一系列的规则,它指明了哪些文件需要编译,哪些文件需要先编译,哪些文件需要重新编译等等更为复杂的命令。
使用它带来的好处就是自动编译,你只需要敲一个“make”命令整个工程就可以实现自动编译,当然我们本次实验只有一个文件,它还不能体现出使用Makefile的优越性,但当工程比较大文件比较多时,不使用Makefile几乎是不可能的。
下面我们介绍本次实验用到的Makefile文件。
CC=armv4l-unknown-linux-gcc注意armv4l中是字母L的小写l,而不是数字1
EXEC=hello
OBJS=hello.o
CFLAGS+=
LDFLAGS+=–static
all:
$(EXEC)
$(EXEC):
$(OBJS)
$(CC)$(LDFLAGS)-o$@$(OBJS)
clean:
-rm-f$(EXEC)*.elf*.gdb*.o
下面我们来简单介绍这个Makefile文件的几个主要部分:
我们来简单介绍这个Makefile文件的几个主要部分:
●CC指明编译器
●EXEC表示编译后生成的执行文件名称
●OBJS目标文件列表
●CFLAGS编译参数
●LDFLAGS连接参数
●all:
编译主入口
●clean:
清除编译结果
注意:
“$(CC)$(LDFLAGS)-o$@$(OBJS)”和“-rm-f$(EXEC)*.elf*.gdb*.o”前空白由一个Tab制表符生成,不能单纯由空格来代替。
与上面编写hello.c的过程类似,用vi来创建一个Makefile文件并将代码录入其中。
[root@BChello]#viMakefile
4、编译应用程序
在上面的步骤完成后,我们就可以在hello目录下运行“make”来编译我们的程序了。
如果进行了修改,重新编译则运行:
[root@BChello]#makeclean
[root@BChello]#make
注意:
编译、修改程序都是在宿主机(本地PC机)上进行,不能在MINICOM下进行。
5、连接硬件
●实验电源线接到实验箱的左上角的电源插孔
●主机的串口1与实验箱的串口RS232-0即com0相连接
●网线连接到实验箱的网口(可以是通过交换机出来的网线直接与实验箱连接,也可以是网线主机与实验箱直接对连接,我们这里现在是对联方式。
)
6、下载调试
在宿主PC计算机上启动NFS服务,并设置好共享的目录(我们以/root/share设置为例),具体配置请参照前面关于嵌入式Linux环境开发环境的配置。
在建立好NFS共享目录以后,我们就可以进入MINICOM中建立开发板与宿主PC机之间的通讯了。
我们把我们自己编译生成的可执行文件复制到/root/share(该目录已经在前面NFS配置时设置为共享文件夹)文件夹下,并通过MINICOM挂载到开发板上。
●把编译生成的可执行文件复制到共享文件夹
[root@BChello]#cphello/root/share
●启动minicom(启动后就不要经常退出,想重启就按复位键——开发板,否则容易工作不正常)
[root@BChello]#minicom
minicom启动后进入实验箱的linux,或者minicom启动后回车就进入实验箱的linux系统,若敲其它键,则进入vivi。
我们这里回车进入实验箱的linux。
图1.18minicom启动后的初始界面
minicom启动后的初始界面停留在目标板(实验箱)的/mnt/yaffs目录下。
●配置实验箱(开发板或下位机)的IP、mountnfs把可执行文件下载到实验箱
[/mnt/yaffs]ifconfigeth0172.16.34.72(末尾号72=机号+70,我这里是2号机,所以是72)
设置以后宿主机ping实验箱,主机ping宿主机,检查网络是否通,通则后面才能进行下去,否则mount会不成功。
图1.19宿主机ping实验箱的画面
图1.20主机ping宿主机的画面
当然还可以主机ping实验箱。
但是宿主机因防火墙等原因有时ping主机是ping不通的,这个并不影响实验的进行。
[/mnt/yaffs]mount-tnfs-onolock172.16.34.37:
/root/share/host
再进入/host目录,运行刚刚编译好的hello程序,查看运行结果。
[/mnt/yaffs]cd/host
[/host]./hello
Hello!
Thisisthefirstprogram!
图1.21是实验箱IP设置、mountnfs、在实验箱上运行程序的画面
图1.21实验箱IP设置、mountnfs、实验箱上运行程序的画面
注意:
开发板挂接宿主计目录只需要挂接一次便可,只要开发板没有重起(复位),就可以一直保持连接。
这样可以反复修改、编译、下载调试。
宿主机IP地址:
172.16.34.(机号+35)
实验箱IP地址:
172.16.34.(机号+70)
宿主机的IP和实验箱的IP必须在一个网段内,比如这里都是172.16.34网段。
实验时候根据自己的情况进行IP地址更改!
!
!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 设计 实验 环境 熟悉