[JZ2440] 使用 tftp 烧写 kernel 和文件系统

本文介绍如何使用tftp工具将文件下载到mini2440开发板的SDRAM,并进一步将内核及文件系统烧写进nandflash的过程。包括配置Windows主机IP、搭建tftp服务器、配置开发板IP、执行tftp命令下载内核文件和文件系统到SDRAM、擦除并烧写内核到nandflash以及烧写文件系统。

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

一、使用 tftp 工具下载文件到 mini2440 SDRAM 指定地址中

  1. 配置好 Windows 主机的 ip,这里我的 Windows 主机的 ip 配置为 192.168.1.5。

  2. 搭建 Windows 主机 tftp 服务器。

  Windows 主机行运行 tftp 服务器软件,服务器 ip 默认就是 Windows 主机 ip,无需设置。同时将要通过通过 tftp 下载到开发板的文件拷贝到 tftpd32.exe 服务器软件同级目录下。这里我拷贝了内核文件 uImage 和文件系统 fs_qtopia.yaffs2 到 tftp 目录下。

  

  3. 配置好开发板的 ip 以及配置好开发版中设定的 tftp 服务器 ip。

  上电后,按下空格进入 U-Boot,执行下面的命令,这里设置环境变量中开发板的 ip 为 192.168.1.8,指定 tftp 服务器的 ip 为 192.168.1.5。

OpenJTAG> setenv ipaddr 192.168.1.8 
OpenJTAG> setenv serverip 192.168.1.5
OpenJTAG> save
OpenJTAG> reset

  4. 重启 U-Boot 之后使用 tftp 命令将 tftp 服务器中的文件下载到 SDRAM 中。

OpenJTAG> tftp 30000000 uImage

  这里是下载到 SDRAM 中的 30000000 地址处。

 

二、将内核从 SDRAM 中烧写到 nandflash 中。

  1. 擦除 kernel 分区。

  所谓的 kernel 分区其实只是 nandfalsh 中 0x00060000 - 0x00260000 这段地址空间。

OpenJTAG> nand erase kernel

  2. 烧写到 nandflash 中。

OpenJTAG> nand write.jffs2 30000000 kernel

  这条命令等价于:

OpenJTAG> nand write.jffs2 30000000 60000 200000

  这条命令的意思是:将 SDRAM 中 0x30000000 地址开始连续 0x200000 个字节写入 nandflash 0x60000 地址中去。

 

三、下载烧写文件系统

  同样的方式,执行下列命令可以将文件系统烧写到 nandflash 中。

OpenJTAG> tftp 30000000 fs_qtopia.yaffs2
OpenJTAG> nand erase root
OpenJTAG> nand write.yaffs 30000000 260000 2f76b40

  最后一条命令是:将 SDRAM 中 0x30000000 地址开始连续 0x2f76b40(49769280) 个字节写入 nandflash 0x260000 地址中去。

  不难发现其实 2f76b40 这个值就是 fs_qtopia.yaffs2 文件的大小。

转载于:https://www.cnblogs.com/mz8023yt/p/7663314.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值