wiki:somiq-am35-nand
no way to compare when less than two revisions
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия | |||
— | wiki:somiq-am35-nand [2014/01/10 13:45] (текущий) – [Карта памяти NAND] maxx | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Описание записи загрузчиков в NAND ====== | ||
+ | На данной странице описаны действия, | ||
+ | |||
+ | Сначала необходимо подготовить SD карту для загрузки: | ||
+ | - [[somiq-am35-sd|Подготовить SD карту для загрузки SomIQ-AM35]] | ||
+ | - Скопировать файл MLO на SD карту ([[somiq-am35-fw|как создать MLO файл]]) | ||
+ | - Скопировать u-boot.bin на SD карту ([[somiq-am35-fw|как создать u-boot.bin файл]]) | ||
+ | - Скопировать файл ядра uImage на SD карту ([[somiq-am35-kernel|как создать uImage файл]]) | ||
+ | - Скопировать файл с файловой системой (например, | ||
+ | - Загрузится с SD карты (на [[Somiqboard]] удерживайте кнопку USER (S1) и нажмите RESET (S2)) | ||
+ | - Когда загрузится u-boot выполните следующие команды | ||
+ | |||
+ | ===== Карта памяти NAND ===== | ||
+ | Пространство NAND распределено следующим образом: | ||
+ | ^ Назначение ^ Адресное пространство ^ | ||
+ | | x-loader | 0x00000000 - 0x0007FFFF | | ||
+ | | u-boot | 0x00080000 - 0x0023FFFF | | ||
+ | | u-boot Env | 0x00240000 - 0x0027FFFF | | ||
+ | | ядро Linux | 0x00280000 - 0x67FFFF | | ||
+ | | файловая система | 0x680000 - до конца NAND | | ||
+ | |||
+ | ===== Инициализация SD/MMC и стирание NAND ===== | ||
+ | Инициализация карты SD/MMC необходима, | ||
+ | < | ||
+ | mmc rescan | ||
+ | </ | ||
+ | Перед записью в любую флеш память её необходимо сначала очистить, | ||
+ | |||
+ | **!Обратите внимание, | ||
+ | |||
+ | * Полная очистка всего NAND чипа: | ||
+ | < | ||
+ | nand erase.chip | ||
+ | </ | ||
+ | * Очистка только определенных секторов (1 сектор = 128кБ = 0x20000) | ||
+ | |||
+ | в этом примере очистим 4 первых (смещение " | ||
+ | < | ||
+ | nand erase 0 80000 | ||
+ | </ | ||
+ | Обратите внимание, | ||
+ | < | ||
+ | nand scrub 0 80000 | ||
+ | </ | ||
+ | |||
+ | ===== Запись X-loader ===== | ||
+ | < | ||
+ | mw.b 81600000 0xFF 60000 | ||
+ | nand erase 0 60000 | ||
+ | fatload mmc 0 0x81600000 MLO | ||
+ | cp.b 0x81600000 0x81620000 20000 | ||
+ | cp.b 0x81600000 0x81640000 20000 | ||
+ | nandecc hw | ||
+ | nand write.i 0x81600000 0 60000 | ||
+ | </ | ||
+ | Обратите внимание, | ||
+ | |||
+ | ===== Запись u-boot.bin ===== | ||
+ | < | ||
+ | mw.b 0x81600000 0xFF 60000 | ||
+ | nand erase 40000 100000 | ||
+ | fatload mmc 0 0x81600000 u-boot.bin | ||
+ | nandecc sw | ||
+ | nand write.i 0x81600000 80000 60000 | ||
+ | </ | ||
+ | |||
+ | ===== Запись ядра ===== | ||
+ | < | ||
+ | mw.b 81600000 0xFF 500000 | ||
+ | fatload mmc 0 81600000 uImage | ||
+ | nand erase 160000 500000 | ||
+ | nandecc sw | ||
+ | nand write.i 81600000 160000 500000 | ||
+ | </ | ||
+ | |||
+ | ===== Запись файловой системы ===== | ||
+ | в данном примере записывают файловую систему в формате jffs2, но может быть любая: FAT, EXT2 и т.п. | ||
+ | |||
+ | Чтобы создать образ файловой системы JFFS2 выполните команду: | ||
+ | < | ||
+ | sudo mkfs.jffs2 -lqn –e 128 -r target -o fs.jffs2 | ||
+ | </ | ||
+ | В данной команде: | ||
+ | * target - директория где находятся файлы для файловой системы | ||
+ | * fs.jffs2 - имя образа файловой системы | ||
+ | |||
+ | // | ||
+ | |||
+ | < | ||
+ | fatload mmc 0 0x81600000 rootfs.jffs2 | ||
+ | nand erase 660000 3200000 | ||
+ | nandecc sw | ||
+ | nand write.i 0x81600000 660000 FF0000 | ||
+ | </ | ||
+ | ===== Проблемы ===== | ||
+ | Что делать если вы записали в NAND неверные данные, | ||
+ | |||
+ | Нажмите кнопку USER (S1 на Somiqboard v2) и удерживая её нажмите кнопку RESET (S2 на Somiqboard v2), отпустите RESET, но удерживайте USER. Модуль загрузится с SD и далее вы можете реанимировать NAND флеш. | ||
wiki/somiq-am35-nand.txt · Последнее изменение: 2014/01/10 13:45 — maxx