2016-03-29 4 views
0

Я использовал следующие шаги для флэш-nand на моей плате с u-boot.Мигающий nand с sdcard данными из ядра

  1. Загрузили багор из SD-карты и остановились в U-boot.
  2. нагруженное ядро ​​из SDCard в ОЗУ

    #mmc чтения $ {loadaddr} 0x800 0x1800

  3. стерта NAND Flash, используя команду стирания NAND.

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

  4. скопирован ядра из оперативной памяти в NAND.

    #nand написать $ {} loadaddr смещение размера

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

ответ

2

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

Для этого вы можете создать функцию с помощью функции nand mmc. NAND чтение/запись MMC чтение/запись может быть вызвано их соответствующей записью записи Using NAND funtions from kernel и MMC Kernel API reference соответственно.

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

0

Я мог бы сделать с командой dd.

#dd if=/dev/mmcblk0 of=/dev/mtd1 bs=1M skip=1 count=3 
Смежные вопросы