ubootnand命令(uboot 命令)
如何将U-boot烧录到Nand中?如何用tftp,nfs加载内核和文件系统
硬件平台是 XAM335x的SKEVM板子。
开发主机上安装的是ubuntu14.04。
SDK是 PROCESSOR-SDK-LINUX-AM335X 02_00_00_00。
1,运行了SDK下面的setup.sh,创建了/tftpboot,以及targetNFS目录了。
2,在sdk的更目录make都是成功的。
然后我也可以用做卡的方式把我自己编译的kernel, uboot以及系统带的 targetNFS目录下的文件系统,写到SD卡中。而且能够通过SD卡正常启动。
现在我想脱离SD卡启动方式。
1,所以要先把U-boot烧录到Nand中,(这里我不知道怎么下载。请告诉我下载方法。)
2,然后开机进入U-boot命令,设置好开发板IP以及serverip等配置。
3,通过tftp命令 (tftp c0008000 zImage-am335x-evm.bin)命令,串口段打印一大串###,也没报错,好像是下载内核成功了。(这里请问下,tftp命令里的地址 0xc0008000是否正确?应该用什么地址?)
4,NFS下载文件系统,(这一步我也不知道怎么做,网上有命令 setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=ttyS0,115200等等命令。
EasyARM-iMX283开发板烧写uboot到nand时失败的解决方法?
接上SCL1 SDA1 到串口看输出信息
mtd: Failed to erase block @0xa0000
mtd: device 0 fails MEMERASE (0xc0000 - 0x20000)
mtd: Failed to erase block @0xc0000
mtd: device 0 fails MEMERASE (0xe0000 - 0x20000)
mtd: Failed to erase block @0xe0000
mtd: device 0 fails MEMERASE (0x1400000 - 0x0)
mtd: Failed to erase block @0x1400000
mtd: Failed to write BS#0
FAILED to commit structures
UTP: sending Non-success
utp_poll: exit with status 1280
里面提示从0地址到很大区域都是坏块,这是烧写wince后假坏块造成的。
方案1:请使用sb_loader.exe【\3.Linux\2.工具软件\1.Windows工具软件\MfgTool\Utils】将下面的erase_nand.sb下载到DDR运行,一路按“n”,直到提示NAND测试时,按“y”进去,开始擦除整块Nand。擦除后,即可按照正常步骤继续烧写uboot到Nand。
方案2:直接使用uboot,执行nand scrub命令,此时Nand中的数据都会被清除,重新使用MfgTool下载uboot到Nand即可正常使用。
此sb_loader的用法:
cmd黑窗口下执行 sb_loader.exe -f erase_nand.sb,此时会提示
Downloading erase_nand.sb to device.
................... CStHidDevice::Download() Error(258) during read.
Quitting.
Error(258)during download.
Quitting.
这是下载成功了。串口已经有输出信息了。
********************************************************
Diagnostics Suite (1.0) on i.MX28 evk
Build:Mar 11 2014, 10:59:41
Freescale Semiconductor, Inc.
********************************************************
---- Running UART test
Please enter y or Y to confirm
如果你想了解更详细的,到【致远电子】了解一下吧,他们那有呢
uboot中没有nand指令,怎么烧写到flash
nand flash,厂家会保证第一块是好的。第一块是启动需要的,硬件决定了上电从第一块读代码到内存运行,配置nand flash控制器,拷贝数据到SDRAM。
第一块为坏块,整个芯片就只能作废了!
重新擦除一下,包括ECC,如果再不能用,就是彻底坏了,换掉吧!
与uboot无关!
飞凌开发板6410 uboot 什么命令擦除nandflash啊?
sf erase + 起始地址+ 擦查长度
在uboot下输入help可以查看所有的命令
飞凌开发板6410 uboot 什么命令擦除nandflash啊
使用nand erase 擦出整片Nand。 如果在后面给出参数可以擦除某个分区。 你使用的erase 命令是用来擦出NorFlash的,不是Nand的。
如何通过uboot烧写rootfs.img 到nand
方法一,利用NOR Flash。
这种方法是利用JLink能够烧写程序到NOR Flash来完成的,首先利用J-FLASH ARM将u-boot.bin烧写进NOR Flash(记得烧写到NOR Flash的0x0起始地址处),然后设置开发板从NOR Flash启动,这时候系统进入U-boot命令行模式,这时候打开J-Link commander,输入命令:r 看JLink是否能识别开发板的信息(也就是判断JLink是否连接正常)。
以下是在J-Link commander里的命令,先假设u-boot.bin在你电脑的D盘根目录下。
1. speed 12000 //设置TCK为12M,下载程序时会很快
2. loadbin d:\u-boot.bin 0x30000000
注意:0x30000000是你想要下载u-boot.bin到开发板的内存地址,内存地址根据不同的开发板设定不同,因为本文中使用的是FL2440,片上系统是S3C2440,内存挂载的地址区域是0x30000000~0x33ffffff,我们只需要把u-boot.bin下载到这片区域即可。
然后我们在U-boot命令行模式输入NAND Flash擦除和写入命令即可:
nand erase 0 40000
// 擦除从0地址开始的大小为0x40000的Nnad Flash扇区,0x40000是待写入的U-boot.bin的大致长度,长度必须为NAND Flash页大小的整数倍,通常会需要比u-boot.bin实际长度长。
nand write 30000000 0 40000 // 把前面下载到0x30000000的u-boot.bin烧写到Nand去
然后我们再设置开发板从NAND Flash启动即可。转载,仅供参考。