02 2017 档案

摘要:kobject与sysfs:设备和驱动的最基本单位都是基于kobject实现的。 kobject对应/sys/xxx_bus/或者/sys/class/下的某个目录, kobject中有包含了一些属性,对应/sys/xxx/xxx/下面的狗哥文件。kobject与文件层次之间的关系... 阅读全文
posted @ 2017-02-27 15:35 云鹤比天 阅读(95) 评论(0) 推荐(0) 编辑
摘要:1.传数组:java端:JNI端:传字符串:1.java端:2.jni端: 阅读全文
posted @ 2017-02-27 13:36 云鹤比天 阅读(105) 评论(0) 推荐(0) 编辑
摘要:动态jni:1.java端:静态初始化块:加载类时就执行,去加载本地库用native 声明本地方法jni端:这里面函数和变量的定义规则不同,除了void型,其他记得加j前缀,JNI_OnLoad()函数,很重要将jni编译生成动态库:arm-linux-gnueabi-gcc -s... 阅读全文
posted @ 2017-02-25 12:18 云鹤比天 阅读(510) 评论(0) 推荐(0) 编辑
摘要:javaVM与DVM的区别:1. DVM基于寄存器,执行速度快,访问效率高;javaVM基于栈;2.后缀不一样javaVM是.class; javaVM是.dex;执行一个shell脚本的方法:1. ./my.sh ... 阅读全文
posted @ 2017-02-23 11:57 云鹤比天 阅读(83) 评论(0) 推荐(0) 编辑
摘要:框架解释:见xmind思维导图:实例:例程代码下载:https://git.coding.net/xxgui1992/LinuxDriver-usb.git 阅读全文
posted @ 2017-02-22 16:16 云鹤比天 阅读(104) 评论(0) 推荐(0) 编辑
摘要:概述:对于我们写驱动的来说,nand Flash、norFlash 等常见设备的驱动内核已经帮我们是实现好了,我们只需要在板级文件或平台文件中对分区表信息进行修改(如arch/arm/match-s3c24xx/mach-jive.c)。针对不同的CPU,根据nand控制器时序要求... 阅读全文
posted @ 2017-02-20 17:07 云鹤比天 阅读(234) 评论(0) 推荐(0) 编辑
摘要:裸机 时序1. 读寄存器:1. *(unsigned int *)0x5000000 = reg; //从哪个寄存器读 //0x5000000为bank1,访问bank1时他会自动产生nGCSx信号和WE信号, // MCU的地址总线上会出现0x50000000,数据总线 上会出现... 阅读全文
posted @ 2017-02-16 17:01 云鹤比天 阅读(319) 评论(0) 推荐(0) 编辑
摘要:概念及作用:应用层有这样的需求:我要映射一片空间,但这片空间不是随便的一片空间,他跟我当前要操作的设备有关联,但我又不知道他的绝对物理地址,只是想能够获得一片与该设备相关的,偏移一定偏移量的区域,并映射到用户空间。那么此后我在用户空间操作这片虚拟地址就相当于操作了与该设备相关的物理... 阅读全文
posted @ 2017-02-13 22:15 云鹤比天 阅读(183) 评论(0) 推荐(0) 编辑
摘要:数据结构重要函数:mmap:1.运用层:【1】void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);功能:在进程的虚拟地址空间建立一个内存映... 阅读全文
posted @ 2017-02-11 17:18 云鹤比天 阅读(114) 评论(0) 推荐(0) 编辑
摘要:exynos4412的IIC控制器工作流程:裸机程序如下: 重要的数据结构:1.描述控制器的:2.控制器操作硬件的方法:3.核心层的总结构体;4.描述从机mpu6o50的:设备树:i2c@138B0000 { samsung,i2c-sda-delay = ; ... 阅读全文
posted @ 2017-02-08 15:34 云鹤比天 阅读(274) 评论(0) 推荐(0) 编辑
摘要:1、分层设备驱动层:本层要驱动开发者自己实现,可参考drivers/input/keyboard/key.c1.结构体:核心层:内核已帮我们完成,在drivers/input/input.c1.结构体:事件处理层:针对不同的类型,内核分别提供了三个事件处理:0-31 j... 阅读全文
posted @ 2017-02-07 14:23 云鹤比天 阅读(159) 评论(0) 推荐(0) 编辑
摘要:最简范例驱动代码设备信息设备信息有是三种提供方式1.通过platform_device模块提供设备信息:2.通过平台文件提供设备信息:3.通过设备树提供设备信息:靠设备树来提供:源码下载: https://git.coding.net/xxgui1992/LinuxDriver-t... 阅读全文
posted @ 2017-02-04 20:36 云鹤比天 阅读(115) 评论(0) 推荐(0) 编辑
摘要:子设备识别:运用程序怎样找到驱动中的操作方法集xmind思维导图云文档:运用程序找驱动 阅读全文
posted @ 2017-02-04 10:49 云鹤比天 阅读(101) 评论(0) 推荐(0) 编辑
摘要:一、步骤:1.定义miscdevice结构体:struct miscdevice misc;2.初始化miscdevice结构体misc.minor = MISC_DYNAMIC_MINOR;//动态分配misc.name = "xxxx"; //设备名misc.fops = ... 阅读全文
posted @ 2017-02-04 10:33 云鹤比天 阅读(167) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示