2018年5月30日

IIC 设备Dump 寄存器方法 (kernel 4.4)

摘要: 废话不多说,直接上代码: 1.添加IIC读写寄存器方法: static struct class *cls = NULL; static struct i2c_client *rt5640_i2c_g = NULL; 2、在probe函数中创建/sys/class下的节点,并且创建相应的属性文件。 阅读全文

posted @ 2018-05-30 15:23 黑大米 阅读(1504) 评论(0) 推荐(0) 编辑

2017年11月23日

Binder 驱动分析C(一)示例代码

摘要: 提前声明:此文章为学习后的一些心得体会,若有错误请指出,如有侵权请联系。 Binder驱动不是单独拿出来分析,是结合在Android中的使用情景分析的,我们在此是结合Android Service来分析Binder驱动: 主要分析以下几部分: 1.服务的注册过程; 2.服务的获取和使用过程; 3.t 阅读全文

posted @ 2017-11-23 10:27 黑大米 阅读(1432) 评论(0) 推荐(0) 编辑

2017年11月21日

Android Studio集成工具导入Eclipse项目

摘要: 1、打开Android Studio,会提示你建立新工程、打开已有的Android Studio项目、导入其他项目... 在这一步骤中选择Import Project: 2、选择现有的Eclipse工程: 3、选择存放Android Studio工程的路径,这个Android Studio工程完全是 阅读全文

posted @ 2017-11-21 09:45 黑大米 阅读(319) 评论(0) 推荐(0) 编辑

2017年9月30日

Ubuntu 16.04 samba 配置

摘要: 1.首先在Ubuntu系统安装samba服务: sudo apt-get insall samba 2.创建共享目录: 我一般直接把我的home目录整个共享。路径/home/xyp/; 当然也可以新建其他目录。 3.修改samba配置文件: 首先保存已有的配置文件: sudo cp /etc/sam 阅读全文

posted @ 2017-09-30 09:50 黑大米 阅读(316) 评论(0) 推荐(0) 编辑

2016年12月14日

MTK平台Android中常用的路径

摘要: 开机Logo的路径: bootable\bootloader\lk\dev\logo 开机Logo图片分辨率路径: device\rq\rq6735_35gt_b_l1\ProjectConfig.mk BOOT_LOGO = wvga 开机动画的路径: frameworks\base\data\l 阅读全文

posted @ 2016-12-14 14:12 黑大米 阅读(410) 评论(0) 推荐(0) 编辑

2016年11月30日

APK安装时的过滤方式:包名白名单、证书认证

摘要: 1.定义一些全局变量,文件位置: Build.java (frameworks\base\core\java\android\os) 2.修改安装APK过程,在安装过程添加验证 修改文件的位置: PackageManagerService.java (frameworks\base\services 阅读全文

posted @ 2016-11-30 16:20 黑大米 阅读(2842) 评论(0) 推荐(0) 编辑

2016年11月15日

解析设备树的流程

摘要: 一、汇编相关部分的代码流程分析 二、C相关的函数流程 三、友情提供相关信息 四、接下来执行那些initcall函数: 五、initcall的执行顺序: 注意Init.h (kernel-3.10\include\linux) 中的宏的定义:在编译进内核时,MODULE 是没有定义的,所以 #ifnd 阅读全文

posted @ 2016-11-15 17:13 黑大米 阅读(4294) 评论(0) 推荐(0) 编辑

调试技术(/proc、/sys、/dev、strace)

摘要: 一、在/proc中实现文件 当某个进程读取我们的/proc文件时,内核会分配一个内存页,即PAGE_SIZE字节的内存块。驱动程序可以将数据通过这个内存页返回到用户空间。 二、strace命令 strace命令是一个功能非常强大的工具,它可以显示由用户空间程序发出的所有系统调用。它不仅可以显示调用, 阅读全文

posted @ 2016-11-15 16:52 黑大米 阅读(1593) 评论(0) 推荐(0) 编辑

2016年11月14日

字符设备驱动程序

摘要: 在内核中,dev_t类型用来保存设备编号——包括主设备号和次设备号。内核内部使用struct cdev结构来表示字符设备。 根据设备编号获取主设备号和次设备号: 根据主设备号和次设备号得到设备编号: 分配和释放设备编号: inode数据结构中有类型为dev_t的i_rdev字段,当inode指向的是 阅读全文

posted @ 2016-11-14 16:37 黑大米 阅读(238) 评论(0) 推荐(0) 编辑

2016年10月27日

内存管理

摘要: 一、内存管理的相关概念内核把物理页作为内存管理的基本单位。内核用struct page结构表示系统中的每个物理页。内核使用区对具有相似特性的页进行分组。内核把页划分为不同的区,主要使用了四种区:ZONE_DMA、ZONE_DMA32、ZONE_NORMAL、ZONE_HIGHEM。 二、获得页的接口 阅读全文

posted @ 2016-10-27 11:52 黑大米 阅读(217) 评论(0) 推荐(0) 编辑

导航