在线观看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>
    主站蜘蛛池模板: 亚洲欧美在线一区二区 | 午夜黄页网站在线播放 | 扒开末成年粉嫩的小缝强文 | 欧美高清激情毛片 | 人人做人人爽人人爱 | 202z国产高清日本在线播放 | 三级毛片在线播放 | 国产亚洲卡二卡3卡4卡乱码 | 国产三级一区 | 手机看片三级 | 免费观看高清视频 | 亚洲第一精品夜夜躁人人爽 | 亚洲一区二区中文字5566 | 干干干日日日 | 老师办公室高h文小说 | 精品视频一区二区三区 | 色婷婷婷丁香亚洲综合不卡 | 伊人最新网址 | 天天干天天草天天射 | 天天操天天干天天透 | 欧美成人精品一区二三区在线观看 | 色www视频永久免费 色www视频永久免费软件 | 亚洲免费人成在线视频观看 | 西西人体大胆高清啪啪欧洲 | 午夜dy888理论在线播放 | 7777在线| 欧美亚洲一区二区三区在线 | 四虎永久免费影院在线 | 伊人2233| 欧美影院一区二区 | 五月sese | 日本一区二区高清免费不卡 | 久久综合九色综合精品 | 中韩日欧美电影免费看 | 亚洲精品久 | 7799国产精品久久久久99 | 天堂网www天堂在线网 | 性久久久久久久久久 | 国产午夜视频在线观看网站 | 欧美极品另类xxx | 激情丁香网 |