Android 版本升级
用Retrofit2 get json 对比版本号 下载apk 弹出提示框,自动安装下载好的apk
RetrofitTest
使用Retrofit的GET功能调用金山词霸的API在线翻译,使用Retrofit的POST功能调用有道词典的API在线翻译
Android 百度鹰眼 SDK 后台启动轨迹追踪采集
Android 百度鹰眼 SDK TrackPhones.zip后台启动轨迹追踪采集,开机自启动 TrackShow.zip显示实时监控和12小时以内的轨迹查询
百度地图SDK Demo学习
根据百度官方文档:http://lbsyun.baidu.com/index.php?title=首页学习所写的百度地图SDK Demo
Android Studio3.0.1 导入AndBaseDemo
把AndBase导入Android Studio3 然后修改配置使其能正常编译通过,并在真机上运
kernel4.1.15 ti bq27541 电量计驱动
新的内核使用了power_supply_desc来描述电池信息,驱动在android7.1上测度过 + bq27541@55{
+ compatible = "ti,bq27541-g1";
+ reg = ;
+ };
android i2c-tools
I2C设备查询
root@android:i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- 0e --
10: -- -- -- -- -- -- -- -- -- -- UU -- 1c -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- 44 -- -- -- -- -- 4a -- -- -- -- --
50: -- -- -- -- -- UU -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
70: -- -- -- -- -- -- -- --
Android技术内幕.系统卷
1.Android的内核机制和结构剖析
2.Android的IPC机制
3.电源管理
4.驱动的工作原理及实现机制
5.Event输入设备驱动
6.原生库的原理及实现
7.硬件抽象层的原理与实现
8.Dalvik虚拟机的构架原理与实现
9.Android核心库
ldd3_examples
include lddbus misc-modules misc-progs
pci sbull scull scullc sculld scullp scullv short shortprint skull tty usb
Linux设备驱动程序第三版.pdf
目录
1. Linux 设备驱动第三版 .................................................................................................................... 5
2. 第 1 章 设备驱动简介 .............................................................................................................. 15
2.1 1.1. 驱动程序的角色 ......................................................................................................... 17
2.2 1.2. 划分内核 ..................................................................................................................... 17
2.3 1.3. 设备和模块的分类 ..................................................................................................... 20
2.4 1.4. 安全问题 ..................................................................................................................... 21
2.5 1.5. 版本编号 ..................................................................................................................... 23
2.6 1.6. 版权条款 ..................................................................................................................... 24
2.7 1.7. 加入内核开发社团 ..................................................................................................... 25
2.8 1.8. 本书的内容 ................................................................................................................. 25
3. 第 2 章 建立和运行模块 .......................................................................................................... 26
3.1 2.1. 设置你的测试系统 ..................................................................................................... 28
3.2 2.2. Hello World 模块 ......................................................................................................... 28
3.3 2.3. 内核模块相比于应用程序 ......................................................................................... 30
3.4 2.4. 编译和加载 ................................................................................................................. 34
3.5 2.5. 内核符号表 ................................................................................................................. 39
3.6 2.6. 预备知识 ..................................................................................................................... 40
3.7 2.7. 初始化和关停 ............................................................................................................. 41
3.8 2.8. 模块参数 ..................................................................................................................... 46
3.9 2.9. 在用户空间做 ............................................................................................................. 48
3.10 2.10. 快速参考 ................................................................................................................. 50
4. 第 3 章 字符驱动 ...................................................................................................................... 52
4.1 3.1. scull 的设计 ................................................................................................................. 54
4.2 3.2. 主次编号 ..................................................................................................................... 54
4.3 3.3. 一些重要数据结构 ..................................................................................................... 59
4.4 3.4. 字符设备注册 ............................................................................................................. 66
4.5 3.5. open 和 release .......................................................................................................... 69
4.6 3.6. scull 的内存使用 ......................................................................................................... 72
4.7 3.7. 读和写 ......................................................................................................................... 74
4.8 3.8. 使用新设备 ................................................................................................................. 82
4.9 3.9. 快速参考 ..................................................................................................................... 82
5. 第 4 章 调试技术 ...................................................................................................................... 84
5.1 4.1. 内核中的调试支持 ..................................................................................................... 87
5.2 4.2. 用打印调试 ................................................................................................................. 87
5.3 4.3. 用查询来调试 ............................................................................................................. 94
5.4 4.4. 使用观察来调试 ....................................................................................................... 103
5.5 4.5. 调试系统故障 ........................................................................................................... 105
5.6 4.6. 调试器和相关工具 ................................................................................................... 111
6. 第 5 章 并发和竞争情况 ........................................................................................................ 118
6.1 5.1. scull 中的缺陷 ........................................................................................................... 119
Linux 设备驱动 第三版 - [JJJ]
2
6.2 5.2. 并发和它的管理 ....................................................................................................... 119
6.3 5.3. 旗标和互斥体 ........................................................................................................... 121
6.4 5.4. Completions 机制 ...................................................................................................... 126
6.5 5.5. 自旋锁 ....................................................................................................................... 128
6.6 5.6. 锁陷阱 ....................................................................................................................... 133
6.7 5.7. 加锁的各种选择 ....................................................................................................... 135
6.8 5.8. 快速参考 ................................................................................................................... 142
7. 第 6 章 高级字符驱动操作 .................................................................................................... 146
7.1 6.1. ioctl 接口 ................................................................................................................... 159
7.2 6.2. 阻塞 I/O .................................................................................................................... 159
7.3 6.3. poll 和 select ............................................................................................................. 175
7.4 6.4. 异步通知 ................................................................................................................... 181
7.5 6.5. 移位一个设备 ........................................................................................................... 184
7.6 6.6. 在一个设备文件上的存取控制 ............................................................................... 186
7.7 6.7. 快速参考 ................................................................................................................... 193
8. 第 7 章 时间, 延时, 和延后工作 .......................................................................................... 196
8.1 7.1. 测量时间流失 ........................................................................................................... 202
8.2 7.2. 获知当前时间 ........................................................................................................... 202
8.3 7.3. 延后执行 ................................................................................................................... 204
8.4 7.4. 内核定时器 ............................................................................................................... 210
8.5 7.5. Tasklets 机制.............................................................................................................. 216
8.6 7.6. 工作队列 ................................................................................................................... 219
8.7 7.7. 快速参考 ................................................................................................................... 223
9. 第 8 章 分配内存 .................................................................................................................... 227
9.1 8.1. kmalloc 的真实故事 .................................................................................................. 232
9.2 8.2. 后备缓存 ................................................................................................................... 232
9.3 8.3. get_free_page 和其友 ............................................................................................... 237
9.4 8.4. 每-CPU 的变量 ......................................................................................................... 243
9.5 8.5. 获得大量缓冲 ........................................................................................................... 246
9.6 8.6. 快速参考 ................................................................................................................... 247
10. 第 9 章 与硬件通讯 .............................................................................................................. 250
10.1 9.1. I/O 端口和 I/O 内存 .............................................................................................. 254
10.2 9.2. 使用 I/O 端口 ........................................................................................................ 254
10.3 9.3. 一个 I/O 端口例子 ................................................................................................ 260
10.4 9.4. 使用 I/O 内存 ........................................................................................................ 264
10.5 9.5. 快速参考 ................................................................................................................. 271
11. 第 10 章 中断处理 ................................................................................................................ 273
11.1 10.1. 准备并口 ............................................................................................................... 275
11.2 10.2. 安装一个中断处理 ............................................................................................... 275
11.3 10.3. 前和后半部 ........................................................................................................... 291
11.4 10.4. 中断共享 ............................................................................................................... 294
11.5 10.5. 中断驱动 I/O ........................................................................................................ 297
11.6 10.6. 快速参考 ............................................................................................................... 302
12. 第 11 章 内核中的数据类型 ................................................................................................ 304
Linux 设备驱动 第三版 - [JJJ]
3
12.1 11.1. 标准 C 类型的使用 ............................................................................................. 306
12.2 11.2. 安排一个明确大小给数据项 ............................................................................... 306
12.3 11.3. 接口特定的类型 ................................................................................................... 307
12.4 11.4. 其他移植性问题 ................................................................................................... 308
12.5 11.5. 链表 ....................................................................................................................... 312
12.6 11.6. 快速参考 ............................................................................................................... 316
13. 第 12 章 PCI 驱动 ................................................................................................................. 318
13.1 12.1. PCI 接口 ................................................................................................................. 335
13.2 12.2. 回顾: ISA ................................................................................................................ 335
13.3 12.3. PC/104 和 PC/104+ ............................................................................................... 337
13.4 12.4. 其他的 PC 总线 ................................................................................................... 338
13.5 12.5. SBus ........................................................................................................................ 339
13.6 12.6. NuBus 总线 ............................................................................................................ 340
13.7 12.7. 外部总线 ............................................................................................................... 340
13.8 12.8. 快速参考 ............................................................................................................... 340
14. 第 13 章 USB 驱动 ............................................................................................................... 342
14.1 13.1. USB 设备基础知识 ................................................................................................ 348
14.2 13.2. USB 和 sysfs .......................................................................................................... 348
14.3 13.3. USB 的 Urbs .......................................................................................................... 350
14.4 13.4. 编写一个 USB 驱动 ............................................................................................. 362
14.5 13.5. 无 urb 的 USB 传送 ........................................................................................... 373
14.6 13.6. 快速参考 ............................................................................................................... 377
15. 第 14 章 Linux 设备模型 ...................................................................................................... 379
15.1 14.1. Kobjects, Ksets 和 Subsystems ............................................................................. 390
15.2 14.2. 低级 sysfs 操作 .................................................................................................... 390
15.3 14.3. 热插拔事件产生 ................................................................................................... 394
15.4 14.4. 总线, 设备, 和驱动 ............................................................................................. 396
15.5 14.5. 类 ........................................................................................................................... 407
15.6 14.6. 集成起来 ............................................................................................................... 412
15.7 14.7. 热插拔 ................................................................................................................... 418
15.8 14.8. 处理固件 ............................................................................................................... 426
15.9 14.9. 快速参考 ............................................................................................................... 428
16. 第 15 章 内存映射和 DMA .................................................................................................. 432
16.1 15.1. Linux 中的内存管理 .............................................................................................. 442
16.2 15.2. mmap 设备操作 .................................................................................................... 442
16.3 15.3. 进行直接 I/O ........................................................................................................ 455
16.4 15.4. 直接内存存取 ....................................................................................................... 461
16.5 15.5. 快速参考 ............................................................................................................... 480
17. 第 16 章 块驱动 .................................................................................................................... 485
17.1 16.1. 注册 ....................................................................................................................... 492
17.2 16.2. 块设备操作 ........................................................................................................... 492
17.3 16.3. 请求处理 ............................................................................................................... 496
17.4 16.4. 一些其他的细节 ................................................................................................... 514
17.5 16.5. 快速参考 ............................................................................................................... 516
Linux 设备驱动 第三版 - [JJJ]
4
18. 第 17 章 网络驱动 ................................................................................................................ 520
18.1 17.1. snull 是如何设计的 ............................................................................................... 526
18.2 17.2. 连接到内核 ........................................................................................................... 529
18.3 17.3. net_device 结构的详情 ........................................................................................ 533
18.4 17.4. 打开与关闭 ........................................................................................................... 542
18.5 17.5. 报文传送 ............................................................................................................... 544
18.6 17.6. 报文接收 ............................................................................................................... 549
18.7 17.7. 中断处理 ............................................................................................................... 551
18.8 17.8. 接收中断缓解 ....................................................................................................... 553
18.9 17.9. 连接状态的改变 ................................................................................................... 556
18.10 17.10. Socket 缓存........................................................................................................ 557
18.11 17.11. MAC 地址解析 .................................................................................................. 561
18.12 17.12. 定制 ioctl 命令 ................................................................................................ 563
18.13 17.13. 统计信息 ........................................................................................................... 564
18.14 17.14. 多播 ................................................................................................................... 566
18.15 17.15. 几个其他细节 ................................................................................................... 569
18.16 17.16. 快速参考 ........................................................................................................... 571
19. 第 18 章 TTY 驱动 ................................................................................................................ 574
19.1 18.1. 一个小 TTY 驱动 ................................................................................................. 583
19.2 18.2. tty_driver 函数指针 .............................................................................................. 583
19.3 18.3. TTY 线路设置 ........................................................................................................ 590
19.4 18.4. ioctls 函数 .............................................................................................................. 594
19.5 18.5. TTY 设备的 proc 和 sysfs 处理 .......................................................................... 598
19.6 18.6. tty_driver 结构的细节 .......................................................................................... 599
19.7 18.7. tty_operaions 结构的细节 .................................................................................... 601
19.8 18.8. tty_struct 结构的细节 .......................................................................................... 604
19.9 18.9. 快速参考 ............................................................................................................... 606