在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

安全驅動示例代碼和實現

麥辣雞腿堡 ? 來源:TrustZone ? 作者:TrustZone ? 2023-10-30 16:07 ? 次閱讀

示例代碼獲取和集成

本示例中的驅動只實現了對內存的讀寫操作,并提供了測試使用的TA和CA。

讀者可使用如下指令從GitHub上獲取到示例源代碼:

git clone https://GitHub.com/shuaifengyun/opentee_driver.git

下載完代碼后就需要將該TA和CA集成到OP-TEE中,需修改OP-TEE源代碼build目錄下的qemu.mk(開發者板級對應的mk文件)和common.mk文件,同時也需要將安全驅動集成到OP-TEE的內核中。

然后編譯整體OP-TEE后就能夠使用該份示例代碼來驗證本書提供的安全驅動示例是否運行正常。

獲取到示例代碼后將opentee_driver/my_test目錄全部復制到op-tee的根目錄下,再切換到根目錄的build目錄中,然后使用git apply命令合入補丁文件后就可完成測試使用的TA和CA集成到OP-TEE,合入全部補丁的操作步驟如下:

1)將示例代碼中的my_test_common_3.0.0.patch文件和my_test_qemu_3.0.0.patch文件復制到build目錄中,將0001-Integrate-secure-driver-test-into-op-tee.patch文件復制到optee_os目錄中。

2)切換到build目錄,使用如下命令合入補丁:

git apply my_test_common_3.0.0.patch
        git apply my_test_qemu_3.0.0.patch

3)切換到optee_os目錄,使用如下命令合入安全驅動在內核中的補丁:

git am 0001-Integrate-secure-driver-test-into-op-tee.patch

將補丁合入完成后就可使用make -f qemu.mk all編譯整個工程,然后使用make -f qemu.mk run-only來啟動OP-TEE,在啟動的正常世界狀態的終端執行secStorTest命令就能實現該示例的CA對TA的調用。示例代碼的運行效果如圖22-3所示。

圖片

3.2 驅動實現

開發一個安全驅動時,需要在optee_os/core/drivers目錄中建立該安全驅動的源文件,在源文件中實現驅動的初始化函數、操作設備的接口函數(read、write、ioctl),具體的接口函數由開發者自行定義。

若該驅動需要在系統啟動過程中執行一些初始化操作則可使用driver_init宏進行定義, 編譯完成后需要被執行的內容將會被保存到鏡像文件的initcall段中, 這些使用driver_init宏定義的內容將在OP-TEE啟動時被調用。 (相當于提前為驅動的調用準備了環境與初始條件)

示例源代碼中的driver_test.c文件需要放在optee_os/core/drivers目錄中,然后修改optee_os/core/drivers目錄下的sub.mk文件,將driver_test.c文件添加編譯系統中。在sub. mk文件中添加如下內容:

srcs-y += driver_test.c

若需要使用宏的方式來控制該驅動的編譯,可將添加到sub.mk的內容修改成“srcs-$(CFG_XXX) += driver_test.c”,然后在optee_os/mk/config.mk文件中定義CFG_XXX變量,通過將CFG_XXX變量賦值成y或n來控制該驅動是否需要被編譯進系統。 (這個還是蠻有用的)

該驅動對應的頭文件driver_test.h文件需保存到optee_os/core/inlcude/drivers目錄中,該文件中聲明了該驅動暴露給外界調用的接口和相關結構體。

實現完驅動接口實現,現在來實現添加系統服務

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 驅動
    +關注

    關注

    12

    文章

    1840

    瀏覽量

    85312
  • 內存
    +關注

    關注

    8

    文章

    3028

    瀏覽量

    74082
  • 設備
    +關注

    關注

    2

    文章

    4515

    瀏覽量

    70662
  • 代碼
    +關注

    關注

    30

    文章

    4790

    瀏覽量

    68654
