Прошивка nand данными sdcard из ядра

Я выполнил следующие шаги, чтобы прошить nand на моей плате из u-boot.

  1. Загрузил baord с sdcard и остановился на U-boot.
  2. Загруженное ядро ​​с sdcard в ОЗУ

    #mmc read $ {loadaddr} 0x800 0x1800

  3. Стирал nand flash с помощью команды nand erase.

    #nand стереть размер смещения

  4. Скопировал ядро ​​из RAM в nand.

    #nand write $ {loadaddr} размер смещения

Я хочу проделать те же шаги в ядре. Не могли бы вы посоветовать мне, как скопировать данные с SD-карты в ОЗУ в ядре (ищу альтернативную команду для u-boot "mmc read"). Я использую нестандартную плату на основе IMX53.


person user3693586    schedule 29.03.2016    source источник


Ответы (2)


Не рекомендуется делать это, так как это может заблокировать ядро, рекомендуется делать это непосредственно в uboot или вам следует написать свой код надлежащим образом, связанный с блокировкой и синхронизацией.

Для этого вы можете создать функцию, используя функцию драйвера nand & mmc. Чтение / запись NAND Чтение / запись MMC может быть выполнено путем вызова их соответствующего чтения / записи Использование Функции NAND из ядра и справочника по API ядра MMC соответственно.

Затем вызовите свою функцию внутри файла /init/main.c и функции __init start_kernel(void) здесь.
И вашу функцию вы можете наконец где-то объявить в том же файле.

person Samrat Das    schedule 30.03.2016

Я мог сделать это с помощью команды dd.

  #dd if=/dev/mmcblk0 of=/dev/mtd1 bs=1M skip=1 count=3
person user3693586    schedule 29.03.2016