如何通过uboot烧写rootfs.img 到nand

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过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启动即可。转载,仅供参考。
参考技术A   利用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启动即可。转载,仅供参考。

以上是关于如何通过uboot烧写rootfs.img 到nand的主要内容,如果未能解决你的问题,请参考以下文章

如何通过tftp烧写uboot

如何将uboot里面的参数传给recovery或kernel

nanopineocore2怎么把固件tf卡烧写到emm中

求助 关于uboot.BIN 烧写uImage到开发板的内存中

Tiny4412 烧写uboot到emmc步骤

用HiTool烧写uboot到spi flash的原理