- 博客(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
原创 高通平台 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
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人