以下是mpu6050简单的驱动实现,mpu6050是I2C接口的6轴传感器,可以作为字符设备注册到内核,本代码运行环境是3.4.2内核,4.3.2版本的编译链,12.04版本的Ubuntu,硬件环境是jz2440开发板; 按照之前分析的I2C驱动框架,mpu6050驱动主要是实现外设端的驱动,主要是 ...
分类:
系统相关 时间:
2017-09-03 00:19:48
阅读次数:
164
Linux 驱动设计主要是根据分层分离思想,i2c子系统分为i2cocre、adapter、及device_driver层,其实adapter也是个device,只不过是我们主控芯片的I2C控制接口而已,我们的主控芯片有几个I2C接口就有几个adapter; i2ccore这一层linux已经帮我们 ...
分类:
系统相关 时间:
2017-09-01 18:18:14
阅读次数:
229
从linux驱动转行至Android驱动开发大半年了,一开始就产生了一个很纠结目标和问题,就是不停的google如何porting android!这个问题得到的结果对于初出茅庐的我,感到迷惘。随着工作的需要,自己的经验也就慢慢的增加,这些迷雾也慢慢解开,这里要多谢我自己的努力和老大高工的精心栽培。 ...
分类:
移动开发 时间:
2017-08-30 19:47:57
阅读次数:
210
1.module_i2c_driver(adxl34x_driver)展开为 static int __int adxl34x_driver_init(void) { return i2c_register_driver(&adxl34x_driver); } module_init(adxl34x... ...
分类:
系统相关 时间:
2017-08-30 17:12:57
阅读次数:
204
linux驱动和有两种形式: 1:编译到内核 2:编译为ko模块 这里记录下ko模块使用方法. 首先cd到/var/lib/(内核版本)/drivers/ 在这里面找到要装载的模块ko文件 modprobe 驱动名 (不用加扩展名.ko) rmmod 可以用卸载模块 可以通过dmesg | tail ...
分类:
系统相关 时间:
2017-08-29 11:15:17
阅读次数:
250
NAT是Network Address Translation的缩写,意即“网络地址转换”。从本质上来说,是通过改动IP数据首部中的地址,以实现将一个地址转换成还有一个地址的技术。 当然在某种情况下。改动的不仅仅是IP首部的来源或目的地址。还包含其他要素。 随着接入Internet的计算机数量不断猛 ...
分类:
Web程序 时间:
2017-08-13 18:40:12
阅读次数:
293
在配置kernel编译选项时驱动程序的编译选项一般有三种,不编译、编译为内核驱动、编译为模块驱动。所以linux驱动一般分为两类,内核驱动和模块驱动,当然这两者之间并无绝对区别;当编译为内核驱动时,驱动程序将会随内核一起运行,就相当于内核的固有部分一样;当编译为模块驱动时,每个驱动程序都是独立的个体... ...
分类:
系统相关 时间:
2017-08-06 17:01:20
阅读次数:
245
一、软考中级网络工程师——>CCNA CCNP 二、 1、Linux shell编程 2、Linux c语言 3、Linux应用程序开发(网络编程) 4、ARM编程(ARM体系结构、ARM汇编、开发板编程) 5、Linux系统移植(uboot移植、kernel移植、rootfs) 6、Linux驱动 ...
分类:
系统相关 时间:
2017-07-31 14:49:46
阅读次数:
182
学习设备驱动编程也有一段时间了,也写过了几个驱动程序,因此有对设备驱动程序有了一些新的理解和认识,总结一下。学习设备驱动编程也有一段时间了,也写过了几个驱动程序。因此有对设备驱动程序有了一些新的理解和认识,总结一下。 ★什么是驱动程序 刚開始学习设备驱动程序的时候,产生了很多的问题。什么是驱动程序? ...
分类:
系统相关 时间:
2017-07-30 21:09:27
阅读次数:
377
linux内核从2.6.13-rc3开始,提供了在用户空间,可动态的绑定和解绑定设备和设备驱动之间关系的功能。在这之前,只能通过insmod(modprobe)和rmmod来绑定和解绑,而且这种绑定和解绑都是针对驱动和所有设备的。而新的功能可以设置驱动和单个设备之间的联系。 这里,我们以pci总线的 ...
分类:
系统相关 时间:
2017-07-28 18:20:03
阅读次数:
186