hunan city university
实验题目: linux交叉开发流程。
专业: 计算机科学与技术(嵌入式方向)
学生姓名。班级学号。
分组成员。指导教师。
2012 年 9月 25日。
一、实验时间。
二、实验地点。
三、实验目的。
1、熟悉并掌握linux系统下linux开发交叉流程;
2、提高分析问题并独立解决问题的能力。
四、实验步骤。
1、linux宿主机的环境的建立安装。
(1)、安装l inux
嵌入式系统开发通常要求宿主机配置有网络,支持nfs(为linux应用开发时使用)、支持tftp(为内核**和烧写使用),然后要在宿主机上建立交叉编译调试环境,因此在宿主机上安装redhat9.0必须具备以上条件。
安装redhat9.0,安装时请选择完全安装,在配置firewall 时请选择no firewall,在选择软件package时选择最后一项:everything,即完全安装。
(2)、交叉编译调试环境的建立。
用u盘将挂载到linux系统下并解压安装在/usr/local/arm目录下。
cd /usr/local
mkdir arm
cd arm
tar zxvf
解压后将在/usr/local/arm目录下面生成一个名为2.95.3的目录,所包含的arm linux交叉编译器为2.
95.3/bin目录下的arm-linux-gcc。因此,需要在path环境变量中加上/usr/local/arm/2.
95.3/bin一项,使得arm-linux-gcc能够在命令行下直接执行。
修改环境变量的方法:编辑命令path=$path:/usr/local/bin即可,此修改环境变量法,在关闭终端时立即失效,下次登录时重新编辑命令,使其生效。
3)、配置以太网。
前提是以太网卡已配置正确,然后配置宿主机ip。执行ifgonfig eth0 192.168.
1.180命令,设置宿主机ip地址为192.168.
1.180。为了验证网络是否配置成功,需按以下步骤进行:
首先连接网络,将宿主机使用普通网线连入局域网。在局域网的另一台计算机上保证其ip地址为其中xxx不能为180。
linux操作系统下,在终端输入:
ping 192.168.1.180
如果ping通,表示网络连接已经建立。
(4)、配置tftp服务器。
检查宿主机的tftp服务器是否已经开通,此步骤只在第一次时使用,以后可以忽略,开通宿主机上的tftp服务器,对于redhat9.0在宿主机上执行:
setup选择system services:
将其中的tftp选中,并去掉ipchains和iptables两项服务,然后还要选择firewall configuration
选中no firewall。
最后,退出setup,执行如下命令以启动tftp服务器:
service xinetd restart
配置完成后,简单测试一下tftp服务器是否可用。
在宿主机上执行:
tftp 192.168.1.180
tftp>get zimage
正确结果如下图所示:
此时表示tftp服务器配置成功了。若弹出信息说:timed out,则表明未成功,或者用如下命令查看tftp服务是否开通:
netstat -a|grep tftp
若tftp未配置成功需按上诉步骤再检查一遍。
(5)、配置nfs服务器。
可以通过主机系统的图形界面来配置nfs服务,命令行配置如下:编辑/etc/exports文件,设置如下:
vi /etc/exports
在该空文件中添加如下行: /rw)
然后重新启动nfs服务,刚才的设置就生效了,命令执行如下:
注意,在使用nfs服务的请大家确认防火墙没有限制nfs服务,并且,在系统服务中 portmap服务是启动运行的。
现在我们测试一下nfs服务,假设有nfs服务的主机的ip为192.168.1.
180,我们在 192.168.1.
180上测试,首先在192.168.1.
180上建立目录/home/tmp,然后用超级用户执行下列命令
mount 192.1.168.180:/tftpboot /home/tmp
这样,将192.168.1.
180上的目录“/tftpboot”通过nfs挂载到了192.168.1.
180的目录 “/home/tmp”上,在192.168.1.
180上查看一下目录“/home/tmp”里面的内容是否和 192.168.1.
180 上目录“/tftpboot”里面的内容完全一样,确定nfs服务可用。 \
(6)、设置minicon
在linux操作系统下,使用minicom作为超级终端,因此首先必须正确配置超级终端,在宿主机linux下执行:
minicom -s
第一次使用时需要对串口进行配置,在该菜单下选择“serial port setup”,然后回车将出现如下配置菜单:
参照上面的配置,相应输入左边的”a”、”b”等字符将出现配置各自参数的界面,分别配置成上述设置。
设置完成后回车退出,并选择保存,如下所示:
然后选择exit 菜单,将启动 minicom 程序,此时请将 jxarm9-2410 的 uart0 连接到 pc 机串口并将jxarm9-2410 重新上电,在 minicom 中,将出现如下所示界面:
此时表示minicom 已经配置正确。
当下次使用minicom -s 进入 minicom 时,如果已经将设置保存,请直接选择 exit 菜单进入到minicom 即可。
7)、linux**并运行。
首先将需要**的内核映像或者ramdisk 文件拷贝到宿主机的/tftpboot 目录,然后启动minicom:
minicom -s
将jxarm9-2410 的串口 0 与 pc 的串口 0 连接,将 jxarm9-2410 的网卡和 pc 的网卡使用直连网线进行连接,或者将jxarm9-2410 和 pc 机使用普通网线接入同一局域网。 然后将jxarm9-2410 上电,正常情况下将在 minicom 中看到 bootloader 菜单界面。然后在bootloader 中按照如下提示进行:
jx2410 # tftp 30800000 rtl8019as founded!
mac : 0x8-0x0-0x3e-0x26-0xa-0x5b
mac: 0x0:0x0:0x0:0x0:0x0:0x0
tftp from server 192.168.1.180; our ip address is 192.168.1.45 filename ''
load address: 0x30800000
loading
donebytes transferred = 4632504 (46afb8 hex) jx2410
# tftp 30008000 zimage
ril8019as founted!
mac : 0x8-0x0-0x3e-0x26-0xa-0x5b mac: 0x0:0x0:0x0:0x0:0x0:0x0
tftp from server 192.168.1.
180; our ip address is 192.168.1.
45 filename 'zimage'.
load address: 0x30008000
loading
donebytes transferred = 871740 (d4d3c hex) jx2410 #go 30008000
uncompressing linux
booting the kernel. .done,
linux version 2.4.18-rmk7-pxa1 (root@linux-lizm) (gcc version 2.
95.3 20010315 (release)) #133 四 11 月 18 11:07:
55 cst 2004
cpu: arm/cirrus arm920tsid(wb) revision 0 machine: samsung-smdk2410
8)、编译helloworld程序。
linux 控制台上输入的命令行。
cd /home/cvtech/jx2410/examples
mkdir helloworld
cd helloworld
vi helloworld
编辑程序如下:
#include<>
void main()
printf(‘hello,world’);
保存退出。9)、制作makefile文件。
vi makefile
helloworld:
arm-linux-gcc –o helloworld
helloworld:
arm-linux-gcc –c
嵌入式系统实验报告
嵌入式系统实验报告内容。第一章 arm2410cl嵌入式系统基础实验。实验一arm2410cl嵌入式教学实验系统。实验报告要求 简述嵌入式linux开发的流程。实验二。嵌入式linux开发环境的配置。实验报告要求 1 简述嵌入式linux开发环境配置的具体步骤。2 简述网络文件系统 nfs 第二章 ...
嵌入式系统实验报告
本科实验报告。1.实验原理 本实验使用xmanager enterprise软件来连接老师配置好的linux服务器,以完成实验中使用linux完成编译和 运行一个嵌入式系统。实验中使用u boot作为系统的bootloader,使一个嵌入式linux系统完成编译并模拟在另一台机器上 并执行操作。u ...
嵌入式系统实验报告
姓名 班级 学号 实验一 流水灯。实验要求 编写一个程序,是开发板上的的3个led灯按流水灯方式闪烁。实验工具 超级终端开发板,电脑。实验程序如下 汇编指令实验 定义端口e寄存器预定义。rgpbcon equ 0x56000010 rgpbdat equ 0x56000014 rgpbup equ ...