您好,欢迎来到测品娱乐。
搜索
您的当前位置:首页实验五 建立嵌入式开发环境

实验五 建立嵌入式开发环境

来源:测品娱乐
实验五 建立嵌入式开发环境

实验目的:

熟悉嵌入式实验箱下Linux的开发环境,了解嵌入式程序的开发过程。 掌握宿主机终端的配置方法,学会使用串口方式下载调试程序的方法。 掌握arm-linux-gcc交叉编译器的建立方法和使用方法。

掌握Linux 系统内核支持NFS 服务的配置方法;学会使用网口方式下载调试程序的方法。

实验环境:

1、Embest EDUKIT-III实验箱;

2、PC机(Windows+Cygwin/Vmware linux;Linux); 3、Embest for ARM JTAG仿真器。

实验方案:

连接宿主机和目标机,然后用超级终端/minicom建立连接,运行目标机上的应用程序。 在宿主机上建立交叉编译环境;编写并编译一个简单的程序用arm-linux-gcc进行交叉编译并用串口下载到目标机运行。

建立NFS 文件共享,通过NFS 方式下载到目标机运行。

实验内容:

建立嵌入式应用程序开发环境,了解嵌入式应用程序的开发流程。 建立超级终端(windows 平台)/minicom(Linux 平台),运行实验箱原有的应用程序。 在linux操作系统环境下建立交叉编译环境,编写和编译一个简单的程序并进行交叉编译。

建立NFS共享,并下载程序到实验箱运行。

实验过程:

本实验分为五个部分的内容:

一、认识实验设备的组成:

1、宿主机――目标机实验箱开发模型;

2、硬件:实验箱主板组成、其它模块和配件、连接线; 3、软件:XP+Cygwin或XP+VmWare Linux或Linux。

二、连接宿主机和目标开发板

1、串口线、网线连接到PC和实验箱; 2、上电实验箱,演示程序; 3、关机;

三、Windows+Vmware Linux平台上交叉编译

(一)配置超级终端

1、启动PC的XP操作系统。 2、打开超级终端:“开始”――“程序”――“附件”——“通讯”——“超级终端”; 3、配置参数:“COM1”——波特率“115200”——数据位“8”——“无”奇偶校验位——停止位“1”——“无”硬件流;

4、开实验箱电源; 5、观察超级终端窗口。 6、定位目标机上的光标。

7、在超级终端窗口:CTRL+C;回车。 8、#ls

9、#cd /var

10、文件传送(注意:用“Zmodem与崩溃恢复”协议) 11、#ls

另:DNW。把文件(E:\\embest\\cd3„.\\.tools\\dnw)拷到:C:\\program\\dnw,把DNW快捷方式发送到桌面。然后进行参数配置,并测试使用。

(二)在Linux平台上配置minicom 关闭“超级终端”。

1、启动VmWare。介绍主要的功能和基本操作方法:启动虚拟机(左边); 2、打开字符终端;

3、运行命令:minicom;

4、配置过程;+A Z----“O”----“serial port setup”----“A”(ttyS0)----“E”(I,Q),回车返回----回车返回----“Save setup as df1”----“exit”

5、关闭minicom终端窗口,重新打开后配置信息才能有效。 6、重启目标机,测试。

注:如果VmWare中没加串口:在VmWare关闭Linux;添加设备----串口;启动;

(三)简单的交叉编译实验

1、编写一个简单的源程序。 最简单的hello.c; #include main() {

printf(“hello,I am studying Embeded System!\\n”); return 0; }

2、在宿主机上用本机的编译器编译运行 gcc hello.c -o pchello ./pchello 3、交叉编译

arm-linux-unknown--gcc hello.c -o armhello ./armpchello 4、下载到目标机

重复第(一)步,下载这个文件 # cd /var

# rz < 通过超级终端菜单“发送文件”选择从vmware共享来的hello文件,使用“Zmodem与崩溃恢复”,点击发送

rz ready. To begin transfer, type \"sz file ...\" to your modem program ?# B000000023be50 # ls

#chmod 777 ./armhello #./armhello

四、Windows+Vmware Linux平台上配置交叉编译环境

1、在Linux中安装vmware tools

(1)在“虚拟机”菜单中选择“安装vmware tools”; (2)在命令终端拷贝Vm„.gz这个文件到“/tmp”目录 (3)#cd /tmp

