Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
MAX: starterkit.ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:1
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:2
Форум » starterkit.ru » Отладочные платы » SK-A40i
Allwinner A40i включение режима сна deep
phantom36
Добавлено 11.02.2026 15:46 Сообщение: 31
phantom36
0

Пункты: 5
Регистрация: 13.06.2015
Цитата
Цитата
оказывается всё проще, всё уже объявлено

\uboot-2022.10\arch\common\spl_mmc.c:
#ifndef CONFIG_SPL_OS_BOOT
int spl_start_uboot(void)
{
return 1;
}
#endif

\uboot-2022.10\include\spl.h:
void spl_board_prepare_for_linux(void);


в доке рекомендуют свой метод перехода на обычный убут добавлять что и сделаано в вашем примере с imx6 - если включена консоль в spl нажатие клавиши "c" прервет режим быстрой загрузки и перейдет на загрузку убута, без этого в убут вам не вернуться

спасибо, я Ц понимаю. я это не чтобы повыделываться, а чтобы вы не тратили ваше время на разжёвывание мне понятных вещей ) я по результатам запуска falcon mode в начале с fat (чтобы постепенно идти к запуску с адресов секторов, понимая что я делаю) - заведу новую тему, именно по falcon boot?..
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 11.02.2026 15:55 Сообщение: 32
sasamy
4.71

Регистрация: 14.08.2009
Цитата

заведу новую тему, именно по falcon boot?..


да, полезная тема. Я сейчас доки изучаю и пробую так что своего опыта минимум - резких ответов не ожидайте, это скорей будет обмен опытом.
Я когда то делал быструю загрузку для imx6 но тогда брал кастомный загрузчик, офигеть 12 лет уже прошло :)

http://www.starterkit.ru/html//index.php?name=forum&op=view&id=21583&last#21611
Спуститься к концу Подняться к началу
Персональная информация
phantom36
Добавлено 12.02.2026 00:53 Сообщение: 33
phantom36
0

Пункты: 5
Регистрация: 13.06.2015
на сегодня мои потуги закончились на:
U-Boot SPL 2022.10 (Feb 11 2026 - 23:48:53 +0300)
DRAM: 1024 MiB
Trying to boot from MMC2
MMC: no card present
spl: mmc init failed with error: -123
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 12.02.2026 14:27 Сообщение: 34
sasamy
4.71

Регистрация: 14.08.2009
Цитата
на сегодня мои потуги закончились на:
U-Boot SPL 2022.10 (Feb 11 2026 - 23:48:53 +0300)
DRAM: 1024 MiB
Trying to boot from MMC2
MMC: no card present
spl: mmc init failed with error: -123
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
...


пробовал две разные версии убута, сконфигурировал все по примерам и докам, результат одинаковый - SPL зависает если грузить ядро

На крайнем u-boot-2026.01 проще - там все в конфиге борды можно прописать, добавил там

CONFIG_CMD_SPL=y
CONFIG_CMD_SPL_WRITE_SIZE=0x20000
CONFIG_SPL_RAW_IMAGE_SUPPORT=y
CONFIG_SPL_OS_BOOT=y
CONFIG_SPL_PAYLOAD_ARGS_ADDR=0x44000000
CONFIG_SPL_FALCON_BOOT_MMCSD=y
CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR=0x1000
CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR=0x800
CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS=0x100

после загрузки приготовил для фалкона

mmc dev 1
fatload mmc 1 $fdt_addr_r sun8i-a40i-sk.dtb
fatload mmc 1 $kernel_addr_r uImage
mmc write ${kernel_addr_r} 0x1000 0x4000
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk2p2 rootwait
spl export fdt ${kernel_addr_r} - ${fdt_addr_r}
mmc write $fdtargsaddr 0x800 0x100

после перезагрузки просто зависает

U-Boot SPL 2026.01 (Feb 12 2026 - 13:38:35 +0300)
DRAM: 512 MiB
Trying to boot from MMC2

перерыл инет - нигде не нашел упоминаний чтобы кто-то алвинеры в режиме фалкона запускал.. не спроста все это :) с fat даже не собирается потому что когда поддержку в spl для fat включаешь размер имиджа превышает sram
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 12.02.2026 14:35 Сообщение: 35
sasamy
4.71

Регистрация: 14.08.2009
Цитата

На крайнем u-boot-2026.01 проще - там все в конфиге борды можно прописать, добавил там


еще надо учитвать что фалкон не умеет грузить
zimage, поэтому ему надо в buildroot указать uImage собирать

make menuconfig

Kernel --->

Kernel binary format (uImage) --->

(0x40008000) load address (for 3.7+ multi-platform image)

добавил смещение раздела фат для тогл чтобы было место для ядра и параметров фалкона

