自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (8)
  • 收藏
  • 关注

原创 ATF学习 - BL31

主要是bl31_early_platform_setup2和bl31_plat_arch_setup。这2个函数可以在各个平台下进行配置。在各个平台下需要配置的函数有bl31_platform_setup,bl31_plat_runtime_setup。代码中可以看到,有2处C代码的实现,具体实现都在bl31/bl31_main.c中。下面看一下bl31_setup。这里先简单记录一下BL31在启动的时候的函数调用关系。用于BL31的移植。下面看一下bl31_main。

2023-11-16 15:41:26 190 1

原创 OPTEE学习笔记 - AArch64 RPC(二)

在前面的文章OPTEE学习笔记 - AArch64 RPC(一)中我们分析了fast call的AArch64 RPC。本文基于前文,分析一下std call的实现。我们以

2021-06-01 15:40:49 808

原创 OPTEE学习笔记 - AArch64 RPC(一)

https://cloud.tencent.com/developer/article/1611280https://blog.csdn.net/magicse7en/article/details/115104303https://chromium.googlesource.com/chromiumos/third_party/arm-trusted-firmware/+/v1.2/docs/interrupt-framework-design.md

2021-05-24 17:34:20 2651

原创 OPTEE学习笔记 - 驱动初始化

与前面的OPTEE学习笔记 - 驱动分享不同,本次基于kernel-5.12版本和aarch64来记录OPTEE在REE侧驱动的初始化过程。根据前文的描述,tee驱动初始化的起始处仍是subsys_initcall和module_init,只不过在kernel 5.12中,用module_platform_driver替换了module_init,但是效果是一样的。subsys_initcall的优先级要高于module_platform_driver,因此subsys_initcall注册的函数优先执

2021-05-08 16:24:50 1184

原创 OPTEE学习笔记 - 启动流程(二)

OPTEE学习笔记 - 启动流程(二)接上一篇OPTEE启动流程,本篇主要描述OPTEE被启动以后自己初始化的过程。由上篇文章可知,OPTEE第一个被执行的函数是__start

2021-02-15 00:42:43 658

原创 OPTEE学习笔记 - 启动流程(一)

根据最近的学习心得,准备记录一下optee的启动流程分析。在第一部分里,我着重介绍BL31启动optee(BL32)的过程,以及主核从核的启动流程。下一部分,我着重介绍optee的启动流程。我所参考的代码是optee-3.11.0,ATF-2.4,主要关注aarch64平台的启动流程。ATF启动流程大部分aarch64平台都会使用ATF(arm trusted firmware)固件进行启动,optee的启动属于框架中的BL32部分,是由BL31启动。ATF的启动流程可参考下图:上图可以

2020-12-29 10:20:20 4382 3

原创 ATF学习 - BL2

今天开始学习ARM Trusted Firmware相关的知识,继续学习BL2部分。BL1的学习在https://blog.csdn.net/orlando19860122/article/details/93327289。有了BL1部分的学习,BL2部分就轻松很多。#include <arch.h>#include <asm_macros.S>#include...

2019-09-19 23:00:46 1180

原创 ATF学习 - BL1

今天开始学习ARM Trusted Firmware相关的知识。参考https://blog.csdn.net/puyoupuyou/article/details/85046951atf的下载地址是https://github.com/ARM-software/arm-trusted-firmware,里面有一些介绍。今天的目的是学习其中BL1部分的代码,使用树莓派3b作为参考板,很多解释都...

2019-06-23 02:37:08 13258

原创 OPTEE学习笔记 - IPC

本文学习tee_supplicant的相关内容。以下是杂记,仅用做学习记录。学习代码均取自github和《手机安全和可信应用开发指南》(帅峰云,黄腾,宋洋)进程间通信,是系统中进程或线程之间的通信机制,本文介绍OPTEE系统中的IPC机制OPTEE的IPC机制主要满足OPTEE用户空间运行的线程调用其它线程,静态TA,安全驱动的需求。其核心原理是利用系统调用来访问其他线程或者安全驱动。当线...

2019-05-26 15:39:56 1263

原创 OPTEE学习笔记 - 线程管理

本文学习OPTEE侧线程管理的相关内容。以下是杂记,仅用做学习记录。学习代码均取自github和《手机安全和可信应用开发指南》(帅峰云,黄腾,宋洋)OPTEE中使用线程的方式来管理当前系统中需要运行的任务,当CA调用TA时,会通过调用thread_alloc_and_run函数来分配一个可用的线程来执行CA请求。根据OPTEE学习笔记 - REE与TEE通信一文中,在REE侧调用TEE侧进行初...

