DM3730开发板使用uboot通过网络下载内核和文件系统 ubuntu下配置 TFTP

本文介绍了如何在Linux环境下配置TFTP服务器,包括安装必要软件、配置服务文件以及启动服务。接着讲述了开发板在上电后进入uboot设置环境变量,通过tftp下载MLO到Nand Flash的过程,详细说明了下载步骤和地址映射。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机不服务器间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。 

1、 Linux下配置 TFTP

安装 tftp 所需的软件。首先需要安装 tftp-hpa,tftpd-hpa,前者是客户端,后者是服务程序,在终端下输入 

sudo apt-get install tftp-hpa tftpd-hpa

安装tftp-hpa和tftpd-hpa。然后还需要安装 xinetd,在终端下输入 

sudo apt-get install xinetd

安装好xinetd。 配置相关服务文件。进入根目录下的 etc文件夹(cd /etc/),首先看目录中有没有xinetd.conf 文件,如果没有则新建一个,有的话查看内容,看是否与下面的一致,若不一致则修改,内容如下:

# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/

defaults
{

# Please note that you need a log_type line to be able to use log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info

}

includedir /etc/xinetd.d
配置tftp 服务器
命令:
sudo vim /etc/default/tftpd-hpa
将内容修改成
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

其中 tftpboot这是你tftp 服务器的工作目录, 这里所设置的tftpboot在根目录下,可以自行修改,注意,在新建工作目录时,最好修改其权限为 777,命令

sudo chmod 777 /tftpboot
然后迚入xinetd.d 文件夹(cd /etc/xinetd.d),查看是否有一个 tftp 文件,如果没有就新建一个,如果有的话就查看内容是否不下面的一致,丌一致则修改,内容如下:

service tftp 
{ 
socket_type = dgram 
wait = yes 
disable = no 
user = root 
protocol = udp 
server = /usr/sbin/in.tftpd 
server_args = -s /tftpboot 
per_source = 11 
cps =100 2 
flags =IPv4 
} 
修改所需文件夹的权限。需要修改的文件夹也就是上一步提到的那个服务器文件存放的文件
夹,以本手册的配置文件为例,创建一个文件夹(sudo mkdir /tftpboot),然后把它可以设置成
访问权限为

sudo chmod 777 /tftpboot。
重新启服务。
sudo service tftpd-hpa restart
sudo /etc/init.d/xinetd reload
sudo /etc/init.d/xinetd restart
2、开发板使用 tftp下载镜像到 Nand Flash

1) 打开PC机tftp服务
2) 系统上电后迚入uboot,设置开发板环境变量开始下载。

OMAP3 Stalker # setenv serverip 192.168.1.3 (主机IP) 
OMAP3 Stalker # setenv ipaddr 192.168.1.7(评估板IP) 
OMAP3 Stalker # saveenv 

在uboot的命令中输入printenv查看环境变量的设置,后面会显示上面的IP配置信息

3) 下载MLO

#if tftpboot MLO; then nandecc hw; nand erase 0 80000; nand write 82000000 0 80000; fi;
4) 下载u-boot.bin
#if tftpboot u-boot.bin; then nandecc sw; nand erase 80000 160000; nand write ${loadaddr} 80000 160000; fi;
5) 下载uImage

#if tftpboot uImage; then nandecc sw; nand erase 280000 400000; nand write ${loadaddr} 280000 400000; fi;

done
Bytes transferred = 2713652 (296834 hex)
SW ECC selected


NAND erase: device 0 offset 0x280000, size 0x400000
Erasing at 0x660000 -- 100% complete.
OK


NAND write: device 0 offset 0x280000, size 0x400000
 4194304 bytes written: OK


6) 下载ubi.img
#if tftpboot ubi.img; then nandecc sw; nand erase 680000 1000000; nand write ${loadaddr} 680000 d40000; fi;



备注:

一级引导地址:0x0到0x80000
RAM内存地址:0x82000000
u-boot 地址:0x80000到160000
kernel 内核地址:0x
280000到0x400000

ubi.img 文件系统地址:0x680000到0x1000000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值