Инструменты пользователя

Инструменты сайта


wiki:usomiq-am437x-ezsdk

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
wiki:usomiq-am437x-ezsdk [2023/06/16 12:13] – [Автономный старт с NAND] admin77wiki:usomiq-am437x-ezsdk [2023/06/16 14:42] (текущий) – [Автономный старт с NAND] admin77
Строка 213: Строка 213:
 sudo umount /dev/sdc1 /dev/sdc2 sudo umount /dev/sdc1 /dev/sdc2
 </code> </code>
-Теперь карту можно извлечь из ПК и загружать с нее модуль uSomIQ AM437x. Загрузка происходит автоматически без дополнительных действий.+Теперь карту можно извлечь из ПК и загружать с нее модуль uSomIQ AM437x. Загрузка происходит автоматически без дополнительных действий. Логин для входа в Linux - root без пароля
 ===== Автономный старт с NAND ===== ===== Автономный старт с NAND =====
 === Запись загрузчика u-boot === === Запись загрузчика u-boot ===
Строка 223: Строка 223:
 0010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................ 0010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
 </code> </code>
-Видно, что память EEPROM чистая. Запишем идентификатор и посмотрим на изменения:+Видно, что память EEPROM чистая, если модуль предварительно не прошивали. Запишем идентификатор и посмотрим на изменения:
 <code> <code>
 => run eeprom_usomiq => run eeprom_usomiq
Строка 232: Строка 232:
 </code> </code>
 Теперь это однозначно uSomIQ AM437x.\\ Теперь это однозначно uSomIQ AM437x.\\
-Смотрим какие разделы присутсвуют на флеш NAND:+Смотрим какие разделы присутствуют на флеш NAND:
 <code> <code>
 => mtd => mtd
Строка 255: Строка 255:
 mtdparts: mtdparts=nand.0:256k(NAND.SPL),256k(NAND.SPL.backup1),256k(NAND.SPL.backup2),256k(NAND.SPL.backup3),512k(NAND.u-boot-spl-os),1m(NAND.u-boot),256k(NAND.u-boot-env),256k(NAND.u-boot-env.backup1),7m(NAND.kernel),-(NAND.file-system) mtdparts: mtdparts=nand.0:256k(NAND.SPL),256k(NAND.SPL.backup1),256k(NAND.SPL.backup2),256k(NAND.SPL.backup3),512k(NAND.u-boot-spl-os),1m(NAND.u-boot),256k(NAND.u-boot-env),256k(NAND.u-boot-env.backup1),7m(NAND.kernel),-(NAND.file-system)
 </code> </code>
-На всякий случай стираем флеш и записываем MLO файл:+На всякий случай стираем флеш:
 <code> <code>
 => nand erase.chip => nand erase.chip
Строка 262: Строка 262:
 Erasing at 0x1ffe0000 -- 100% complete. Erasing at 0x1ffe0000 -- 100% complete.
 OK OK
-=> mmc rescan +</code> 
-=> load mmc 0 ${loadaddr} MLO +В ходе выполнения стирания могут появляться сообщения о "плохих" блоках. Это особенность NAND флеш и ничего страшного нет, блоки будут помечены как плохие и это никак не повлияет на работу устройства в будущем. 
-128969 bytes read in 14 ms (8.8 MiB/s) +<code> 
-=> nand write ${loadaddr} NAND.SPL+mmc rescan 
 +load mmc 0 ${loadaddr} MLO 
 +nand write ${loadaddr} NAND.SPL 
 +nand write ${loadaddr} NAND.SPL.backup1 
 +</code> 
 +Запись файла u-boot.img 
 +<code> 
 +load mmc 0 ${loadaddr} u-boot.img 
 +nand write ${loadaddr} NAND.u-boot 
 +</code> 
 +Запись dtb файла 
 +<code> 
 +setenv devtype mmc 
 +run findfdt 
 +run loadfdt 
 +nand write ${fdtaddr} NAND.u-boot-spl-os 
 +</code> 
 +Запись файла ядра 
 +<code> 
 +run loadimage 
 +nand write ${loadaddr} NAND.kernel 
 +</code> 
 +=== Запись файловой системы === 
 +//Предварительно надо взять готовый образ файловой системы из архива am437x-evm-linux-sdk-bin-05.02.00.10, например, маленький образ 'arago-tiny-image-am437x-evm.tar.xz', чтобы он точно уместился во флеш памяти.//
  
-NAND write: device 0 offset 0x0, size 0x40000 
- 262144 bytes written: OK 
-=> nand write ${loadaddr} NAND.SPL.backup1 
  
-NAND writedevice 0 offset 0x40000size 0x40000 +теперь набираем команду 'boot' и загружаемся в Linux. Список разделов на флеш памяти можно посмотреть с помощью команды mtdinfo: 
- 262144 bytes writtenOK+<code> 
 +root@am437x-usomiq:~# mtdinfo 
 +Count of MTD devices:           10 
 +Present MTD devices:            mtd0mtd1, mtd2, mtd3, mtd4, mtd5, mtd6, mtd7, mtd8, mtd9 
 +Sysfs interface supported     yes 
 +</code> 
 +Видим, что последний раздел **mtd9** - это именно раздел под файловую систему. Теперь, с помощью ubiutils создаем файловую систему на флеш памяти: 
 +<code> 
 +ubiformat /dev/mtd9 -s 2048 -O 2048 
 +ubiattach /dev/ubi_ctrl -m 9 -O 2048 
 +ubimkvol /dev/ubi0 -s 450MiB -N rootfs 
 +mount -t ubifs ubi0:rootfs /mnt 
 +</code> 
 +Директория '/mnt' теперь это отформатированный раздел на флеш памяти NAND. Теперь запишем файловую систему, которую предварительно записали на SD карту в домашнюю директорию пользователя 'root': 
 +<code> 
 +cd /mnt 
 +tar xf ~/arago-tiny-image-am437x-evm.tar.xz
 </code> </code>
 +Теперь можно набрать команду reboot или poweroff, извлечь карту и загружаться непосредственно с модуля без внешнего накопителя.
  
wiki/usomiq-am437x-ezsdk.1686906807.txt.gz · Последнее изменение: 2023/06/16 12:13 — admin77