1# tee_tee_os_kernel # 2 3## Introduction ## 4 5OpenTrustee provides a Trusted Execution Environment (TEE) that runs in a secure area isolated by hardware. OpenTrustee is a complete TEE solution that includes multiple components. The system architecture is shown in the figure below: 6 7 8 9The tee_tee_os_kernel component mainly includes the kernel part of OpenTrustee, designed using a microkernel architecture. 10 11## The specific module introduction of tee_tee_os_kernel ## 12<table> 13<th> Name of module </th> 14<th> Introduction </th> 15<tr> 16<td> kernel/ipc </td><td> inter-process communication </td> 17</tr><tr> 18<td> kernel/irq </td><td> interrupt handling </td> 19</tr><tr> 20<td> kernel/mm </td><td> memory management </td> 21</tr><tr> 22<td> kernel/object </td><td> kernel object management </td> 23</tr><tr> 24<td> kernel/sched </td><td> thread scheduling </td> 25</tr><tr> 26<td> user/chcore-libs/sys-libs/libohtee </td><td> library functions that the framework depends on </td> 27</tr><tr> 28<td> user/system-services/system-servers/procmgr </td><td> process management </td> 29</tr><tr> 30<td> user/system-services/system-servers/fs_base </td><td> virtual file system </td> 31</tr><tr> 32<td> user/system-services/system-servers/fsm </td><td> file system management </td> 33</tr><tr> 34<td> user/system-services/system-servers/tmpfs </td><td> in-memory file system </td> 35</tr><tr> 36<td> user/system-services/system-servers/chanmgr </td><td> handle naming, indexing, and distribution of channels </td> 37</tr> 38 39 40</table> 41 42## tee_tee_os_kernel code directories ## 43``` 44base/tee/tee_os_kernel 45├── kernel 46│ ├── arch 47│ ├── ipc 48│ ├── irq 49│ ├── lib 50│ ├── mm 51│ ├── object 52│ ├── sched 53│ └── syscall 54├── tool 55│ └── read_procmgr_elf_tool 56├── user/chcore-libs 57│ ├── sys-interfaces/chcore-internal 58│ └── sys-libs/libohtee 59└── user/system-services/system-servers 60 ├── chanmgr 61 ├── fs_base 62 ├── fsm 63 ├── procmgr 64 └── tmpfs 65``` 66 67## tee_tee_os_kernel building guide ## 68 69The tee_tee_os_framework and tee_tee_os_kernel work together to build TEEOS, and the commands for building them separately are as follows: 70 71```Bash 72./build.sh --product-name rk3568 --build-target tee --ccache 73``` 74 75Build the product as a TEEOS image:` base/tee/tee_os_kernel/kernel/bl32.bin` 76 77## Related code repositories ## 78 79[tee_os_framework](https://gitcode.com/openharmony-sig/tee_tee_os_framework) 80