使用来自内核的 sdcard 数据刷写 nand
Flashing nand with sdcard data from kernel
我已经使用以下步骤从 u-boot 将 nand 闪存到我的板上。
- 从 sdcard 启动主板并停在 U-boot。
已将内核从 sdcard 加载到 RAM
#mmc 读取 ${loadaddr} 0x800 0x1800
已使用 nand erase 命令擦除 nand flash。
#nand擦除偏移大小
已将内核从 RAM 复制到 nand。
#nand 写${loadaddr} 偏移大小
我想在内核中执行相同的步骤,你能指导我如何在内核中将数据从 sdcard 复制到 RAM(寻找 u-boot 的替代命令 "mmc read")。我正在使用基于 IMX53 的定制板。
我可以使用 dd 命令。
#dd if=/dev/mmcblk0 of=/dev/mtd1 bs=1M skip=1 count=3
不建议这样做,因为它可能会阻塞内核,建议在 uboot 本身中这样做,或者您应该以适当的方式编写与锁定和同步有关的代码。
为此,您可以使用 nand & mmc 驱动程序函数创建一个函数。 NANDread/write MMCread/write可以分别调用各自的read writeUsing NAND funtions from kernel and MMC Kernel API reference
然后在文件 /init/main.c
和函数 __init start_kernel(void)
here 中调用函数。
你的函数终于可以在同一个文件的某个地方声明了。
我已经使用以下步骤从 u-boot 将 nand 闪存到我的板上。
- 从 sdcard 启动主板并停在 U-boot。
已将内核从 sdcard 加载到 RAM
#mmc 读取 ${loadaddr} 0x800 0x1800
已使用 nand erase 命令擦除 nand flash。
#nand擦除偏移大小
已将内核从 RAM 复制到 nand。
#nand 写${loadaddr} 偏移大小
我想在内核中执行相同的步骤,你能指导我如何在内核中将数据从 sdcard 复制到 RAM(寻找 u-boot 的替代命令 "mmc read")。我正在使用基于 IMX53 的定制板。
我可以使用 dd 命令。
#dd if=/dev/mmcblk0 of=/dev/mtd1 bs=1M skip=1 count=3
不建议这样做,因为它可能会阻塞内核,建议在 uboot 本身中这样做,或者您应该以适当的方式编写与锁定和同步有关的代码。
为此,您可以使用 nand & mmc 驱动程序函数创建一个函数。 NANDread/write MMCread/write可以分别调用各自的read writeUsing NAND funtions from kernel and MMC Kernel API reference
然后在文件 /init/main.c
和函数 __init start_kernel(void)
here 中调用函数。
你的函数终于可以在同一个文件的某个地方声明了。