用kermit通过串口往nandflash里烧写文件
2013-05-21 14:44
951 查看
用kermit通过串口往nandflash里烧写文件 | |
一.背景说明.目标板为仿照N个开发板制作的,配置如下:
NorFlash
:2MB EN29LV160AB
NandFlash:
128MB
SDRAM:
64MB
u-boot版本:u-boot-2010-03(通过移植,已支持从nandflash启动,支持
nand命令。但网卡驱动尚未移植成功,故在这里尝试用串口传输文件)
由于自己水平菜,到现在网卡驱动还没移植好,只能悲剧的用kermit通过串口往flash上烧写程序。实际上是通过串口将bin文件传送到内存,再通过u-boot的nand
write命令擦写nandflash.
二.操作步骤:
(1)通过jtag将尚未完全移植成功的uboot烧写到norflash中(在windows下)。切换到Linux,连上串口线,将开发板拨到norflash,打开kermit,如图:
(2)输入connect,如图:
(3)给板子上电,kermit打印串口信息,如图:
(4)在uboot命令中输入loadb
0x30003000,(0x30003000为传送到内存起始位置)如图:
(5)按住Ctr+\,再按c键,如图:
(6)输入命令:send
/home/strider/uboot/u-boot-2010.03/u-boot.bin,如图:
(7)按下回车,稍等片刻,产生传送文件的画面,如图:
(8)传送完成后,又回到kermit命令界面,如图:
(9)再次输入connect,回车,进入uboot命令界面,如图:
此时uboot已经传送到内存0x30003000起始的位置处。从上图可以看出文件大小是0x00027958,这个参数在下面将uboot从内存中烧写到nandflash时会用到。
(10),我们假设烧写nandflash时指定的文件大小小于上图所示的大小,看会有什么情况。在uboot命令中输入:nand
write 0x30003000 0 0x00020000,回车:
出现错误:
原因是因为nand
flash在烧写之前要先擦除,执行擦除命令如下:
再次执行nand
write 0x30003000 0 0x00020000,烧写成功,如下图:
(11),将板子启动位置拨到nandflash,重启板子,观察串口无输出。
(12)重复(1)-(9)的操作;
在烧写nand
之前执行nand
erase ;
再次执行nand
write 0x30003000 0 0x00030000,烧写成功。
(13)执行(11),观察串口有输出,如下图:
说明nandflash烧写uboot成功。
相关文章推荐
- 用kermit通过串口往nandflash任意地址里烧写任何文件!
- 将内存中的内核烧写到nandflash中;通过串口下载内核和文件系统
- ubuntu10.04下使用kermit协议,通过串口传送文件
- ubuntu下使用kermit协议,通过串口传送文件
- ubuntu下使用kermit协议,通过串口传送文件[转]
- ubuntu下使用kermit协议,通过串口传送文件[转]
- ubuntu下使用kermit协议,通过串口传送文件(留存验证)
- 嵌入式linux系统与主机通过串口传输文件
- 如何用nfs命令烧写内核和文件系统(网络下载文件到nandflash)(未完)
- OK6410烧写裸机程序到nandflash,不使用jlink,支持大文件烧写
- LINUX和PC之间通过串口传文件
- 通过串口下载内核和文件系统(总结)
- 用uboot 烧写uboot linux内核 文件系统到nandflash的 过程以及bootm go命令启动与区别(2010-12-19 17:27:43)
- 嵌入式 hi3518a裸板在nandflash上烧写uboot以及kernel以及文件系统
- 在UBUNTU10.04环境下利用TFTP烧写文件到ARMS3C2440的NANDFLASH
- python通过串口读取GPS NMEA格式的数据,并保存为csv文件
- 通过uboot给arm开发板烧写内核,文件系统
- S5pv210烧写本地文件系统到NANDflash
- 串口传输bin文件-C - kermit工具、kermit协议
- 使用lrzsz工具通过串口向开发板传送文件