wiki:usomiq-am437x-ezsdk
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версияПоследняя версияСледующая версия справа и слева | ||
wiki:usomiq-am437x-ezsdk [2019/05/28 18:21] – [Компиляция ядра] maxx | wiki:usomiq-am437x-ezsdk [2023/06/16 14:32] – [Автономный старт с NAND] admin77 | ||
---|---|---|---|
Строка 101: | Строка 101: | ||
make ARCH=arm CROSS_COMPILE=${CC} zImage modules dtbs | make ARCH=arm CROSS_COMPILE=${CC} zImage modules dtbs | ||
</ | </ | ||
- | Если ваш компьютер имеет несколько процессорных ядер (не путать с логическими ядрами), | + | Если ваш компьютер имеет несколько процессорных ядер (не путать с логическими ядрами), |
< | < | ||
make ARCH=arm CROSS_COMPILE=${CC} zImage modules dtbs -j8 | make ARCH=arm CROSS_COMPILE=${CC} zImage modules dtbs -j8 | ||
Строка 135: | Строка 135: | ||
Если версия sfdisk >= 2.26.x (sfdisk from util-linux 2.27.1), то выполняем команду: | Если версия sfdisk >= 2.26.x (sfdisk from util-linux 2.27.1), то выполняем команду: | ||
< | < | ||
- | sudo sfdisk | + | sudo sfdisk |
1M, | 1M, | ||
13M,,,- | 13M,,,- | ||
__EOF__ | __EOF__ | ||
+ | </ | ||
+ | На карте 16ГБ получилась такая карта разделов: | ||
+ | < | ||
+ | Device | ||
+ | / | ||
+ | / | ||
</ | </ | ||
Теперь форматируем разделы: | Теперь форматируем разделы: | ||
* Форматируем раздел 1 как " | * Форматируем раздел 1 как " | ||
< | < | ||
- | sudo mkfs.vfat -F 32 -n " | + | sudo mkfs.vfat -F 16 -n BOOT /dev/sdc1 |
</ | </ | ||
* Форматируем раздел 2 как " | * Форматируем раздел 2 как " | ||
< | < | ||
- | sudo mkfs.ext4 -L rootfs /dev/sdc2" | + | sudo mkfs.ext4 -L rootfs /dev/sdc2 |
</ | </ | ||
Строка 161: | Строка 167: | ||
Файловую систему скачаем готовую для SDK (размер архива 2ГБ): | Файловую систему скачаем готовую для SDK (размер архива 2ГБ): | ||
< | < | ||
- | wget http:// | + | wget http:// |
</ | </ | ||
Сначала распакуем весь архив: | Сначала распакуем весь архив: | ||
Строка 189: | Строка 195: | ||
sudo tar xf tisdk-rootfs-image-am437x-evm.tar.xz -C / | sudo tar xf tisdk-rootfs-image-am437x-evm.tar.xz -C / | ||
</ | </ | ||
- | ==== Запись загрузчиков на карту ==== | + | ===== Запись загрузчиков на карту |
=== Запись u-boot на карту === | === Запись u-boot на карту === | ||
Заходим в директорию u-boot ' | Заходим в директорию u-boot ' | ||
Строка 207: | Строка 213: | ||
sudo umount /dev/sdc1 /dev/sdc2 | sudo umount /dev/sdc1 /dev/sdc2 | ||
</ | </ | ||
- | Теперь карту можно извлечь из ПК и загружать с нее модуль uSomIQ AM437x. Загрузка происходит автоматически без дополнительных действий. | + | Теперь карту можно извлечь из ПК и загружать с нее модуль uSomIQ AM437x. Загрузка происходит автоматически без дополнительных действий. |
+ | ===== Автономный старт с NAND ===== | ||
+ | === Запись загрузчика u-boot === | ||
+ | Запишем идентификатор платы в EEPROM, установленную на плате модуля. Этот шаг необязателен, | ||
+ | < | ||
+ | => run eeprom_dump | ||
+ | Setting bus to 0 | ||
+ | 0000: 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 ................ | ||
+ | </ | ||
+ | Видно, что память EEPROM чистая. Запишем идентификатор и посмотрим на изменения: | ||
+ | < | ||
+ | => run eeprom_usomiq | ||
+ | => run eeprom_dump | ||
+ | Setting bus to 0 | ||
+ | 0000: aa 55 33 ee 41 4d 34 33 55 53 4f 4d ff ff ff ff .U3.AM43USOM.... | ||
+ | 0010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ | ||
+ | </ | ||
+ | Теперь это однозначно uSomIQ AM437x.\\ | ||
+ | Смотрим какие разделы присутсвуют на флеш NAND: | ||
+ | < | ||
+ | => mtd | ||
+ | |||
+ | device nand0 < | ||
+ | #: name size offset | ||
+ | 0: NAND.SPL | ||
+ | 1: NAND.SPL.backup1 | ||
+ | 2: NAND.SPL.backup2 | ||
+ | 3: NAND.SPL.backup3 | ||
+ | 4: NAND.u-boot-spl-os | ||
+ | 5: NAND.u-boot | ||
+ | 6: NAND.u-boot-env | ||
+ | 7: NAND.u-boot-env.backup10x00040000 | ||
+ | 8: NAND.kernel | ||
+ | 9: NAND.file-system | ||
+ | |||
+ | active partition: nand0,0 - (NAND.SPL) 0x00040000 @ 0x00000000 | ||
+ | |||
+ | defaults: | ||
+ | mtdids | ||
+ | mtdparts: mtdparts=nand.0: | ||
+ | </ | ||
+ | На всякий случай стираем флеш: | ||
+ | < | ||
+ | => nand erase.chip | ||
+ | |||
+ | NAND erase.chip: device 0 whole chip | ||
+ | Erasing at 0x1ffe0000 -- 100% complete. | ||
+ | OK | ||
+ | </ | ||
+ | В ходе выполнения стирания могут появляться сообщения о " | ||
+ | < | ||
+ | mmc rescan | ||
+ | load mmc 0 ${loadaddr} MLO | ||
+ | nand write ${loadaddr} NAND.SPL | ||
+ | nand write ${loadaddr} NAND.SPL.backup1 | ||
+ | </ | ||
+ | Запись файла u-boot.img | ||
+ | < | ||
+ | load mmc 0 ${loadaddr} u-boot.img | ||
+ | nand write ${loadaddr} NAND.u-boot | ||
+ | </ | ||
+ | Запись dtb файла | ||
+ | < | ||
+ | setenv devtype mmc | ||
+ | run findfdt | ||
+ | run loadfdt | ||
+ | nand write ${fdtaddr} NAND.u-boot-spl-os | ||
+ | </ | ||
+ | Запись файла ядра | ||
+ | < | ||
+ | run loadimage | ||
+ | nand write ${loadaddr} NAND.kernel | ||
+ | </ | ||
+ | === Запись файловой системы === | ||
+ | // | ||
+ | |||
+ | |||
+ | теперь набираем команду ' | ||
+ | < | ||
+ | root@am437x-usomiq: | ||
+ | Count of MTD devices: | ||
+ | Present MTD devices: | ||
+ | Sysfs interface supported: | ||
+ | </ | ||
+ | Видим, что последний раздел **mtd9** - это именно раздел под файловую систему. Теперь, | ||
+ | < | ||
+ | ubiformat /dev/mtd9 -s 2048 -O 2048 | ||
+ | ubiattach / | ||
+ | ubimkvol /dev/ubi0 -s 450MiB -N rootfs | ||
+ | mount -t ubifs ubi0:rootfs /mnt | ||
+ | </ | ||
+ | Директория '/ | ||
+ | < | ||
+ | cd /mnt | ||
+ | tar xf ~/ | ||
+ | </ | ||
+ | Теперь можно набрать команду reboot или poweroff, извлечь карту и загружаться непосредственно с модуля без внешнего накопителя. |
wiki/usomiq-am437x-ezsdk.txt · Последнее изменение: 2023/06/16 14:42 — admin77