概述
系统环境
pc端:linux : ubuntu14.04
嵌入式端: 君正:halley2开发板
总体思路
pc端搭建tftp服务器——->开发板端uboot网络配置及tftp连接下载镜像到内存——>内核镜像加载或写入flash
具体内容及步骤
1,pc端搭建tftp服务器
(1)tftpd安装
//安装tftpd-hpa
$ sudo apt-get install tftpd-hpa
- 1
- 2
(2)tftp服务配置
//打开配置文件
$ sudo vim /etc/default/tftpd-hpa
//在tftpd-hpa文件中修改共享目录,如下内容
#TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_DIRECTORY="/home/sky/test/tftp_test"
- 1
- 2
- 3
- 4
- 5
如下图所示:
(3)启动tftp服务器
$ sudo service tftpd-hpa restart
- 1
(4)测试tftp服务器
//安装tftp客户端
$ sudo apt-get install tftp-hpa
//在我们设置的/home/sky/test/tftp_test目录中touch一个文件如1.txt
//然后在其他目录执行如下命令连接tftp服务器并获取1.txt文件,若成功表示搭建服务成功
$ tftp 127.0.0.1
tftp> get 1.txt
- 1
- 2
- 3
- 4
- 5
- 6
2,uboot网络配置及镜像下载及加载与写入flash
(1)网络配置
进入uboot命令行界面
//设置ip地址
$ set ipaddr 192.168.10.199
//设置网关地址
$ set gatewayip 192.168.10.1
//设置tftp服务端ip地址(pc端地址)
$ set serverip 192.168.10.197
//保存设置
$ saveenv
//查看当前设置,如下图所示
$ pri
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
(2)tftp,内核镜像下载
//pc端将内核镜像复制到/home/sky/test/tftp_test目录中,镜像下载到内存0x80800000位置,下载如下图所示
$ tftp 0x80800000 uImage
- 1
- 2
(3)内核镜像加载或写入flash
//内核镜像加载,(镜像在内存中,掉电消失)
$ bootm 0x80800000
- 1
- 2
//镜像写入nor flash (镜像存入nor flash 掉电不消失)
//清除flash中0x40000开始的0x300000个大小的数据
$ sfcnor erase 0x40000 0x300000
//从内存0x80800000位置开始写入0x300000个大小的数据到flash中0x40000位置
$ sfcnor write 0x40000 0x300000 0x80800000
- 1
- 2
- 3
- 4
- 5