主题中讨论的其他器件: AM68
工具与软件:
TDA4VM
SDK 0900
FreeRTOS+Linux
出于某些原因、我们希望 ATF 直接引导 uboot、这是否可行? 如果是、我们应该如何处理?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
AM68上的参考示例:
您必须在 TDA4VM 上执行非常类似的操作。
此致、
基尔西
你(们)好
1.我们当前的引导流程是 R5 SBL -> ATF -> OPTEE -> uboot-spl -> uboot -> Linux、然后我们要将其更改为 R5 SBL -> ATF -> OPTEE -> uboot -> Linux。
2. 从上面的参考示例中,我们发现 ATF 没有做任何改变,这是可以的吗? 我们 在 SBL 中将 uboot 加载到0x800000、然后默认 ATF 会直接引导 uboot?
3. 我们发现上面的例子只改变了 Linux,但我们通过 uboot 加载了 Linux,所以我觉得我们不需要做任何改变,是吗?
4. 我们试图移除 uboot-spl、SBL 启动似乎正常、但 A72在启动至 OPTEE 后卡住。 日志如下所示
R5 SBL
[2025-01-17 10:44:38] (Jan 17 2025 - 10:40:00) [2025-01-17 10:58:13] TIFS ver: 9.0.6--v09.00.06 (Kool Koala) [2025-01-17 10:58:14] SCISERVER Board Configuration header population... PASSED [2025-01-17 10:58:14] Sciclient_setBoardConfigHeader... PASSED [2025-01-17 10:58:14] Efuse xlated: VD 2 to 850 mV (OppVid: 0x41, Slave:0x48, Res:0x0) [2025-01-17 10:58:14] Successfully set voltage to 850 mV for Slave:0x48, Res:0x0 [2025-01-17 10:58:14] Initlialzing PLLs ...done. [2025-01-17 10:58:14] InitlialzingClocks ...done. [2025-01-17 10:58:14] Initlialzing DDR ...done. [2025-01-17 10:58:14] Initializing SERDES ...done. [2025-01-17 10:58:14] Initializing GTC ...Copying EEPROM content to DDR ... [2025-01-17 10:58:14] EEPROM Data Copy Done. [2025-01-17 10:58:14] Begin parsing user application [2025-01-17 10:58:14] Calling Sciclient_procBootRequestProcessor, ProcId 0x20... [2025-01-17 10:58:14] Calling Sciclient_procBootRequestProcessor, ProcId 0x21... [2025-01-17 10:58:14] Calling Sciclient_procBootRequestProcessor, ProcId 0x1... [2025-01-17 10:58:14] Calling Sciclient_procBootRequestProcessor, ProcId 0x2... [2025-01-17 10:58:14] Calling Sciclient_procBootRequestProcessor, ProcId 0x6... [2025-01-17 10:58:14] Calling Sciclient_procBootRequestProcessor, ProcId 0x7... [2025-01-17 10:58:14] Calling Sciclient_procBootRequestProcessor, ProcId 0x8... [2025-01-17 10:58:14] Calling Sciclient_procBootRequestProcessor, ProcId 0x9... [2025-01-17 10:58:15] Calling Sciclient_procBootRequestProcessor, ProcId 0x3... [2025-01-17 10:58:15] Calling Sciclient_procBootRequestProcessor, ProcId 0x4... [2025-01-17 10:58:15] Calling Sciclient_procBootRequestProcessor, ProcId 0x30... [2025-01-17 10:58:15] [2025-01-17 10:58:15] If you don't get the logs of the application while booting from boot0 partition then you might need to pass the MAX_APP_SIZE_EMMC (=<size of you application>) while building your appimage [2025-01-17 10:58:15] Searching for X509 certificate ...found @0x41c7fc60, size = 1746 bytes [2025-01-17 10:58:15] SBL reserved memory Found: Start = @ 0xc1800000, Size = 0x800000 [2025-01-17 10:58:15] Copying 1748 bytes from app to 0xc1800002 [2025-01-17 10:58:15] Found seq @ 0xc180043d [2025-01-17 10:58:15] image length = 2060324 bytes [2025-01-17 10:58:15] Copying 2060328 bytes from offset 0xc20006d0 to 0xc18006d2... [2025-01-17 10:58:15] succeeded to verify signature! [2025-01-17 10:58:15] Detected lockstep for core_id 8, proc_id 0x1... [2025-01-17 10:58:16] Calling Sciclient_procBootGetProcessorState, ProcId 0x1... [2025-01-17 10:58:16] Sciclient_procBootSetProcessorCfg, ProcId 0x1, enabling Lockstep mode... [2025-01-17 10:58:16] Calling Sciclient_procBootGetProcessorState, ProcId 0x1... [2025-01-17 10:58:16] Enabling MCU TCMs after reset for core 8 [2025-01-17 10:58:16] Sciclient_procBootSetProcessorCfg update TCM enable/disable settings... [2025-01-17 10:58:16] Copying 0x40 bytes to 0x41010000 [2025-01-17 10:58:16] Copying 0xf20 bytes to 0x41010040 [2025-01-17 10:58:16] Copying 0x480 bytes to 0x41010f60 [2025-01-17 10:58:16] Copying 0x318 bytes to 0x410113e0 [2025-01-17 10:58:16] Copying 0x2c0 bytes to 0x410116f8 [2025-01-17 10:58:16] Copying 0x118 bytes to 0x410119b8 [2025-01-17 10:58:16] Copying 0x8c bytes to 0xa0100000 [2025-01-17 10:58:16] Copying 0x200 bytes to 0xa0180400 [2025-01-17 10:58:16] Copying 0x200 bytes to 0xa0180600 [2025-01-17 10:58:16] Copying 0x200 bytes to 0xa0180800 [2025-01-17 10:58:16] Copying 0x33fe0 bytes to 0xa01f7430 [2025-01-17 10:58:16] Copying 0xf120 bytes to 0xa022b410 [2025-01-17 10:58:17] Copying 0xa2b8 bytes to 0xa023a530 [2025-01-17 10:58:17] Copying 0x4738 bytes to 0xa0256200 [2025-01-17 10:58:17] Copying 0x1600 bytes to 0xa025e4c4 [2025-01-17 10:58:17] Copying 0x1500 bytes to 0xa025fb00 [2025-01-17 10:58:17] Copying 0x2ea8 bytes to 0xa0262200 [2025-01-17 10:58:17] Copying 0x4000 bytes to 0xa0ffc000 [2025-01-17 10:58:17] Setting Lockstep entry point for MCU1 @0x41010000 [2025-01-17 10:58:17] Copying 0x6c878 bytes to 0x9e800000 [2025-01-17 10:58:17] Only load (not execute) image @0x9e800000 [2025-01-17 10:58:17] Copying 0x1223dc bytes to 0x80800000 [2025-01-17 10:58:17] Only load (not execute) image @0x80800000 [2025-01-17 10:58:17] Sciclient_pmSetModuleState On, DevId 0x4... [2025-01-17 10:58:17] Copying 0xabb0 bytes to 0x70000000 [2025-01-17 10:58:17] Setting entry point for core 0 @0x70000000 [2025-01-17 10:58:17] Sciclient_procBootSetProcessorCfg, ProcId 0x20, EntryPoint 0x70000000... [2025-01-17 10:58:17] Sciclient_pmSetModuleClkFreq, DevId 0xca @ 2000000000Hz... [2025-01-17 10:58:17] Sciclient_pmSetModuleState Off, DevId 0xca... [2025-01-17 10:58:17] Sciclient_pmSetModuleState On, DevId 0xca... [2025-01-17 10:58:17] Sciclient_procBootReleaseProcessor, ProcId 0x20... [2025-01-17 10:58:17] Sciclient_procBootReleaseProcessor, ProcId 0x21... [2025-01-17 10:58:17] Sciclient_procBootReleaseProcessor, ProcId 0x1... [2025-01-17 10:58:17] Sciclient_procBootReleaseProcessor, ProcId 0x2... [2025-01-17 10:58:18] Sciclient_procBootReleaseProcessor, ProcId 0x6... [2025-01-17 10:58:18] Sciclient_procBootReleaseProcessor, ProcId 0x7... [2025-01-17 10:58:18] Sciclient_procBootReleaseProcessor, ProcId 0x8... [2025-01-17 10:58:18] Sciclient_procBootReleaseProcessor, ProcId 0x9... [2025-01-17 10:58:18] Sciclient_procBootReleaseProcessor, ProcId 0x3... [2025-01-17 10:58:18] Sciclient_procBootReleaseProcessor, ProcId 0x4... [2025-01-17 10:58:18] Sciclient_procBootReleaseProcessor, ProcId 0x30... [2025-01-17 10:58:18] Calling Sciclient_procBootRequestProcessor, ProcId 0x1... [2025-01-17 10:58:18] Sciclient_procBootSetProcessorCfg, ProcId 0x1, EntryPoint 0x41010000... [2025-01-17 10:58:18] Sciclient_pmSetModuleClkFreq, DevId 0xfa @ 1000000000Hz... [2025-01-17 10:58:18] Copying first 128 bytes from app to MCU ATCM @ 0x0 for core 8 [2025-01-17 10:58:18] Calling Sciclient_procBootRequestProcessor, ProcId 0x2... [2025-01-17 10:58:18] Skipping Sciclient_procBootSetProcessorCfg for ProcId 0x2, EntryPoint 0xffffffff... [2025-01-17 10:58:18] Calling Sciclient_procBootRequestProcessor, ProcId 0x1... [2025-01-17 10:58:18] : Building Interrupt List !!! [2025-01-17 10:58:18] : Variant - Post Build being used !!! [2025-01-17 10:58:18] : Interrupt List Completed !!! [2025-01-17 10:58:18]
A72 ATF
[2025-01-17 11:08:57] => NOTICE: BL31: v2.9(release):v2.9.0-dirty [2025-01-17 11:09:08] NOTICE: BL31: Built : 14:12:59, May 22 2023 [2025-01-17 11:09:08] I/TC: [2025-01-17 11:09:08] I/TC: OP-TEE version: 3.20.0 (gcc version 11.3.0 (GCC)) #1 Fri Jan 20 15:42:54 UTC 2023 aarch64 [2025-01-17 11:09:08] I/TC: WARNING: This OP-TEE configuration might be insecure! [2025-01-17 11:09:08] I/TC: WARNING: Please check optee.readthedocs.io/.../porting_guidelines.html [2025-01-17 11:09:08] I/TC: Primary CPU initializing [2025-01-17 11:09:08] I/TC: SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.6--v09.00.06 (Kool Koala)') [2025-01-17 11:09:08] I/TC: HUK Initialized [2025-01-17 11:09:08] I/TC: Activated SA2UL device [2025-01-17 11:09:08] I/TC: Fixing SA2UL firewall owner for GP device [2025-01-17 11:09:08] I/TC: Enabled firewalls for SA2UL TRNG device [2025-01-17 11:09:08] I/TC: SA2UL TRNG initialized [2025-01-17 11:09:08] I/TC: SA2UL Drivers initialized [2025-01-17 11:09:08] I/TC: Primary CPU switching to normal world boot [2025-01-17 11:09:08]
您好!
[报价 userid="533595" url="~/support/processors-group/processors/f/processors-forum/1462880/tda4vm-how-does-atf-directly-boot-uboot/5613730 #5613730"]我们尝试删除 uboot-spl、SBL 引导似乎没问题、但 A72在引导至 OPTEE 后卡住。 按如下方式记录在以下位置加载 tisPL 中的 SPL 也称为 A72 spl 0x80080000
默认情况下 U-Boot 设置为 AT 080800000
您是否已更改 ATF 中的 plat/ti/k3/platform.mk - board-support/trusted-firmware-a-2.11+git
Preloaded_BL33_BASE?= 0x80080000
基本而言、ATF 假设下一个引导映像是在0x80080000处加载的、但 U-Boot 是在080800000处加载的。
-基尔西