ubootnand命令(uboot 命令)

http://www.itjxue.com  2023-02-11 01:30  来源:未知  点击次数: 

如何将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启动即可。转载,仅供参考。

(责任编辑:IT教学网)

更多