- 博客(38)
- 资源 (8)
- 收藏
- 关注
原创 【无标题】
我们平常在使用,或者调试设备的时候,有时候应用遇到CPU,GPU,DDR,NPU等频率相关的问题的时候,需要我们对硬件本身进行一些设置,让应用以最大的性能进行测试。/bin/sh# 检查是否以root权限运行= "0" ];thenexit 1fi# 参数检查case $1 in0);;1);;2);;*)exit 1;;esac# 遍历 devfreq 目录下的所有子目录do# 跳过非目录项if!thencontinuefi# 确定设备ID。
2024-07-29 13:30:14
9
原创 android13 Settings动态显示隐藏某一项
在Android 13系统中,动态显示或隐藏Settings应用中的某一项通常涉及到对Settings应用的内部逻辑进行修改。由于Settings应用是一个系统应用,其实现可能因设备和制造商的不同而有所差异。本文用于指导你如何动态显示或隐藏Settings应用中的某一项。先要动态显示或隐藏Settings应用中的某一项,那么最基本的我们需要保存相关的数据,保存数据参考我们之前介绍的这个文章android13 frameworks里面常用的保存信息或者版本判断的方法-CSDN博客。
2024-07-24 13:32:47
223
1
原创 android13禁用某个usb设备
用户想要禁止使用某些usb设备,需要系统不能使用相关的usb设备,例如usb触摸屏,usb键盘,usb遥感等等usb设备。我们通过获取对应的pid vid来禁止对应的usb设备。
2024-07-22 13:36:14
189
原创 android13读取cpu频率,并调整频率
我们平常在使用,或者调试设备的时候,有时候应用遇到性能相关的问题的时候,需要我们对硬件本身进行一些设置,让应用以最大的性能进行测试。该脚本可以自动识别cpu个数,不用在意cpu的最大频率,因为是自动识别的。/bin/sh# 检查是否以root权限运行= "0" ];thenexit 1fi# 参数检查case $1 in0);;1);;2);;*)exit 1;;esac# 遍历 cpufreq 目录下的所有 policy 子目录do# 跳过非目录项if!then。
2024-07-19 13:21:16
181
1
原创 android13 默认输入法配置分析rom默认配置修改分析
Android13上需要预装中文输入法, 但是直接预装输入法的话,会出现默认使能的问题,点击TextEdit输入框, 弹出的是默认英文输入法LatinIME, 而不是谷歌拼音输入法, 需要在设置里面点击设置谷歌拼音输入法才能生效。网上有很多类似的改法,但是他们一般都没有写,究竟为什么要这么修改。
2024-07-17 13:33:35
97
原创 android13 frameworks里面常用的保存信息或者版本判断的方法
frameworks 不像我们一般开发app那样,很多应用保存的方法都无法使用。这里记录我们系统rom开发过程中常用的一些方法。
2024-07-15 13:19:23
136
原创 Android13 设置静态以太网重启丢失问题
android13在设置里面,修改以太网的静态ip,保存成功后,查看ip地址正常,重启,发现ip并不是设置好的静态ip,重新进入设置,以太网里面查看,发现上层还是显示的静态ip。
2024-07-12 13:10:04
275
原创 android13 rom frameworks 蓝牙自动接收文件
我们从导航栏这里,点开这个蓝牙的接收框,弹出来的对话框,使用android studio 的layout inspector可以发现这个是 Bluetooth里面的对话框进入蓝牙源码先大概的浏览下bluetooth里面的信息,看看有没有Notification之类的一般通知操作方法.setContentTitle("通知").setContentText("收到消息").addAction(R.drawable.icon, "按钮", snoozeIntent )
2024-07-10 13:17:38
688
原创 android13 rom 开发总纲说明
2. 文章一般是基于标准的android13,有一些文章可能会涉及到具体平台,例如全志,瑞芯微的一些平台。5.2.1 A527 A523 A133 A507 mac地址问题。1. 这里是文章总纲,可以在这里快速找到需要的文章。4.frameworks等等相关。3.3系统应用SystemUI。6.recovery相关。5.2系统sys相关。
2024-07-10 13:13:37
156
原创 android13 固定U盘链接 SD卡链接 TF卡链接 硬盘链接
有些客户使用的应用并不带有自动监听U盘 sd卡广播的代码,使用的代码是固定的地址,这样的话,就需要我们将系统的挂载目录固定了。
2024-07-09 13:33:24
119
原创 A527 android13 Wi-Fi/BT MAC地址定制
很多Wi-Fi/BT模组默认出厂是不带MAC地址的,整机厂需要根据需求,烧写特定的MAC地址。
2024-07-08 18:30:45
36
原创 全志A527 T527 android13支持usb摄像头
我们发现usb摄像头在A527 android13上面并不能正常使用,需要支持相关的摄像头。
2024-07-08 18:28:33
172
原创 android13 设置左右分屏修改为单屏幕,应用分屏改为单屏
android13中,系统设置变成,左边是一级菜单,右侧是二级菜单,这样跟我们以前android7/8/9的布局是不一样的,我们需要将它修改为一级菜单,点进去才是二级菜单这种。效果如下。
2024-07-08 18:28:19
202
原创 android13 cat /proc/cupinfo没有Serial问题-A527 A523 A133 T527 T523
可以看到里面带有但是全志A527 的这个接口并没有相关的数据,我们需要修改相关的驱动来增加相关的打印。
2024-07-08 18:28:02
113
原创 A133/A527 android10 Wi-Fi/BT MAC地址定制
很多Wi-Fi/BT模组默认出厂是不带MAC地址的,整机厂需要根据需求,烧写特定的MAC地址。
2024-07-08 14:15:09
29
原创 android4.2添加重启菜单项
A.关机提示android4.2/frameworks/base/policy/src/com/android/internal/policy/impl/GlobalActions.java private void handleShow() { awakenIfNecessary(); mDialog = creat
2014-08-26 17:19:43
2900
原创 自己动手写最简单的bootloader
首先我们必须要知道,一开始我们的开发板上电的时候, 如果我们的板子是从norflash启动的,那么硬件会从nandflash拷贝其前4k的代码到内部RAM中, (这也是为什么我们的bootloader第一阶段需要在4k内),如果是norflash启动,那也是从norflash把前4k代码复制到内部RAM中我们知道mini2440有个看门狗,如果说我们不能够定时去喂狗, 那么
2012-09-29 00:52:16
5088
转载 Linux DM9000网卡驱动程序完全分析
说明1:本文分析基于内核源码版本为linux-2.6.31 说明2:本文在理解了linux中总线、设备和驱动模型的基础上加以分析代码 虽然Linux驱动程序应该是和具体的硬件平台分离的,但是为了更好的理解DM9000的驱动程序,这里还是结合一下Mini2440开发板,这样也可以更好的体会如何实现驱动和平台分离。本文分成以下几个部分: 一、Mini2440开发板上DM9000的电
2012-09-29 00:07:57
767
原创 i2c实例讲解
如果对i2c设备驱动不了解的, 请先看这里的简单的驱动i2c识别:http://blog.csdn.net/zhutoubenben/article/details/8003781#define DRIVER_LICENSE "GPL"#define DRIVER_AUTHOR "zhutoubenben"#define DRIVER_DESC "i i c iic_at24c
2012-09-22 16:02:26
2081
原创 Linux I2C设备驱动分析 基于2440 2.6.32内核
首先呢, linux的i2c主要有三层:i2c核心层 i2c总线层 i2c设备层i2c核心是内核为我们提供的, 它主要的作用就是提供了i2c总线驱动中的适配器(adapter)和运算方法(algorithm)还有i2c设备驱动的注册, 撤销方法 探测设备和设备地址的上层代码等由于它是内核提供的,那么我们要做的的驱动呢, 分为两块, 一个就是i2c总线的驱动 另一个就是i2
2012-09-22 00:37:32
1783
转载 Linux设备驱动程序之中断(下半部机制)
啥叫中断?就是指cpu在执行过程中,出现了某些突发事件时CPU必须暂停执行当前的程序,转去处理突发事件,处理完毕后CPU有返回原程序被中断的位置并继续执行。 中断的分法不懂,分类就不同,向什么内外部中断,可/不可屏蔽中断…等等乱七八糟一大堆,我这里要说明的一点是按照中断入口跳转方法的不同,可分为向量中断和非向量中断。采用向量中断的CPU通常为不同的中断分配不同的中断号,当检测到某中断号的
2012-09-22 00:31:18
768
转载 linux设备驱动中的并发控制
并发与竞态 解决竞态问题的途径是保证对共享资源的互斥访问。访问共享资源的代码区域称为临界区,临界区需要以某种互斥机制加以保护。中断屏蔽、原子操作、自旋锁和信号量等是Linux设备驱动中可采用的互斥途径。中断屏蔽 中断屏蔽将使得中断与进程之间的并发不再发生,而且,由于Linux内核的进程调度等操作都依赖中断来实现,内核抢占进程之间的并发也就得以避免了。但是,需要注意是的是
2012-09-22 00:05:41
429
原创 驱动usb鼠标产生键盘信息
实际上跟我之前写的简单的usb鼠标驱动分析 这个驱动的区别在于, 输入子系统向input core提交不同的信息, 这样就会有不同的消息输出了, 也就是我们把鼠标按键提交的信息改为 键盘按键的信息, 这样就写完了....具体代码如下:#include #include #include #include #include #include #defin
2012-09-19 23:29:13
907
原创 简单的usb鼠标驱动分析
如果没有看过 : 驱动usb鼠标识别 建议先看看下面主要是分析了usb识别后的操作#include#include #include #include #include #include #define DRIVER_LICENSE "GPL"#define DRIVER_AUTHOR "zhutoubenben"#define DRIVER_DES
2012-09-19 19:53:23
977
转载 编写 USB 驱动程序(四)
编写 USB 驱动程序(本部分的一些示例源码来自drivers/usb/usb-skeleton.c,它是Linux内核为我们提供的最基础的USB驱动程序,USB骨架程序)驱动程序把驱动对象注册到 USB 子系统中,之后使用供应商(idVendor)和设备(idProduct)标识来判断对应的硬件是否已经安装.驱动的设备支持列表struct usb_device_id 结构提供了这
2012-09-19 13:33:25
928
原创 驱动usb鼠标识别
废话不说,先贴代码:#include #include #include #include #include #include #define DRIVER_LICENSE "GPL"#define DRIVER_AUTHOR "same"#define DRIVER_DESC "u s b probe..."MODULE_AUTHOR(DRIVER_A
2012-09-19 10:37:53
1018
转载 Linux设备驱动程序学习-USB 驱动程序(一)
内核使用2.6 拓扑结构上, 一个 USB 子系统并不是以总线的方式来分布; 它是一棵由几个点对点连接构成的树。这些连接是连接设备和集线器的4线电缆(地, 电源, 和 2 个差分信号线), 如同以太网的双绞线。USB主控制器负责询问每个USB设备是否有数据需要发送。由于这个拓扑结构,一个 USB 设备在没有主控制器要求的情况下不能发送数据. 也就是说:USB是单主方式的
2012-09-18 23:57:31
657
转载 Linux-USB学习 -- 基本知识(一)
USB的重要关键字:1、端点:位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点、输出端点、配置端点、批量传输端点)2、帧:时间概念,在USB中,一帧就是1MS,它是一个独立的单元,包含了一系列总线动作,USB将1帧分为好几份,每一份中是一个USB的传输动作。3、上行、下行:设备到主机为上行,主机到设备为下
2012-09-18 23:55:20
533
原创 lcd驱动的fb_read函数分析
staticssize_t fb_read(structfile*file,char__user *buf,size_t count,loff_t *ppos){ unsigned long p = *ppos; struct inode *inode = file->f_dentry->d_inode; int fbidx = imi
2012-09-15 20:25:44
1373
转载 Linux内核访问外设I O资源的方式
首先介绍一下I/O端口和I/O内存。1. I/O端口:当一个寄存器或内存位于I/O空间时,称其为I/O端口。2. I/O内存:当一个寄存器或内存位于内存空间时,称其为I/O内存。再来看一下I/O寄存器和常规内存的区别:I/O寄存器具有边际效应(side effect),而内存操作则没有,内存写操作的唯一结果就是在指定位置存贮一个数值;内存读操作则仅仅是返回指定位置最后一次写入的数值。何
2012-09-12 21:56:20
1323
原创 platform设备和驱动注册调用probe的流程
Linux platform driver机制和传统的device driver机制(即:通过driver_register函数进行注册)相比,一个十分明显的优势在于platform机制将设备本身的资源注册进内核,由内核统一管理,在驱动程序中用使用这些资源时,通过platform device提供的标准接口进行申请并使用。 platform是一个虚拟的地址总线,相比PCI
2012-09-10 16:40:40
1411
原创 qt获取输入中的中文
这天需要获取在QTextEdit输入的中文, 于是采用事件过滤器,在textedit上面输入中文,再把event->type()输出,去查找对应的事件号,最后发现是QEvent::InputMethod,于是果断查了下QInputMethodEvent,发现它能够获得中文输入法中输出的字符串和正在编辑的字,下面给出例子:bool MyTextEdit::eventFilter(QObject
2012-08-26 01:19:27
3011
原创 自己的os---boot.s引导扇区运行在bochs上
1. 首先安装bochs(注意要全部安装,这样有个自带的dlxlinux范例,到时候只需要在这个上面修改一部分就能够直接用了)2. (在linux系统中)安装as86和ld86这是早期MINIX的编译器(安装包名字bin86-0.16.0-2.i586.rpm)3. 照着Linux内核完全剖析(基于0.12内核)的31页将启动代码打上!!!!! 代码 如
2012-06-18 14:42:15
794
转载 Linux 定时器设置
定时器设置函数alarm设置的定时器只能精确到秒,而以下函数理论上可以精确到微妙:#include #include int getitimer(int which, struct itimerval *value);int setitimer(int which, const struct itimerval *value,struct itimerval
2012-04-29 10:56:47
463
HDMI TO MIPI Hdmi转mipi TC358870硬件设计和软件以及配置表LT6911方案
2020-12-07
LT8619C驱动代码_LT8618EXB_EVB_HDMI_带解释hdmi转lvds hdmi转bt1102 bt656.zip
2020-09-25
vlc android eclipse 工程
2015-02-04
android的google串口源码_保证可用
2013-01-05
自己写的bootloader
2012-09-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人