收藏 人收藏

    評論

    相關推薦

    實現多種重映射綜合示例_《OpenCV3編程入門》書本配套源代碼

    《OpenCV3編程入門》書本配套源代碼:實現多種重映射綜合示例
    發表于 06-06 15:39 ?4次下載

    excel vba代碼 示例講解

    excel vba代碼 示例講解
    發表于 09-07 09:36 ?25次下載
    excel vba<b class='flag-5'>代碼</b> <b class='flag-5'>示例</b>講解

    AD593X代碼示例

    AD593X代碼示例
    發表于 03-23 08:18 ?14次下載
    AD593X<b class='flag-5'>代碼</b><b class='flag-5'>示例</b>

    BeMicro代碼示例

    BeMicro代碼示例
    發表于 05-10 12:21 ?0次下載
    BeMicro<b class='flag-5'>代碼</b><b class='flag-5'>示例</b>

    ezLINX?示例PC應用程序源代碼

    ezLINX?示例PC應用程序源代碼
    發表于 06-05 19:12 ?1次下載
    ezLINX?<b class='flag-5'>示例</b>PC應用程序源<b class='flag-5'>代碼</b>

    機器學習必學的Python代碼示例

    機器學習必學的Python代碼示例
    發表于 06-21 09:35 ?14次下載

    單片機實現PT2262解碼示例代碼

    單片機實現PT2262解碼示例代碼
    發表于 11-16 15:21 ?44次下載
    單片機<b class='flag-5'>實現</b>PT2262解碼<b class='flag-5'>示例</b><b class='flag-5'>代碼</b>

    華為游戲服務示例代碼教程案例

    概述 游戲服務kit安卓示例代碼集成了華為游戲服務的眾多API,提供了示例代碼程序供您參考和使用,下面是對示例
    發表于 04-11 11:09 ?4次下載

    基于keil的AD7366示例代碼

    基于keil的AD7366示例代碼分享
    發表于 10-08 14:58 ?3次下載

    RAA489204 示例代碼軟件手冊

    RAA489204 示例代碼軟件手冊
    發表于 01-10 18:52 ?0次下載
    RAA489204 <b class='flag-5'>示例</b><b class='flag-5'>代碼</b>軟件手冊

    教程 5:BLE 安全示例

    教程 5:BLE 安全示例
    發表于 03-15 20:34 ?0次下載
    教程 5:BLE <b class='flag-5'>安全</b><b class='flag-5'>示例</b>

    RAA489204 示例代碼軟件手冊

    RAA489204 示例代碼軟件手冊
    發表于 06-30 19:23 ?0次下載
    RAA489204 <b class='flag-5'>示例</b><b class='flag-5'>代碼</b>軟件手冊

    安全驅動示例的測試

    通過TA調用到該示例安全驅動,指令說明如下。 1.向驅動中寫入數據 my_test writeDev [offset] [len] offset:表示需將數據寫入
    的頭像 發表于 10-30 16:32 ?494次閱讀
    <b class='flag-5'>安全</b><b class='flag-5'>驅動</b><b class='flag-5'>示例</b>的測試

    自己編寫函數示例代碼很難嗎?分享幾個示例

    Q A 問: Arduino Uno的函數示例 我決定自己編寫函數示例代碼,因為這應該是Arduino中的基本示例。網絡上確實有關于使用函數的文檔,但是,如果要嘗試使用
    的頭像 發表于 11-16 16:05 ?524次閱讀
    自己編寫函數<b class='flag-5'>示例</b><b class='flag-5'>代碼</b>很難嗎?分享幾個<b class='flag-5'>示例</b>!

    使用TSIP驅動程序(Azure RTOS)的TLS實現示例

    電子發燒友網站提供《使用TSIP驅動程序(Azure RTOS)的TLS實現示例.pdf》資料免費下載
    發表于 01-31 10:13 ?3次下載
    使用TSIP<b class='flag-5'>驅動</b>程序(Azure RTOS)的TLS<b class='flag-5'>實現</b><b class='flag-5'>示例</b>
    主站蜘蛛池模板: 国产伦精品一区二区三区| 国产精品久久久久久久久| 天天色天天碰| 成人免费久久精品国产片久久影院| 天天狠狠| 美女操网站| 国产婷婷一区二区三区| 九色中文| 777奇米影视一区二区三区| 亚洲偷图色综合色就色| 天天综合干| 毛片污| aa在线观看| 天堂8资源在线官网资源| 久久美女精品| 人人澡人人澡人人看青草| 亚洲欧洲第一页| 在线看视频你懂的| 天天色姑娘| 两性色午夜视频免费国产| 高清性色生活片久久久| 天天做天天爱天天爽综合区| 久草3| 久久www免费人成看片色多多| 4438x亚洲最大| 日本一区二区三区在线观看视频| 一级毛片ab片高清毛片| 日韩电影中文字幕| 国产香港三级理论在线| 午夜国产理论| 1024手机看片你懂得的 日韩欧美| 无码一区二区三区视频| 天堂资源站| 韩国三级理论在线看中文字幕| 激情综合网五月婷婷| 99视频网址| 综综综综合网| 国产亚洲欧美日本一二三本道| 亚洲偷偷| 特级片在线观看| 国产一区二区精品|