日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

[ATF]-MTK:一篇文章了解ATF原理

發(fā)布時間:2025/3/21 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [ATF]-MTK:一篇文章了解ATF原理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

關(guān)鍵詞: Non-cacheable,Cacheable, non-shareable,inner-shareable,outer-shareable, optee、ATF、TF-A、Trustzone、optee3.14、MMU、VMSA、cache、TLB、arm、armv8、armv9、TEE、安全、內(nèi)存管理、頁表…

快速鏈接:
.
👉👉👉 個人博客筆記導(dǎo)讀目錄(全部) 👈👈👈

文章目錄

        • 1、ARMv8的軟件結(jié)構(gòu)
        • 2、ATF的編譯
        • 3、ATF啟動
        • 4、跳轉(zhuǎn)到ATF的兩種方式: 中斷和smc
        • 5、ATF rt_svc(smc的劃分)
        • 6、sip/tos的調(diào)用
        • 7、sip/tos的業(yè)務(wù)劃分

環(huán)境 : armv8的MTK芯片, ATF v1.6版本

1、ARMv8的軟件結(jié)構(gòu)

(1)、armv8架構(gòu)下ARM官方的軟件框圖

(2)、armv8架構(gòu)下我們常用的軟件框圖

(3)、軟件框圖介紹–以指紋為例

2、ATF的編譯

(1)、編譯的命令

  • make -C $DIRPATH RESET_TO_BL31=1 PLAT=xxxx clean
  • make -C $DIRPATH RESET_TO_BL31=1 PLAT=xxx xxxx_VDK=0 xxxxxx=0
    xxxxxx=0 HIGHADDR_DEVICE=1 all

(2)、lds文件,程序的入庫
在lds文件中,規(guī)定的ATF鏡像的起始地址

查看ATF源碼可知,有bl1、bl2、bl31等lds,由于我們編譯選項選擇了RESET_TO_BL31=1,所以呢,程序是從bl31啟動的,也就拋棄了前面的lds(bl1、bl2)

  • ./bl1/bl1.ld.S
  • ./bl2/bl2.ld.S
  • ./bl31/bl31.ld.S

(2)、ATF內(nèi)存地址

  • TZRAM_BASE是ATF的內(nèi)存地址
  • 前面的0x1000、ATF、TEE共用TARAM_BASE這段內(nèi)存


這里也畫了張圖,說明下TZRAM地址

在linux kernel中要reserved出TZRAM地址,防止被其它人使用

3、ATF啟動

(1)、ATF的啟動,從lds的入口開始
ATF中沒有MMU,物理地址等于虛擬地址, 所以生成的匯編代碼的地址,一定在給鏡像分配的地址范圍內(nèi)

(2)、ATF的啟動流程

(3)、ATF(bl31)啟動時都干了啥

  • 1、初始化幾個系統(tǒng)寄存器
  • 2、初始話TEE線程向量表
  • 3、電源管理相關(guān)的初始化
  • 4、save/restore寄存器功能:定義了一個全局?jǐn)?shù)組, 用于保存secure或normal的寄存器
  • 5、一些其它的driver初始化

(3)、以android為例,詳細(xì)的系統(tǒng)啟動流程

4、跳轉(zhuǎn)到ATF的兩種方式: 中斷和smc

SOC reset之后,除bootrom–>pl—>atf之外,PC再次進(jìn)入ATF的方式有兩種 : smc和中斷

  • 如果是smc,則會觸發(fā)同步中斷,進(jìn)入同步中斷處理程序,在該程序中會調(diào)用rt_svc(runtime service)
  • 如果是irq/fiq等,則會觸發(fā)異步中斷,進(jìn)入異步中斷處理程序 ,在該程序中調(diào)用注冊的中斷處理程序
    注 : 第2種,一般也沒有使用

5、ATF rt_svc(smc的劃分)

rt_svc是根據(jù)SCC文檔中的smc type來定義的.目前常用的只有 : sip和tos

6、sip/tos的調(diào)用

(1)、linux kernel中的sip調(diào)用

(2)、ATF中的sip響應(yīng)

(3)、linux kernel中的tos調(diào)用

(4)、ATF中的tos響應(yīng)

7、sip/tos的業(yè)務(wù)劃分

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的[ATF]-MTK:一篇文章了解ATF原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。