自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 Linux Kernel加载流程(一)

1.boot_linux_from_flash中首先去拿到已经初始化并且拿到flash数据的ptable指针,存放在ptable中(至于ptable是如何拿到flash数据的后续文章再分析),随后遍历ptable中的parts数组,parts数组中存放了分区表中所有分区的信息,如起始地址,长度等。今天先研究第一部分,从lk进入kernel的过程,对于lk的解读会比较宽泛,有兴趣的可以去查看一下我之前写的ABL部分文章,abl只是对lk进行再一次封装,底层原理是一样的。

2024-11-18 20:14:51 960 1

原创 RTOS UART

DalUart_Open实际上是调用mu_open(uart_ctxt, open_cfg)进行初始化的,uart_ctxt就是进行dal初始化的dal_device_handle,open_cfg就是Uart_Ctx_t.open_properties,初始化时的配置项。并且,rx_cb_isr会一直等待,直到DalUart_GetStatus中判定uart rx buffer此时为空,即rx_CB_ISR已经将数据全部处理完并清空buffer后,才会进行解锁,等待下一个uart中断。

2024-08-09 15:17:44 577 1

原创 linux lsm框架(selinux)

LSM 是(Linux Security Module)的简称,它是Linux 从2.6 内核版本开始增加的一个通用的访问控制框架。LSM 是一个轻量的通用访问控制框架,它必须满足两方面的要求:对不需要它的人保持透明;让需要它的人从内核代码中解放出来,专注于控制策略和安全模块。所以LSM 在设计之初,就明确了其原则:(1)真正的通用性,使用不同的安全模型仅仅通过加载不同的内核模块实现,而不用改变已有的内核代码。

2023-11-13 18:09:52 973

原创 Android Selinux策略

对于Android平台的工程师来说,selinux是一个比较常见的问题,经常会出现编写一些服务的时候出现权限问题导致服务结束的情况。而对于厂商来说,除非客户自己要求关闭selinux,否则都会遵循selinux的规则进行各种权限的添加对于selinux的发家史这里就不进行介绍了,对于工程师而言,了解一个框架并且熟练的使用它才是最重要的事情。

2023-07-14 15:26:59 439 2

原创 高通UEFI:ABL(二)

高通UEFI:ABL(一)中简单讲述了abl内的代码组成及大致框架,目的在于明确当我们接到uefi abl阶段的需求时我们应该定位到哪一部分去进行修改,本篇文章着重分析abl内的cmdline内的各个属性是如何组合以及如何在cmdline内新增一个属性。可以看到,androidboot.slot_suffix=这个属性值是由AndroidSlotSuffix这个变量去完成的。看看这个变量做了什么。

2023-05-06 10:56:47 1660

原创 高通 UEFI:ABL(一)

高通平台下的UEFI由XBL+ABL组成,主要完成各种客制化的需求实现,例如通过拉特定的gpio进入fastboot/recovery模式,读取ufs寿命,LCD兼容框架的实现等,想要实现客制化首先要搞明白源码种的框架组成,这篇文章先剖析一下abl阶段主要做了什么事情。要分析abl框架,首先我们需要找到整个框架的入口,根据LinuxLoader.inf内的描述可以得到,abl的入口就在LinuxLoader.c内的LinuxLoaderEntry函数。

2023-03-26 23:26:55 7759 8

原创 高通平台 内核实现长按power键关机

当按键触发的时厂达到定时器设置的时间后,就会执行qcom_power_work_func,wait_for_completion会对当前进程先进行一个阻塞操作。按下powerkey:此次中断是按下powerkey触发的,则通过延时队列schedule_delayed_work等待2000ms后执行qcom_power_work_func。2.2 当前状态下powerkey未被按下,key_status为false,qcom_power.work仍在等待中,代表此时未达到设定的时间,释放队列资源。

2023-03-16 12:28:46 2643

原创 linux驱动框架

对于初学者,直接去查看一些成熟的驱动代码例如TP驱动的,可能一开始会比较迷糊,为什么这里要用这个API,为什么要传这个参数,这个结构体是什么,个人觉得如果能够从0开始去了解一下驱动框架,后续去看一些其他的驱动代码就不会太晕。

2023-02-21 20:10:36 509

原创 高通--PMIC修改(三)

前面的两篇PMIC相关的文章大概讲解了之前遇到的问题,目前又遇到PMIC相关的问题,又与之前的不一样,因此再做一次补充

2022-12-03 16:11:56 4269

原创 高通平台tp驱动(二)

gsl680驱动的前期工作

2022-11-28 19:14:48 657 1

原创 高通平台tp驱动(一)

gsl680驱动解析(一)

2022-11-26 23:42:44 1214 5

原创 高通平台 pmic—gpio修改(2)

根据上一篇文章中的结论:如果在xbl阶段希望修改pmic相关的gpio,可以查看这个gpio是否已经有功能对其进行初始化。那么需要考虑一种情况:如果这个gpio从未被用过呢?因此本篇就是从根本上解决这个问题

2022-11-25 15:30:01 2014 4

原创 高通平台 pmic—gpio修改(一)

最近遇到一个很有意思的问题,在abl阶段获取某个gpio状态并且进行判断,若为拉低则去做下一步的客制化的功能。过程较为坎坷,因此记录一下

2022-11-24 18:58:22 8621 1

原创 sa6125平台启动异常

机器异常进入fastboot模式

2022-11-16 21:28:07 1604

原创 sa6125平台 机器异常后进入recovery

挂测情况下异常进入recovery问题剖析及解决方案

2022-11-11 15:10:39 1773 1

空空如也

空空如也

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

TA关注的人

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