- 博客(78)
- 资源 (9)
- 问答 (2)
- 收藏
- 关注
原创 Linux 内核版本和发布历史
在 2.6.x 版本以前,托瓦兹将核心的发展趋势分为两股,并根据这两股核心的发展分别给予不 同的核心编号。次版本为偶数表示稳定版本 (stable) 如 2.6.xx,等到核心功能发展成熟后会加到这类版本中,提供使用者一个相对稳 定的 Linux 作业环境平台。自那时起,版本的格式为A.B.C.D,其中A,B,C,D代表:A和B是无关紧要的,C是内核的版本,D是安全补丁。自 3.0(2011年7月)发布后,版本的格式为3.A.B,其中A,B代表:A是内核的版本,B是安全补丁。它有 10,239 行代码。
2024-02-01 18:46:47 1957
原创 网卡调试LAN95XX
2、 本patch只是本人调试遇到的,实际调试过程可多参考不同kernel版本(高版本)的。4、网卡如上,成功挂载。连接网线 测试能否正常上网。1、合入驱动,检查out是否编译生成。3、检查log,网卡是否正常挂载。涉及GKI的,要特别注意。
2023-07-27 15:20:03 592
原创 JEDEC基础知识
TRIM: A command that removes data from a write group. When TRIM is executed the region shall read as ‘0’. This serves primarily as a data removal command. (See Discard for performance command) Tuning Process: A process commonly done by the host to find
2022-07-12 10:58:43 1222
原创 如何安装配置samba
Ubuntu1、安装使用源安装,在终端中输入如下命令:#sudo apt-get install samba#sudo apt-get install smbclient2、配置sudo gedit /etc/samba/smb.conf(1)在文件末尾添加:[mia] comment = Shared Folder require password path = /home/mia public = yes writable = yes valid users = m
2022-07-11 16:48:49 1085
原创 Make
make 2>&1 | tee log.txt1. make是什么?make是linux下一个非常强大的命令,简单点就是你要编译你的源代码就得靠他了。2. 2>&1是什么意思?0 stdin,1 stdout,2 stderr2>&1应该分成两个部分来看,一个是2>以及另一个是&1,其中2>就是将标准出错重定向到某个特定的地方;&1是指无论标准输出在哪里。所以2>&1的意思就是说无论标准出错在哪里(哪怕是没有?),都将标准出错重定向到标准输出中。3. | 管道管道的作用是提供一个通道,将上一个程序的标准输出
2022-07-11 16:45:57 74
原创 repo
repo forall -vc "git reset --hard"repo forall -c 'commitID=`git log --before "2021-05-23 00:00" -1 --pretty=format:"%H"`; git reset --hard $commitID'repo forall -c 'git log --pretty="%h - %s" --since="2021-05-19" --before="2021-06-01" --pretty -p' > gitlog
2022-07-11 16:43:05 676
原创 Git
git commit --amendgit查看某个文件的提交记录git log --pretty=oneline 文件路径/文件名git log --pretty=oneline 文件路径/文件名git删除未跟踪文件# 删除 untracked filesgit clean -f# 连 untracked 的目录也一起删掉git clean -fd# 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)git clean -xfd# 在用
2022-07-11 16:39:04 74
原创 vim
1. 比较两个文件 vim -d a.c b.c 2. 文件合并 文件比较的最终目的之一就是合并,以消除差异。如果希望把一个差异点中当前文件的内容复制到另一个文件里,可以使用命令 dp (diff "put") 3. 打开Vim的diff窗口后,可以使用:qa命令退出所有窗口 4. 打开文件时启动分屏 使用Vim打开文件时,可以通过参数-On 或 -on来启动分屏。 n 代表整数,表示将整个屏幕分成n部分 大写 O 表示进行垂直方向分屏,小写 o 表示水平方向进行分屏 ...
2022-07-11 16:36:27 61
原创 ctags
1.生成标签文件 -R表示recursive,递归,为当前目录及其子目录中的c文件生成标签文件。最后一个.表示在当前目录。 运行完当前目录会多一个文件tags,就是c标签的索引文件。2.跳转
2022-07-11 16:29:57 410
原创 Python读取设备节点存入CSV
import csvimport osimport timeif __name__ == '__main__': f = open("result.csv", 'w',encoding='utf-8-sig',newline='' "") csv_writer = csv.writer(f) csv_writer.writerow(["get_voltage_now","get_input_current_now","get_voltage_now","get_curren...
2021-11-26 09:33:00 265
原创 Kernel Panic
objdumpobjdump命令是linux系统下的用于反汇编目标文件或可执行文件的命令,以一种可阅读的形式让你更多地了解二进制文件可能带有的附加信息,定位异常代码位置。使用方法aarch64-linux-gnu-objdump -D xxx.o > ~/xxx.logvim ~/xxx.log 可以根据打印出的信息,搜索在哪里出错了aarch64-linux-gnu-addr2line -e xxx.o 要查询的地址 可以根据地址指出在哪个文件的哪一行出错eg:•aa
2021-11-25 14:51:21 707
原创 tp 驱动分析记录 cyttsp_i2c.c
static int cyttsp_init(void){ int ret; cyttsp_info("Cypress TrueTouch(R) Standard Product\n"); cyttsp_info("I2C Touchscreen Driver (Built %s @ %s)\n", \ __DATE__, __TIME__); cyttsp_ts_wq = create_singlethread_workqueue("cyttsp...
2021-11-22 15:08:56 584
原创 单编指令集
make vendorimagemake systemimagemake vbmetaimagemake dtboimagemake bootimage(make kernel)make superimage要从空白的树开始,可使用以下命令:a. 要删除对象文件: make cleanb. 要删除所有已生成的文件: make distclean1. 设置Android生成环境(envsetup.sh/lunch)。2. 转到Android主目录。3. 使用以下命令进行编译
2021-11-22 14:54:25 421
原创 fastboot 刷机进fastboot “fastboot flash -w”
1、检查开机log: [ 6.482185] EXT4-fs (mmcblk0p57): VFS: Can't find ext4 filesystem2、adb shell mount /dev/block/mmcblk0p57 on /metadata type ext4 (rw,seclabel,nosuid,nodev,noatime,discard)3、dump metadata: QFIL C:\Users\AppData\Roaming\Qual...
2021-01-27 10:29:33 1499
原创 使用Vim比较两个文件的内容
1. 使用vim的比较模式打开两个文件:vim -d file1 file2或vimdiff file1 file22. 如果已经打开了文件file1,再打开另一个文件file2进行比较::vert diffsplit file2如果没有用vert命令,diffsplit则会分上下两个窗口。3. 如果已经用split方式打开了两个文件file1,file2,又想比较两文件的不同。分别在两个窗口里面输入命令::diffthis4. 如果更改了某个窗口的内容,vim又没有自动更新dif
2020-11-23 10:07:03 1955
转载 EMMC SAMPLING TUNING AND LINUX MMC DRIVER SUPPORT
Tuning flow based on CMD21 (eMMC) or CMD19 (SD)SD 4.2 and eMMMC 5.1 protocols and both these protocols have speedmodes in which the incoming data must be sampled on a clock with a programmable sampling由于芯片制造工艺、PCB 走线、电压、温度等因素的影响,数据信号从 eMMC Device 到达 Host
2020-10-29 16:35:10 1579
原创 Ubuntu16.04安装python3.6及以上版本
查看系统当前Python版本:python --version安装Python3.6及以上版本,执行以下命令:sudo add-apt-repository ppa:deadsnakes/ppasudo apt-get updatesudo apt install python3.6修改软连接:cd /usr/bin && llsudo rm python3sudo ln -s python3.6 python3安装Python3.6可能遇到的问题,解决方法:sudo apt-get install pyt
2020-07-29 17:45:57 1068
原创 subprocess.py
C:\Users\>"D:\flash_qfil_package.py"Traceback (most recent call last): File "D:\flash_qfil_package.py", line 342, in <module> kick_start() File "D:\flash_qfil_package.py", line 167, in kick_start subprocess.check_call(cmd) File "C:\...
2020-07-22 16:49:35 1820 1
原创 接电池直接开机分析&开机原因深入--20200416
异常:接VBATT+、-,直接开机 logFormat: Log Type - Time(microsec) - Message - Optional InfoLog Type: B - Since Boot(Power On Reset), D - Delta, S - StatisticS - QC_IMAGE_VERSION_STRING=BOOT.XF.4.1-00076-*-1S - IMAGE_VARIANT_STRING=*S - OEM_IMAGE_VERSION_STRING=
2020-04-17 10:06:02 2207
原创 SLEEP-20200414
Android Doze模式和app Standby模式_little-mouse的博客-CSDN博客_standby模式电源管理/CPU策略_Caesar_新浪博客404新浪博客Android电源管理基础知识整理 - 简书Android linux的休眠和唤醒_robinyeung的博客-CSDN博客Android电源管理-休眠简要分析_jacob的博客-CSDN博客Android (Linux) Suspend流程_whut_fn的博客-CSDN博客Suspend to RAM和Suspend to I
2020-04-16 18:34:23 1411
转载 高通平台死机分析
高通平台死机分析 抓取死机dump 连接USB,设备管理器有端口900E 打开QPST configuration,自动保存dump,路径:C:\ProgramData\Qualcomm\QPST\Sahara\Port_COM145 dump抓取完成后,手机会自动重启 找到对应的符号表vmlinux 如何判断vmlinux是否与死机版本对应? 用UE打开v......
2020-04-16 18:11:48 7501
原创 fstab && fsatboot flash fail EnableBatteryVoltageCheck
==================================调试=========================================fastboot flash 不能使用。
2020-04-16 16:28:02 488
原创 TP固件升级 一种request_firmwave方式
#define GOODIX_CONFIG_FILE_NAME "KLL_S50029_GT911_1060_Config_20191217_V67.cfg"static int gup_update_config(struct i2c_client *client){.... ret = request_firmware(&fw_cfg, GOODIX_CONFIG_FILE_NAME, &client->dev);....}报的错误:[32m[
2019-12-18 09:36:05 1495 3
原创 三选二卡槽 SD卡的检测
公司最近新项目使用三选二卡槽,卡槽上只预留有一个GPIO,它是怎么区分主、副卡和SD的呢,一直很疑惑,驱动上屏蔽掉SDGPIO检测的机制后,发现SD的检测是正常的,此时,真是丈二的和尚摸不着头脑了。最近,花了点时间,看了遍SD底层驱动,发现了一点有用的东西,希望能够帮助到大家。如有错误,请批评指正。以前,单独SD卡的时候,是用单独的GPIO来检测SD的插入&拔出。 pdata->...
2018-04-27 14:36:25 816
原创 android addr2line
backtrace: #00 pc 000351c4 /system/lib/libgui.so (_ZN7android19BufferQueueConsumer13releaseBufferEiyRKNS_2spINS_5FenceEEEPvS6_+475) #01 pc 000360b9 /system/lib/libgui.so #02 pc 0003b259 /s...
2018-04-26 16:03:50 432
原创 INPUT 系统log Android7.1.2
01-01 22:11:47.014 1982 1982 I MSM-irqbalance: Decided to move IRQ3 from CPU2 [P:0] to CPU4 [P:1] (banned)01-01 22:11:47.017 1982 1982 I MSM-irqbalance: Decided to move IRQ5 from CPU2 [P:0] to C
2017-12-05 15:35:18 2371
原创 EMMC 坏块
[ 17.608802] Rebooting in 5 seconds..[ 22.611205] Going down for restart now[ 22.614757] Calling SCM to disable SPMI PMI Format: Log Type - Time(microsec) - Message - Optional InfoLog Ty
2017-11-18 09:35:14 13889 6
原创 BT学习相关网址
Android4.4 之Bluetooth整理http://www.cnblogs.com/shed/p/3737016.html
2017-08-24 10:09:34 2785
转载 input子系统整体流程全面分析(触摸屏驱动为例)
input输入子系统整体流程 input子系统在内核中的实现,包括输入子系统(Input Core),事件处理层(Event Handler)和设备驱动层。 在开头部分会从设备驱动层做为线索,分析输入子系统和事件处理层是如何配合的,最后从用户角度出发,从“/dev/input/*”接口如何使用输入子系统提供的服务。 既然需要详细分析,有一个这样的流程图能够帮助我们在
2015-09-28 17:56:46 1898
转载 static全局变量与普通全局变量区别?static局部变量与普通局部变量区别?static函数与普通函数区别?
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别? 答:1) 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源
2015-09-17 15:45:21 3046
转载 LK
LK是什么 LK 是 Little Kernel 它是 appsbl (Applications ARM Boot Loader)流程代码 ,little kernel 是小内核小操作系统。 LK 代码 在 bootable/bootloadler/lk 目录下 LK 代码结构 +app
2015-09-12 08:22:43 915
转载 gpiolib管理gpio过程
一、重点关注的相关的结构体:gpiolib.c文件,被移植到driver/gpio/目录下。structgpio_desc {structgpio_chip *chip;unsignedlong flags;/*flag symbols are bit numbers */#defineFLAG_REQUESTED 0#defineFLAG_IS_OUT 1#d
2015-09-02 11:17:52 440
转载 gpiolib的调用过程分析
1、通用头文件如何与具体的平台联系 不管是什么体系或平台,比如atmel、TI等,使用gpiolib只需要包含头文件include/linux/gpio.h即可,以使用TI的DM8148为例。1.1 include/linux/gpio.h包含如下内容,当配置了使用gpiolib时,包含头文件arch/arm/include/asm/gpio.h#ifdef CONFI
2015-09-02 11:10:43 1160
转载 GIPO.TXT
本文提供了一个linux下访问GPIO的约定的概述。这些调用使用gpio_* 命名前缀。没有别的调用会使用这个前缀或是相关的__gpio_*前缀。什么是GPIO?===============GPIO----“通用目的输入/输出端口”----是一个灵活的软件控制的数字信号。许多种类的芯片都会提供,嵌入式linux开发者和硬件定制者会对此比较熟
2015-09-01 17:09:49 497
转载 SPI
由于SPI(setial peripheralinterface)总线占用的接口线少,通信效率高,并且支持大部分处理器芯片,因而是一种理想的选择。SPI是利用4根信号线进行通信的串行接口协议,包括主/从两种模式。4个接口信号为:串行数据输入(MISO,主设备输入、从设备输出)、串行数据输出(MOSI,主设备输出、从设备输入)、移位时钟(SCK)、低电平有效的从设备使能信号(cs)。SPI最大的特点
2015-08-21 14:05:10 722
SEC_KMQN1000SM-B316_Datasheet_Ver.1.00.00_Final for Common
2018-04-18
高通平台 如何实现多 spi外设兼容
2024-09-01
设备树易错格式讨论区
2022-11-29
如何配置实现CPU超频
2022-10-25
高通平台 OTG or USB UFP only
2021-09-21
I2C 读写问题。。。。。。。。。
2016-11-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人