在使用TrustZone技术的嵌入式设备当中,无法避免的需要解决从非安全侧切换到安全侧的问题,而为了完成这个切换,需要一个专用的进行非安全上下文和安全上下文切换的固件,这个固件一般我们称为arm trust firmware,在ARM官方维护的github中我们能够下载到其完整的代码
https://github.com/ARM-software/arm-trusted-firmware
在其github工程的介绍里,有完整的arm trusted firmware的移植和适配的方法,所以可以很方便的将其移植到不同的平台并进行适配,自己的操作系统。
arm trusted firmware的工作方法如下图所示
图中的EL3 Firmware就是BL31,也就是arm trusted firmware,通过其框图我们可以看到其包括多个组成部分,第一级是一个中断处理入口叫做 SMC i