![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
驱动
qq_27205523
这个作者很懒,什么都没留下…
展开
-
Android 传感器
在Android2.3 gingerbread系统中,google提供了11种传感器供应用层使用。 1#define SENSOR_TYPE_ACCELEROMETER1 //加速度2#define SENSOR_TYPE_MAGNETIC_FIELD2 //磁力翻译 2016-07-19 12:30:25 · 266 阅读 · 0 评论 -
uboot的启动流程
uboot的启动流程:通用的ubootctags -R 在当前目录下生成tags的索引文件ctrl +] 跳转ctrl + o 后退启动代码:arch/arm/cpu/armv7/start.o (.text*) 第一个阶段: 构建异常向量表 ||\/b reset设置cpu的工作模式关闭中断||\/ bl cp原创 2016-07-20 13:02:43 · 255 阅读 · 0 评论 -
linux内核的编译过程
linux内核的编译过程:uImage:进入顶层目录的Makefile文件中:504 include $(srctree)/arch/$(SRCARCH)/Makefile ====》 arch/arm/Makefile || \/ 进入arch/arm/Makefile中 必备变量: machine-$(CONFIG_ARCH原创 2016-07-20 13:02:06 · 383 阅读 · 0 评论 -
内核的调试方法
内核的调试方法: 1、点灯 2、通过串口输出 内核解压阶段, 使用putstr打印(arch/arm/boot/compressed/misc.c) 启动汇编中: printascii console_init()之后: 使用printk函数进行输出 int printk(const char *fmt, ...)int printk(消息级别 c原创 2016-07-20 13:01:21 · 353 阅读 · 0 评论 -
驱动开发
字符设备: 传输字符流的设备 不允许随机访问(一般) 块设备:数据块 允许随机访问 例如硬盘,U盘网络设备:可以使用网络的设备字符设备驱动:ctrl+N自动补齐生成tags一、模块:组成:1、许可证声明 MODULE_LICENSE("GPL"); 1) 不写内核会产生抱怨 2) 不写则内核很多函数无法使用2原创 2016-07-20 12:58:36 · 214 阅读 · 0 评论 -
驱动互斥中断
互斥机制: 1、屏蔽中断 2、原子操作 定义原子变量 atomic_t v; 初始化 atomic_t v = ATOMIC_INIT(0); 操作 atomic_t v = ATOMIC_INIT(1); open { if(atomic_dec_and_test(&v)) {原创 2016-07-20 12:54:36 · 362 阅读 · 0 评论 -
LED灯驱动的编写
LED灯驱动的编写:一、原理图 LED2 GPX2_7 LED3 GPX1_0 LED4 GPF3_4 LED5 GPF3_5 输出---0灭、1亮二、芯片手册 GPX2CON 0x11000C40 [31:28] GPX2DAT 0x11000C44 [7] GPX1CON 0x11000C原创 2016-07-19 12:43:38 · 732 阅读 · 0 评论 -
蜂鸣器驱动
蜂鸣器驱动: 1、原理图 GPD0_0PWM TOUT0 2、芯片手册 CPD0CON 0x114000A0 1 (1)[3:0] c TCFG0 139D0000 2 (2)[7:0] TCFG1 139D0004 (3)[3:0] TCON 139D0008 (6)[3:0]原创 2016-07-19 12:42:13 · 942 阅读 · 0 评论 -
linux3.x 内核如何强制卸载模块?
一、问题现象:在insmod时调用的init函数代码执行过程中出现oops,导致rmmod卸载失败,此时不得不重启目标板?No!下面是《精通linux设备驱动程序开发》中模拟鼠标的输入设备驱动的内核模块vms.c代码:[html] view plaincopy在CODE上查看代码片派生到我的代码片 #include #include转载 2016-07-19 12:41:19 · 1764 阅读 · 0 评论 -
LINUX设备模型
一,基于总线的编程 platform_bus 总线:是一条虚拟总线,外设通过总线与cpu相连。所有片内外设设备,通过smc与cpu相连的设备可以使用platfrom_bus总线。 platform_bus_type : platform_driver:驱动的一个结构体代表驱动(去寻找platform_device)eg:driver.name="a"原创 2016-07-19 12:40:17 · 598 阅读 · 0 评论 -
安卓底层之launcher的更改
auncher,也就是android的桌面应用程序。下图是我正在使用的魅族手机的launcher应用程序: 接下来我们要开发一个自己的launcher,使其替代系统的默认launcher。怎样使我们的应用程序成为一个launcher? 首先我们要有一个自己的Android应用,在这里,我使用最简单的应用程序Hello,使用eclipse创建Android项目转载 2016-07-19 12:38:06 · 2144 阅读 · 3 评论 -
系统运行步骤
uboot:README文件目录结构:平台相关:arch board平台无关:common doc driver fs tools配置和编译:配置:make xxx_config xxx是开发板的名字 比如: make origen_config 顶层目录MakefileMKCONFIG原创 2016-07-20 13:03:32 · 349 阅读 · 0 评论