嵌入式实训报告
班级:电子信息1301
姓名:钟海明 学号:3138702144 同组人:胡晓海 指导老师:韦龙新
目录:
一、实训目的---------------------3
.
.
二、实训要求---------------------3 三、实训内容---------------------3
1、嵌入式系统开发环境的搭建----------3 2、嵌入式程序的编译与下载------------3 3、uboot的移植----------------------4 4、linux内核的移植------------------4 5、NFS网络文件挂载------------------5 6、FTP和TFTP的运用-----------------6 7、试验箱镜像的烧写-----------------7 8、串口实验和TCP实验同时传送AD值--7
四、实训心得体会及体会----------8
一、实训目的:
学习和掌握ARM嵌入式Linux系统的体系结构和基本指令,熟悉Linux下的设计流程和编程流程,能够实现一定功能的嵌入式的设计,为之前的理论课程实践验证和为今后的学习及将来从事的技术工作打下一定的基础。
.
.
二、实训要求:
1、嵌入式系统开发环境的搭建 2、嵌入式程序的编译与下载 3、uboot的移植 4、linux内核的移植 5、NFS网络文件挂载 6、FTP和TFTP的运用 7、试验箱镜像的烧写
8、串口实验和TCP实验同时传送AD值
三、实训内容:
1、嵌入式系统开发环境的搭建:
首先在笔记本电脑下安装虚拟机VMware,安装成功后拷贝
安装好的Fedora到本机上在虚拟机上找到路径打开。打开虚拟机进入Fedora选择用户为root密码为123456。交叉环境的安装,下载好arm-linux-gcc的编译包,解压安装到/opt下。 2、嵌入式程序的编译与下载:
用vi编辑一个(.C)的文件,保存退出后使用(arm-linux-gcc -o 编译后的文件名 编译文件名)的指令编译,编译成功后用FTP或TFTP将可执行文件拷贝到实验开发板中,chmod +x 文件名 修改权限(./文件名)执行编译文件。 3、uboot的移植
下载U-boot的安装包,解压到/opt路径下进入u-boot。修改
.
.
Makefile将CROSS_COMPILE=/opt/Embedsky/4.3.3/bin/arm-linux- 后执行#make distclean
#make smdk2440_config #make
4、Linux内核的移植:
下载Linux的安装包,解压的/opt路径下进入Linux执行#make menuconfig进行配置
配置内核支持NFS启动文件系统
内核支持NFS分区(即编译时在File system中选中[*] Root file system on NFS), 以及支持内核IP_PNP(即编译时在Networking中选中[*] IP: kernel level autoconfiguration) File systems ---> Network File Systems ---> <*> NFS file system support ## 必选 [*] Provide NFSv3 client support ## 可选 [*] Root file system on NFS ## 必选 Networking ---> [*] Networking support Networking options --->
[*] IP: kernel level autoconfiguration ## 必选 需要打开IP:Kernel level autoconfiguration 以及下面所有的选项包括DHCP, BOOTP, RARP,而且NFS Client Support不能是模块,
.
.
必须编译进内核。配置完毕后,保存退出。执行下面的命令来生成内核映像。
#make dep #make
#make zImage
映像文件产生在/arch/arm/boot/目录下,名称“zImage”。 5、NFS网络文件挂载:
1)首先修改虚拟机网络为:
192.168.0.43 输入以下命令: #cd /root #mkdir nfs #touch aaa #cd /mnt #mkdir nfs #vi /etc/exports
进入修改内容为: /root/nfs 192.168.0.*(rw,sync,no_root_squash)存盘退出 #ifconfig(查看网络) #ifconfig eth1 192.168.0.43 #ifconfig eth1 down #ifconfig eth1 up
.
.
#ping 192.168.0.43 #/etc/init.d/nfs start
#mount -t nfs 192.168.0.43:/root/nfs /mnt/nfs /*此时可以在/root/nfs下新建一个文件,如果在/mnt/nfs下也有,表示NFS挂载成功。 6、TFTP的运用:
修改计算机的IP为192.168.1.43,用网络线将开发板和实验板链接起来(开发板的IP默认问192.168.1.6),打开电脑的菜单栏运行输入cmd,#telnet 192.168.1.6进去开发板用户名为root。如果进不去,打开计算机的Telnet的允许指令,还有一个就是看网络有没有ping通。 打开TFTP应用程序,
将Windows文件传送到开发板使用指令: #tftp -r 文件名 -g 192.168.1.43 将开发板的文件传送到Windows使用指令: #tftp -l 文件名 -p 192.168.1.43
进入查看文件是否有添加,有添加则表示传送成功。 7、试验箱镜像的烧写:
连接好串口和USB,安装USB的驱动(安装驱动由于试验箱和USB线的问题我们那一组试了无数次都没有安装成功,最后还是通过换用别人的电脑才成功的)。实验箱按键拨到下载模式,打开DNW软件选择5,6,7,分别下载内核,u-boot,根文件系统,按键拨到工作模式
.
.
重启实验箱,看是否正常启动即可。
8、串口实验和TCP实验同时传送AD值: 串口实验
修改串口实验的C文件并用arm-linux-gcc编译器编译生成可执行文件,利用TFTP传送到开发板的/root下,改变权限chmod +x 之后(./)执行./adc 和./uart程序,同时打开串口调试助手波特率选择9600,虚拟机的串口COM1断开,串口调试助手连接串口。接收端选择文本模式,此时就可以看见接收区收到每隔一秒钟收到的AD值,和名字学号。
TCP实验
在虚拟机中打开TCP实验的文件,修改Makefile文件中arm-linux-gcc 编译器的路径,和server.c文件中的hell[]数主的字符为zhonghaiming3138702144. 保存退出。#Make 之后会生成一个为client和server的两个程序。此时将两个编译生成的文件传送到开发板上,给权限执行。同时打开网络调试助手,执行client时选择TCPserver IP为Windows IP192.168.1.43 ,Telnet中执行(#./client 192.168.1.43 8080)点击发送即可在Telnet中接收到由网络调试助手发送过来的数据。执行./server时 选择TCPclient IP为开发板IP 192.168.1.6 执行(#./server 8080&)点击连接就可以在网络调试助手上接收到(zhonghaiming318702144)。
网络AD测试,先编译,之后和执行server步骤一样,每连接一次,发送一次AD值和姓名学号。
.
.
四、实训心得体会及总结:
三周的实训说快也快,说慢也慢。可以说这三周的实训并不是很顺利,由于对试验箱的不熟悉和嵌入式理论与实际的差距在加上嵌入式本身有一定的难度,所以走了很多的弯路。从NFS的挂载开始ping网络一步步的开始试,找原因找百度,最终还是没有成功的用NFS挂载到试验箱上,这期间几乎用了一周的时间,效率可见。
虽然走了许多的弯路,但是我觉得有时候弯路并不是坏事,就此次实训来说,我就知道了挂载实验箱不仅仅可以用NFS挂载还可以用TFTP和FTP以及实验板的rz命令直接挂载,进入实验板不仅仅可以用scoreCRT软件还可以用虚拟机的minicom以及Windows下的Telnet命令直接进入试验箱。
这次实训最大的感触就是要细心多尝试,遇到问题多看多问不要逃避,不会的要虚心求教。要把握好时间观念不要在一个地方死磕,多和同学交流,每个人遇到的问题都不一样当下次你遇到和他一样的问题是说不定你就会了。所以在这里也要感谢同组人和同学的帮助,以及老师耐教学和指导。
.
因篇幅问题不能全部显示,请点此查看更多更全内容