Поиск
Показаны результаты для тегов 'u-boot'.
-
Есть отладочная плата Firefly ROC-RK3308B-CC-Plus на базе SoC Rockchip RK3308. Собрал U-Boot для него, как и предлагают сами Firefly, из трёх частей: TPL, SPL и непосредственно U-Boot. Но заработало всё только в комбинации с закрытым блобом Rockchip. Вот так всё заработало: #!/bin/sh ./tools/mkimage -n rk3308 -T rksd -d bin/rk33/rk3308_ddr_589MHz_uart4_m0_v2.07.bin idbloader.img # Блоб cat Firefly_Linux_SDK/rk3308_linux_release_v1.5.0a_20221212/u-boot/spl/u-boot-spl.bin >> idbloader.img cp Firefly_Linux_SDK/rk3308_linux_release_v1.5.0a_20221212/u-boot/u-boot.img . rkdeveloptool db Firefly_Linux_SDK/rk3308_linux_release_v1.5.0a_20221212/rkbin/rk3308_loader_uart4_v2.07.139.bin sleep 1 rkdeveloptool wl 0x40 idbloader.img sleep 1 rkdeveloptool wl 0x4000 u-boot.img sleep 1 rkdeveloptool rd Но, судя по вики Rockchip и другим источникам в Интернете, можно запуститься на полностью Open Source загрузчике. Поменял первые две строчки: ./tools/mkimage -n rk3308 -T rksd -d Firefly_Linux_SDK/rk3308_linux_release_v1.5.0a_20221212/u-boot/tpl/u-boot-tpl-dtb.bin idbloader.img cat Firefly_Linux_SDK/rk3308_linux_release_v1.5.0a_20221212/u-boot/spl/u-boot-spl-dtb.bin >> idbloader.img Но так не заработало! В чём может быть дело? Прав ли я вообще, считая что можно обойти фирменный блоб заменой на самостоятельно собранный U-Boot TPL?
-
Всем привет. Есть основной модуль на базе Allwinner T507, который устанавливается на плату с переферией. Стоит задача - добраться до ОС, которая установлена на данном модуле. На вид напоминает какой-то SBC. Документации никакой нет (нагуглить не получилось). Слева на плате похоже выведен UART (NC, TX, RX, GND). Подпаялся к нему. Выводит процесс загрузки: [149]HELLO! BOOT0 is starting! [152]BOOT0 commit : 100e431 [155]set pll start [158]periph0 has been enabled [161]set pll end [163]PMU: AXP858 [168]dram return write ok [171]board init ok [173]debug:rtc h-m-s value:0x0 [176]DRAM BOOT DRIVE INFO: V0.648 [179]the chip id is 0x7400 [182]chip id check OK [185]DRAM_VCC set to 1100 mv [188]DRAM CLK =720 MHZ [191]DRAM Type =8 (3:DDR3,4:DDR4,7:LPDDR3,8:LPDDR4) [201]Actual DRAM SIZE =1024 M [204]DRAM SIZE =1024 MBytes, para1 = 30ea, para2 = 4001000, dram_tpr13 = 6061 [217]DRAM simple test OK. [220]rtc standby flag is 0x0, super standby flag is 0x0 [225]dram size =1024 NOTICE: BL3-1: v1.0(debug):be96482 NOTICE: BL3-1: Built : 18:32:32, 2021-04-21 NOTICE: BL3-1 commit: 8 NOTICE: cpuidle init version V2.0 ERROR: Error initializing runtime service tspd_fast NOTICE: BL3-1: Preparing for EL3 exit to normal world NOTICE: BL3-1: Next image address = 0x4a000000 �[/init]: getty is ttyS0ge spsr = 0x1d3 [/init]: RootDevice is "/dev/mmcblk0p4" , GPT_SUPPORT=1 [/init]: Try to load EMMC ... e2fsck 1.42.12 (29-Aug-2014) /dev/mmcblk0p4: recovering journal /dev/mmcblk0p4: clean, 4544/49152 files, 91415/196608 blocks Starting mount: Mounting privatee2fsck 1.44.5 (15-Dec-2018) /dev/mmcblk0p5: recovering journal /dev/mmcblk0p5: clean, 20/4096 files, 1844/16384 blocks insmod: can't insert '/lib/modules/4.9.170/snc_enable.ko': No such file or directory Starting heartbeat: insmod: can't insert '/lib/modules/4.9.170/i2c-dev.ko': No such file or directory Starting syslogd: OK Starting klogd: cat: can't open '/data/goc/bt_conf.ini': No such file or directory OK using /fb0 Starting haveged: killall: Launcher: no process killed find qt5 installed done OK Starting mount: Mounting mnte2fsck 1.44.5 (15-Dec-2018) /dev/mmcblk0p6: recovering journal /dev/mmcblk0p6: clean, 14/179168 files, 29741/715771 blocks has tinymix Error: only enum types can be set with strings Mixer name: 'audiocodec' Number of controls: 16 ctl type num name value 0 ENUM 1 codec hub mode hub_disable 1 INT 1 digital volume 0 2 INT 1 LINEIN to output mixer gain control 3 3 INT 1 FMIN to output mixer gain control 3 4 INT 1 LINEOUT volume 31 5 BOOL 1 LINEOUT Switch On 6 BOOL 1 Left Output Mixer DACL Switch On 7 BOOL 1 Left Output Mixer DACR Switch Off 8 BOOL 1 Left Output Mixer FMINL Switch Off 9 BOOL 1 Left Output Mixer LINEINL Switch Off 10 BOOL 1 Right Output Mixer DACL Switch Off 11 BOOL 1 Right Output Mixer DACR Switch On 12 BOOL 1 Right Output Mixer FMINR Switch Off 13 BOOL 1 Right Output Mixer LINEINR Switch Off 14 ENUM 1 Left LINEOUT Mux LOMixer 15 ENUM 1 Right LINEOUT Mux ROMixer Usage: tinymix [-D card] [control id] [value to set] Mixer name: 'sndahub' Number of controls: 30 ctl type num name value 0 ENUM 1 ahub audio format Function null 1 BOOL 1 I2S0 SD0 to SDI0 Loopback Debug On 2 BOOL 1 I2S1 SD0 to SDI0 Loopback Debug Off 3 BOOL 1 I2S2 SD0 to SDI0 Loopback Debug Off 4 BOOL 1 I2S3 SD0 to SDI0 Loopback Debug On 5 BOOL 1 I2S0IN Switch Off 6 BOOL 1 I2S0OUT Switch On 7 BOOL 1 I2S1IN Switch Off 8 BOOL 1 I2S1OUT Switch Off 9 BOOL 1 I2S2IN Switch Off 10 BOOL 1 I2S2OUT Switch Off 11 BOOL 1 I2S3IN Switch Off 12 BOOL 1 I2S3OUT Switch Off 13 BOOL 1 DAM0IN Switch Off 14 BOOL 1 DAM1IN Switch Off 15 BOOL 1 DAM0OUT Switch Off 16 BOOL 1 DAM1OUT Switch Off 17 ENUM 1 APBIF0 Src Select APBIF_TXDIF0 18 ENUM 1 APBIF1 Src Select APBIF_TXDIF2 19 ENUM 1 APBIF2 Src Select NONE 20 ENUM 1 I2S0 Src Select NONE 21 ENUM 1 I2S1 Src Select NONE 22 ENUM 1 I2S2 Src Select NONE 23 ENUM 1 I2S3 Src Select NONE 24 ENUM 1 DAM0Chan0 Src Select NONE 25 ENUM 1 DAM0Chan1 Src Select NONE 26 ENUM 1 DAM0Chan2 Src Select NONE 27 ENUM 1 DAM1Chan0 Src Select NONE 28 ENUM 1 DAM1Chan1 Src Select NONE 29 ENUM 1 DAM1Chan2 Src Select NONE Usage: tinymix [-D card] [control id] [value to set] 7c0014585055c6f1bce Starting adb install_listener('tcp:5037','*smartsocket*') device_chose finished! Но tty-ка на нем не оказалось. Нужно искать дальше... Справа вверху подготовка с маркировкой (ID, V, G , <-). Похоже на USB. Контакты которые не подписаны похоже на D+, D-. Звонятся с USB D+, D- с распаеным USB на переферийной плате. Но распаенный USB предназначен для флешки под обновы и патчи, т.е. работает в режиме хоста. Значит через него похоже не добраться до tty. Но настораживает контакт ID в маркировке. Значит похоже предусмотрено переключение OTG. Также в конце лога загрузки есть: какбы намекает что какой-то USB OTG переведен в режим device. Есть способ какой-то найти этот USB? Может на нем слушается tty или запущен ADB (который фигурирует в логе загрузки и поднимается на порту 5037). Еще один из путей решения задачи - скомпилировать загрузчик, miniOS и попробовать загрузится с SD. Дальше примонтировать базоваю ОС с eMMC. Но этот путь пока не увенчался успехом. Нет нигде под Т507 SPL, ядра, dts. Все попытки собрать загрузчик при включении на UARTе тишина. Может кто-то сталкивался с загрузкой данного типа SoC и поделится опытом? Есть еще пусть - в сторону wifi модуля. Но мне кажется он слабоперспективным. Врядли кто-то бы открытую точку доступа поднял на этом интерфейсе (проверить не могу, нет антены). А остальные методы достучаться до него без доступа в ОС мне неизвестны. Путь со сдуванием eMMC и снятие дампа на текущем этапе не рассматривается. Можете подсказать ваше видение решения данной задачи?
-
Добрый день, хочу поделится ссылкой на проект U-boot для платы ZedBoard Возможно будет полезно новичками которые хотят подробнее разобраться с загрузчиком или что-то подправить под себя. Проект позволяет собирать U-boot из исходников и так же запускать его из под SDK с точками останова как в режиме bare-metal. Все инструкции в репозитории + видеоинструкция. Если у кого получится повторить буду рад услышать ответ. Из особенностей для отладки пришлось закомментировать часть функций SPL, все комментарии добавленные мной начинаются с /* mollex: comment , количество небольшое. Ссылка на проет: https://github.com/mollex/workspace20154_uboot_dev