使用来自内核的sdcard数据闪烁nand

时间:2016-03-29 12:42:51

标签: linux-kernel embedded-linux u-boot flash-memory

我已经使用以下步骤从u-boot上刷了我的主板上的nand。

  1. 从sdcard启动baord并在U-boot停止。
  2. 从sdcard加载内核到RAM

    #mmc read $ {loadaddr} 0x800 0x1800

  3. 使用nand erase命令擦除nand flash。

    #nand erase offset size

  4. 将内核从RAM复制到nand。

    #nand写入$ {loadaddr}偏移量

  5. 我想在内核中执行相同的步骤,你能指导我如何将数据从sdcard复制到内核中的RAM(寻找u-boot的替代命令" mmc read")。我正在使用基于IMX53的自定义板。

2 个答案:

答案 0 :(得分:2)

建议不要这样做,因为它可能会阻塞内核,建议在uboot本身执行此操作,或者您应该以与锁定和同步相关的正确方式编写代码。

为此,你可以使用nand& amp;创建一个函数。 mmc驱动功能。 NAND读/写MMC读/写可以分别调用它们各自的读写Using NAND funtions from kernelMMC Kernel API reference

然后在文件/init/main.c内调用您的函数并运行__init start_kernel(void) here
你的功能你最后可以在同一个文件中声明。

答案 1 :(得分:0)

我可以用dd命令。

  #dd if=/dev/mmcblk0 of=/dev/mtd1 bs=1M skip=1 count=3