2019-04-27 22:14:21 1151

原创 OPTEE学习笔记 - tee_supplicant

本文学习tee_supplicant的相关内容。以下是杂记,仅用做学习记录。学习代码均取自github和《手机安全和可信应用开发指南》(帅峰云,黄腾,宋洋)tee-supplicant的入口Main函数为int main(int argc, char *argv[]){ struct thread_arg arg = { .fd = -1 }; int e; e = pthre...

2019-04-21 10:47:56 1157

原创 OPTEE学习笔记 - TEEC_RegisterSharedMemory

今天我们来看看TEEC_RegisterSharedMemory去注册一个共享内存的实现原理。TEEC_RegisterSharedMemory函数运行在libteec中,是为了注册一块在CA端的内存作为CA与TA之间的共享内存TEEC_Result TEEC_RegisterSharedMemory(TEEC_Context *ctx, TEEC_SharedMemory *shm){...

2019-03-19 22:35:34 1390

原创 OPTEE学习笔记 - CA调用TA流程

今天开始学习optee相关的代码,目的是弄清optee的执行逻辑,学习optee。以下是杂记,仅用做学习记录。学习代码均取自github和《手机安全和可信应用开发指南》(帅峰云,黄腾,宋洋)学习代码示例:void g_CryptoVerifyCa_Helloworld(void){ TEEC_Session l_session; /* Define the sessi...

2019-03-16 12:45:43 4722

原创 OPTEE学习笔记 - REE与TEE通信

本文以REE驱动的加载为例,描述REE侧驱动与TEE侧驱动通信的过程驱动的加载和初始化可以参考https://blog.csdn.net/shuaifengyun/article/details/72934531。已经做出较为详细的说明,这里对于其中一些更细节的内容做出一些记录,仅供学习参考。文中提到了optee_probe是建立optee驱动的最后一步,其中前半部分的操作大多数型如下:...

2019-03-15 21:56:01 6882 1

原创 OPTEE学习笔记 - 驱动

以optee在REE侧的驱动为例,学习LINUX驱动。可以参考https://blog.csdn.net/shuaifengyun/article/details/72934531OP-TEE驱动通过subsys_initcall和module_init宏来告知系统在初始化的什么时候去加载OP-TEE驱动,subsys_initcall定义在linux/include/init.h文件中。使用...

2019-03-12 22:38:21 1855

原创 【原创】Android5.1 Art Hook 技术分享

Hi,大家好,很多次的在各种技术论坛上看到大牛的分享,学到了很多。本着共建社区,共享知识的目的,在这里我和大家分享一下我最近研究到的关于Android5.1的ART HOOK方案。还是demo阶段,请大家多多指正。可以加我QQ 313199058一起探讨。

2015-09-16 22:32:34 2672 2

Android5.1 Art Hook

Android5.1 Art Hook 支持4.0到5.1的dvm和art hook。美中不足是编写hook函数比较麻烦

2016-01-07

stm32固件库3.30+MDK在ram运行

原创,实验验证过,所用的开发板为stm3210e—eval。比较傻瓜式的工程建立方法。希望大家喜欢

2010-06-29

UCOS-II在STM32上的移植方法

这个是我在研究ucos系统的时候做的一点点总结, 希望对大家有用,也希望能和大家多探讨关于STM32上移植UCOS-II系统的问题

2010-03-21

经典C51子程序,包括多种实用程序

1302displayinyj2,2402,8051系列单片机C程序设计完全手册,ds1302集,DSB,STC_DEMO,单片机C51典型应用设计代码,单片机C语言例子,单片机程序集,单片机实验开发板,手把手教你学单片机实验程序

2009-12-13

MATLAB7.0基础教程

MATLAB7.0基础教程,其中介绍MATLAB基本使用方法,数值计算功能,单元数组结构,多项式等,以及程序设计

2009-08-18

步进电机资料,其中有多种电机驱动资料

1413,l298n,uln2001,uln2003,步进电机的单片机控制,二相步进电机驱动,高精度驱动等多种技术资料

2009-08-10

传感器大礼包,内含多种传感器应用方法

·一线制数字温度传感器 ·铂金属温度传感器 ·红外对管 ·黑白线检测传感器 ·光电避障传感器 ·金属探测传感器 ·霍尔传感器+磁钢 ·超声波探头 ·附录1:传感器接线图

2009-07-29

单片机资料宝典~挺实用的

很实用,适合初学者,有很多资料,我自己就是从这开始学的

2009-07-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除