Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| boards:nms-sm-rk3588:u-boot:start [2025/10/14 10:03] – создано Артем Слепов | boards:nms-sm-rk3588:u-boot:start [2025/11/12 04:42] (текущий) – [Описание загрузчика NMS-SM-RK3588-U-Boot] Артем Слепов | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== Описание загрузчика NMS-SM-RK3588-U-Boot ====== | + | ====== Описание загрузчика NMS-SM-RK3588-U-Boot ====== |
| + | |||
| + | {{ : | ||
| + | ===== Назначение | ||
| NMS-SM-RK3588-U-Boot — это программный компонент, | NMS-SM-RK3588-U-Boot — это программный компонент, | ||
| Строка 6: | Строка 9: | ||
| 1. Инициализация аппаратуры | 1. Инициализация аппаратуры | ||
| + | * Настраивает контроллеры памяти (DRAM, SRAM, Flash); | ||
| + | * Конфигурирует тактирование (PLL, clock tree); | ||
| + | * Инициализирует UART, SPI, I²C, GPIO, сетевые интерфейсы; | ||
| + | * Подготавливает устройства хранения (eMMC, SD, SATA SSD и т.п.). | ||
| - | Настраивает контроллеры памяти (DRAM, SRAM, Flash); | ||
| - | Конфигурирует тактирование (PLL, clock tree); | ||
| - | Инициализирует UART, SPI, I²C, GPIO, сетевые интерфейсы; | ||
| - | Подготавливает устройства хранения (eMMC, SD, SATA SSD и т.п.). | ||
| 2. Загрузка операционной системы | 2. Загрузка операционной системы | ||
| + | * Находит и загружает ядро ОС и корневую файловую систему; | ||
| + | * Передаёт ядру параметры (адреса памяти, | ||
| + | * Запускает ядро на выполнение. | ||
| - | Находит и загружает ядро ОС и корневую файловую систему; | ||
| - | Передаёт ядру параметры (адреса памяти, | ||
| - | Запускает ядро на выполнение. | ||
| 3. Поддержка различных источников загрузки | 3. Поддержка различных источников загрузки | ||
| + | * Может загружать ОС из Flash, SD-карты, | ||
| + | * Позволяет выбрать порядок загрузки (boot sequence). | ||
| - | Может загружать ОС из Flash, SD-карты, eMMC, USB, сети | + | 4. Интерактивная оболочка (CLI) |
| - | Позволяет выбрать порядок загрузки (boot sequence). | + | * Через консоль UART можно |
| - | 4. Интерактивная | + | * Настраивать переменные |
| + | * Отлаживать систему | ||
| - | Через консоль UART можно выполнять команды вручную; | ||
| - | Настраивать переменные окружения (например, | ||
| - | Отлаживать систему на ранних стадиях запуска. | ||
| 5. Обновление и отладка | 5. Обновление и отладка | ||
| + | * Позволяет обновлять прошивку по сети или с USB; | ||
| + | * Используется для диагностики оборудования на ранних этапах | ||
| + | |||
| + | |||
| + | ===== U-boot-2024 | ||
| + | Прямая ссылка на Git с системой сборки: | ||
| + | |||
| + | U-boot для RK3588 можно собрать | ||
| + | |||
| + | U-boot может загружаться либо с SD, либо с eMMC. Приоритет bootrom на EMMC. Приоритет нашего u-boot на SD. | ||
| + | |||
| + | Релиз доступен по ссылке: | ||
| + | |||
| + | Релиз собран с поддержкой: | ||
| + | * ethernet (X7,X8 - cmd: " | ||
| + | * usb (X11 cmd: "usb start" | ||
| + | * sata (m.2 на нижней части платы: X9: cmd: "scsi scan") | ||
| + | * pci (X33-pcie3, X19-pcie2: cmd: "pci enum; | ||
| + | * sdcard(X5 : cmd: "mmc dev 1;mmc info") | ||
| + | * saveenv(сохраняет переменные окружения в eMMC) | ||
| + | Прошивать на SDcard или eMMC так: | ||
| + | < | ||
| + | dd if=u-boot-rockchip.bin of=/dev/XXX seek=64 | ||
| + | </ | ||
| + | |||
| + | U-boot переходит к загрузке ОС командой< | ||
| + | bootflow scan | ||
| + | </ | ||
| + | Команда ожидает extlinux.conf файл носителях, | ||
| + | boot_targets=mmc1 mmc0 nvme scsi usb pxe dhcp spi | ||
| + | </ | ||
| + | * mmc1 - SD на плате SM-EVM | ||
| + | * mmc0 - eMMC на модуле SMARC | ||
| + | * scsi - SATA M2 диск на плате SM-EVM | ||
| + | |||
| + | Таким образом, | ||
| + | |||
| + | Например, | ||
| + | < | ||
| + | setenv boot_targets "scsi mmc1 mmc0 nvme usb pxe dhcp spi" | ||
| + | saveenv | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Файл extlinux.conf ==== | ||
| + | Пример конфигурационного файла для загрузки Buildroot-сборки: | ||
| + | < | ||
| + | TIMEOUT 3 | ||
| + | DEFAULT main | ||
| + | #MENU TITLE Boot menu | ||
| + | |||
| + | label main | ||
| + | kernel /Image | ||
| + | fdt / | ||
| + | initrd / | ||
| + | append earlycon=uart8250, | ||
| + | </ | ||
| + | |||
| - | Позволяет обновлять прошивку по сети или с USB; | ||
| - | Используется для диагностики оборудования на ранних этапах | ||