I am trying to boot the linux by my bootloader which is running on EL3 level.(switch to EL1 when I jump to the kernel)
The trustzone is not necessay for me, so I don't want to use it.
However, I'm comfused if the arm-trusted-firmware is needed?
Some boards like Juno and Hikey have used the arm-trusted-firmware .
You always really need some secure code.
The CPU will boot to EL3 which is a secure state (ie using TrustZone) so even if all you want to do is jump to NS EL1 you will need some TrustZone code to run first. Also even if you are not using using TrustZone there are still a lot of things that need to be configured from secure code (eg the GIC) and some runtime actions that can only be done by secure code (eg flush the entire cache.)
You don't need to use Arm Trusted Firmware to do the above, you could write your own EL3 init code but that's a lot of work.
Thanks for your replay.
Can u-boot be used as the secure code?
u-boot can be boot to EL3, and some configs has been implemented . Anything else?
Glad to see your relay.
It's help for me to evaluate the design of my code for armv8.
Thank you !
View all questions in TrustZone for Armv8-M forum