分类: 嵌入式
2017-04-11 16:52:27
使用tftp给ARM下载程序
1.开发板和主机能够ping的通
前提:要把计算机的防火墙关了,不然就会出现下面这种情况
如果电脑连接的无线网,那么设置本地连接的ip设置为固定ip。Ip地址和开发的ip地址的网段一样。
比如:
开发板ip:
192.168.1.121
那么可以设置电脑的ip:
192.168.1.120
2.
按q键进入
打印开发板ip
设置开发板的ip
set ipaddr ip地址
设置服务器地址
set serverip ip地址
保存
save
3.打开tftp
4.使用命令下载程序
tftp 30000000 uImage
下载成功了。
5.
使用mtdpart查看开发板的分区(韦东山的uboot已做nand分区)
使用命令 nand erase kernel 擦除kernel分区
烧写内核
nand write.jffs2 30000000 kernel
30000000:是我们使用tftp下载uImage的地方,该uImage已经有jffs2文件系统。
kernel:存放在flash的一个分区,把jffs2文件系统烧写到kernel分区
烧写文件系统
1.使用 tftp 30000000 fs_qtopia.yaffs2下载文件系统到0x3000 0000 的内存处,就是SDRAM的开始地方(0x3000 0000 -0x33ff ffff)64MB
等着下载完。
下载结束
总共大小有0x2f76b40 这么大
2.nand erase root擦除root分区
3.把下载的fs_qtopia.yaffs2烧写到root里面去的
命令:
nand write.yaffs 30000000 260000 2f76b40
260000:是nandflash的偏移地址,2f76b40 是yaffs2的文件系统的大小
30000000存放yaffs2的文件系统起始地址
260000是root的地址
2f76b40是yaffs2的大小
烧写结束。
开关至nand启动,重启开发板。
大概流程就这个样子:
下载文件系统到指定的某块区域(一般是SDRAM),然后擦除指定的地址(Nandflash上用来存放已下载到SRAM的数据),把存放在SDRAM的数据写到Nandflash指定的地址上面。