#tar xzvf Vm„.gz #cd vm„tool„ #./vm„.pl

安装过程采用默认参数

(4)在“虚拟机”菜单中选择“设置”----“选项”; (5)“共享文件夹”;

Windows文件夹-------------Linux中“/mnt/hgfs/„”对应。

2、在宿主机上建立交叉编译器编译环境――Linux

(1)把Windows下F:\\ armv4l-tools文件夹作为VmWare的共享文件夹armtools; (2)在VmWare Linux中进入共享目录(/mnt/hgfs/armtools),

执行安装命令:source ./install.sh;

(3)查看结果:cd /opt/host/arm4l/bin下面应该有相应的交叉编译工具集; (4)为了以后应用方便,把路径“/opt/host/arm4l/bin”加入到/root/.bash_profile的PATH中:

用vi /root/.bash_profile命令打开文件,找到PATH命令这一行,把在后面追加上面的路径,变成“PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin”。

(5)用source /root/.bash_profile,使设置马上生效。验证方法:随便在一个目录中用arm后按TAB键应该出“armv4l-unknown-linux-”

五、在Cygwin中配置交叉编译环境

1、交叉编译建立环境准备: (1)实验前,在c:/cygwin目录下建立“tmp”子目录,拷贝CD3中“05linux-source”

中的两个文件“cross-armtools-linux-edukit2410.tar.bz2”和“set_env_linux.sh”到C:/Cygwin/tmp目录下。

(2)运行Cygwin开发环境,执行以下命令: $>cd /

$>source /tmp/set_env_linux.sh < 以后每次打开Cygwin时,均要执行一次这条命令行

2、安装交叉编译工具: $>cd /tmp

$>tar -P -xvjf cross-armtools-linux-edukit2410.tar.bz2

验证: $>ls

„armtools-linux„ ;表示正常

$>source armtools-linux/cross-install.sh

验证: $>ls /usr

„arm-linux„ ;表示正常

$>arm-linux-gcc 这个命令可以运行即为成功。 3、测试交叉编译环境

在/home目录下新建一个hello.c的源文件,然后: $>arm-linux-gcc hello.c -o hello

如果生成hello可执行文件,即为成功,且生成的程序只能在arm平台上运行。

六、建立NFS调试环境

1、在Linux图形界面下配置网络。

“开始”——“系统设置”——“网络”,即可打开网络配置窗口,双击网卡就进入配置界面。

IP地址要跟实验箱在同一IP地址段;掩码、网关、路由;无防火墙。 2、启用NFS服务: “系统设置”——“服务器设置”——“服务”,将“iptables”服务的勾去掉,把“nfs”前的勾打上。

3、配置NFS:

“系统设置”——“服务器设置”——“NFS服务器”: 在“目录(directory)”中填入需要共享的路径;在“主机(host)”中填入允许进行连接的主机IP地址(可以IP地址段,如192.168.0.*);选择允许客户对共享目录的操作为“只读(read-only)”或“读写(read/write)”。如下图所示:

其它设置可以采用默认的值。

另:也可手工编写/etc/exports文件,格式如下: 共享目录 可以连接的主机(读写权限,其它参数)。 如:/arm2410 192.168.0.*(rw,sync)

表示将本机的/arm2410目录共享给IP地址为192.168.0.1――192.168.0.254的所有计算机,可以读写。

4、测试:(在宿主机上自己mount自己)

在宿主机上自己mount自己,如果成功则表示配置好了。

mount 192.168.0.10:/arm2410 /mnt/nfs ;(/mnt/nfs这个文件夹存在) 然后到/mnt/nfs目录下看是否可以列出/arm2410目录下的内容。 5、把交叉编译过的hello放到共享文件夹“/arm2410”,在实验箱上mount宿主机: mount -t nfs -o nolock 192.192.192.192:/home/arm /mnt

cd /mnt

ls (列出的内容应该与宿主机的/arm2410目录的内容一样) 直接执行程序。

思考题:

1、宿主机与目标开发板之间的关系?

2、宿主机的监视终端窗口在交叉编译开发环境中的作用? 3、简述用NFS调试程序的方法。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- cepb.cn 版权所有 湘ICP备2022005869号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务