1. 程式人生 > >TEE OS 開發基於OP-Tee,MTK平臺的移植方法

TEE OS 開發基於OP-Tee,MTK平臺的移植方法

最近一直在研究TEE  OS,經過一斷時間,終於把自己的OS移植到MTK平臺!

現在把主要的方法記錄一下,

1. 下載程式碼

  1. $ mkdir open-tee        //建立目錄  
  2. $ cd open-tee           //切換到建立的目錄  
  3. $ repo init -u https://github.com/OP-TEE/manifest.git -m default.xml --repo-url=git://codeaurora.org/tools/repo.git       
  4. //初始化repo,  
  5. $repo sync      //開始獲取OP-TEE原始碼  

則需要切換到.repo目錄中,將manifest.xml檔案中的所有的.git都刪除

2. 編譯

1.  $ cd build      //切換到build目錄

2 $ make -f mediatek.mk  optee-os       //編譯工程

3.平臺修改

參考optee_os\documentation\porting_guidelines.md

仔細研讀裡面的關鍵說明,根據實際修改

#ifndef PLATFORM_CONFIG_H
#define PLATFORM_CONFIG_H


/* Make stacks aligned to data cache line length */
#define STACK_ALIGNMENT64


/* 8250 UART */
#define CONSOLE_UART_BASE0xcafebabe /* UART0 */
#define CONSOLE_BAUDRATE115200
#define CONSOLE_UART_CLK_IN_HZ19200000


#define DRAM0_BASE0x00000000
#define DRAM0_SIZE0x40000000


/* Below ARM-TF */
#define CFG_SHMEM_START0x08000000

#define CFG_SHMEM_SIZE(4 * 1024 * 1024)

4, ATF 程式碼下載optee

https://github.com/ARM-software/arm-trusted-firmware 

仔細研究相關平臺的ATF啟動流程,並加log列印

5. 移植kernel驅動部分

linux核心程式碼,在./driver/tee目錄下存放的是tee對應的驅動程式

已經關鍵的資料結構檔案./include/linux/tee_drv.h;

6. Android tee守護程序tee-supplicant

編譯android版本

7. 理解整個程式碼架構




8. 解決問題方法和途徑

有好幾個不錯的提問網站,而且有好多問題和原始碼參考。

特別是那些老外,真心不錯,你給他發郵件,問題必回,我想這大概就是老外的開源精神!

提問