TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中>的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开>销不大的文件传输服务。端口号为69。
–来源百度词条
1. 实验目的
通过主机的tftp服务器下载linux内核到开发板制定DRAM位置处,完成启动内核。
2. 实验材料
VMware软件,Ubuntu系统,tftp服务器,S5PV210开发板,网线,串口线,SecureCRT软件。关于环境的搭建可以参考嵌入式开发环境搭建——基于ubuntu10.04.pdf。
3. 实验内容
(1). 连接网线,串口线(串口线第一次连接需要安装驱动),打开计算机->属性->设备管理器,查看端口是com几。
(2). 将uboot镜像烧录到SD卡中,烧录脚本在sd_fusing中,输入./sd_fusing.sh
烧录即可,不过要确保烧录脚本与开发板匹配。插入SD卡,将启动选择开关拨到SD卡启动。
(3). 打开SecureCRT软件,选择协议serial,按(1)查到的端口号修改SecureCRT的端口号,修改波特率115200,去掉RTS/CTS的勾选项,点连接
如上图串口处变绿,连接就成功了。
(4). 开启电源键,等到出现uboot倒数时,按下回车键进入uboot的shell界面。下图为uboot的倒数界面:
(5). 开启Unbutu虚拟机系统,进入root用户,设置interfaces文件(interfaces文件位置 /etc/network/interfaces),vim打开这个文件,修改为如下静态网络配置。
点击VMware菜单栏的虚拟机->网络适配器->设置,将网络连接设置为桥接模式,如下图:
然后输入以下命令:
ufw disable #关闭防火墙,开启是enable,查看状态是 status
ifdown eth0 #关闭网卡
ifup eth0 #启动网卡
ifconfig
出现以下内容时,说明网卡配置成功:
eth0 Link encap:Ethernet HWaddr 00:0c:29:9d:fb:f8
inet addr:192.168.1.141 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:19 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:301 errors:0 dropped:0 overruns:0 frame:0
TX packets:301 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:43682 (43.6 KB) TX bytes:43682 (43.6 KB)
要关闭防火墙还必须重启系统,shutdown -r
,重启系统后,将内核镜像文件放入你的tftp服务器设定的文件夹下,比如我的tftp服务器的文件夹目录是/tftpboot,
到此,ubuntu系统配置完毕。
(6). 配置windows,打开控制面板->网络和Internet->网络和共享中心->更改网络适配器设置,右击本地连接->属性,按下图打开Ipv4的属性设置:
将IP地址设置到与虚拟机一个网段,比如我们的网段是192.168.1,点确定。若想要测试windows能否与unbutu ping 通,必须将Windows防火墙关掉。
(7). 配置开发板的IP地址,开发板的IP地址必须也与主机和虚拟机同一个网段,在uboot的shell下,输入`print``打印uboot的环境变量:
若ipaddr不是一个网段,使用 set ipaddr 192.168.1.88
设置环境变量的值。然后ping 192.168.1.141(虚拟机ip地址),若出现以下内容,说明网络环境没有问题:
(8). 虚拟机打开tftp服务器
/etc/init.d/xinetd restart #重启tftp
(9). 在uboot的shell下,输入:
tftp 0x30008000 zImage-qt
出现如下内容说明传输成功:
(10). 启动内核bootm 0x30008000
[注1]: 若最后还是未能下载成功,试着关闭windows的防火墙,重启windows与虚拟机,开发板。
[注2]:网线接口处灯不闪属于正常现象,因为uboot未能完全初始化网卡。
[注3]:检验虚拟机与uboot是否网络畅通,只要uboot能ping通虚拟机就行。