buildroot-2022.08.8-sk-a40i/board/starterkit/sk-a40i-sodimm/genimage.cfg

partition boot {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
offset = 10M
}
Спуститься к концу Подняться к началу
Персональная информация
phantom36
Добавлено 12.02.2026 19:41 Сообщение: 36
phantom36
0

Пункты: 5
Регистрация: 13.06.2015
Цитата
еще надо учитвать что фалкон не умеет грузить
zimage, поэтому ему надо в buildroot указать uImage собирать

сейчас первая задача это понять что SPL делает после
spl_board_init() в board.c.
ещё у меня нет понимания чем отличается spl_board_init() в и spl_board_init_r()
в общем сейчас задача понять почему плата после входа в SPL с выводом на экран потребляет на 20мА меньше чем при работе загрузчика. надо понять что она не включила (EMMC?) и почему.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 12.02.2026 20:09 Сообщение: 37
sasamy
4.71

Регистрация: 14.08.2009
Цитата

в общем сейчас задача понять почему плата после входа в SPL с выводом на экран потребляет на 20мА меньше чем при работе загрузчика. надо понять что она не включила (EMMC?) и почему.


в моем случае SPL отрабатывает полностью без ошибок - я ставил принты и управление передается ядру но на этом тишина, помоему аргументы передаются левые. Мне вообще не очень понятны их выкрутасы с DTS и uImage

spl export fdt ${kernel_addr_r} - ${fdt_addr_r}
mmc write $fdtargsaddr 0x800 0x100

Я очень давно не погружался в загрузчики, но мне кажется надо попробовать дописать загрузку напрямую zImage
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 12.02.2026 20:18 Сообщение: 38
sasamy
4.71

Регистрация: 14.08.2009
В аргументах какой-то мусор в итоге передается, вроде все по мануалам делал

U-Boot SPL 2026.01 (Feb 12 2026 - 18:02:37 +0300)
DRAM: 512 MiB
Trying to boot from MMC2
mmc_load_image_raw_os: 1
mmc_load_image_raw_os: 3
mmc_load_image_raw_os: 4
mmc_load_image_raw_os: 5
mmc_load_image_raw_os: 6
mmc_load_image_raw_os: 7
boot_from_devices: 1
board_init_r: 1
board_init_r: 2
board_init_r: 3
board_init_r: 4
board_init_r: 5
board_init_r: 6
board_init_r: 7
board_init_r: 8
board_init_r: 9
board_init_r: 10
board_init_r: 11
board_init_r: 13
board_init_r: 15
board_init_r: 18
board_init_r: 21
board_init_r: 22
board_init_r: 25
jump_to_image_linux: 1
Entering kernel arg pointer: 0x?
Entering kernel: 0x40008000
jump_to_image_linux: 2
Спуститься к концу Подняться к началу
Персональная информация
phantom36
Добавлено 12.02.2026 22:44 Сообщение: 39
phantom36
0

Пункты: 5
Регистрация: 13.06.2015
понять бы откуда столько board_init'ов.

board_init();
spl_board_init(void);
sunxi_board_init(void) - printf("DRAM:");
/home/user/src/buildroot-2022.08.8-sk-a40i/output/build/uboot-2022.10/board/sunxi/board.c

board_init_r();
/home/user/src/buildroot-2022.08.8-sk-a40i/output/build/uboot-2022.10/common/board_r.c

board_init_f(ulong dummy)
/home/user/src/buildroot-2022.08.8-sk-a40i/output/build/uboot-2022.10/arch/arm/mach-sunxi/board.c

судя по надписи "DRAM:" у нас, запускается в начале sunxi_board_init(void), в ней есть printf("DRAM:");
потом у меня запускается spl_board_init(void);
а вот дальше что?..

щас поищу в исходниках кто по очереди запускает
sunxi_board_init и spl_board_init, чтобы понять что запускается дальше...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 12.02.2026 23:24 Сообщение: 40
sasamy
4.71

Регистрация: 14.08.2009
Цитата

понять бы откуда столько board_init'ов.


это не так важно - и в штатном убуте и в самом свежем ядро не подает признаки жизни после пердачи ему управления, чего то в spl не хватает из того что потом делает основной убут

U-Boot SPL 2022.04 (Feb 12 2026 - 22:49:40 +0300)
DRAM: 512 MiB
Trying to boot from MMC2
Jumping to Linux
Entering kernel arg pointer: 0x43000000
Entering kernel: 0x42000000

zImage оказалось из коробки подддерживает - непонятно почему доки не обновляют, читает все без ошибок но после прыжка на ядро ничего больше нет в логах, параметры ядра добавил в DT чтобы не плясать с бубном в загрузчике но все равно тишина...
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-A40i