-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathindex.html
623 lines (474 loc) · 35.8 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
<!DOCTYPE html>
<html lang="zh-CN" data-content_root="" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Welcome to 100ask’s documentation — Linux设备驱动开发教程中心</title>
<script data-cfasync="false">
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "light";
</script>
<!-- Loaded before other Sphinx assets -->
<link href="_static/styles/theme.css?digest=5b4479735964841361fd" rel="stylesheet" />
<link href="_static/styles/bootstrap.css?digest=5b4479735964841361fd" rel="stylesheet" />
<link href="_static/styles/pydata-sphinx-theme.css?digest=5b4479735964841361fd" rel="stylesheet" />
<link href="_static/vendor/fontawesome/6.1.2/css/all.min.css?digest=5b4479735964841361fd" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2" />
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" href="_static/styles/sphinx-book-theme.css?digest=14f4ca6b54d191a8c7657f6c759bf11a5fb86285" type="text/css" />
<link rel="stylesheet" type="text/css" href="_static/copybutton.css" />
<link rel="stylesheet" type="text/css" href="_static/topbar.css" />
<link rel="stylesheet" type="text/css" href="_static/custom-theme.css" />
<link rel="stylesheet" type="text/css" href="_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css" />
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="_static/scripts/bootstrap.js?digest=5b4479735964841361fd" />
<link rel="preload" as="script" href="_static/scripts/pydata-sphinx-theme.js?digest=5b4479735964841361fd" />
<script src="_static/vendor/fontawesome/6.1.2/js/all.min.js?digest=5b4479735964841361fd"></script>
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
<script src="_static/doctools.js"></script>
<script src="_static/sphinx_highlight.js"></script>
<script src="_static/clipboard.min.js"></script>
<script src="_static/copybutton.js"></script>
<script src="_static/scripts/sphinx-book-theme.js?digest=5a5c038af52cf7bc1a1ec88eea08e6366ee68824"></script>
<script src="_static/translations.js"></script>
<script src="_static/design-tabs.js"></script>
<script>DOCUMENTATION_OPTIONS.pagename = 'index';</script>
<link rel="icon" href="_static/favicon.png"/>
<link rel="index" title="索引" href="genindex.html" />
<link rel="search" title="搜索" href="search.html" />
<link rel="next" title="1.课程介绍" href="zh/index.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="zh-CN"/>
<meta name="docbuild:last-update" content="2024 年 08 月 08 日"/>
</head>
<body data-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" data-bs-root-margin="0px 0px -60%" data-default-mode="">
<a class="skip-link" href="#main-content">Skip to main content</a>
<div id="pst-scroll-pixel-helper"></div>
<button type="button" class="btn rounded-pill" id="pst-back-to-top">
<i class="fa-solid fa-arrow-up"></i>
Back to top
</button>
<input type="checkbox"
class="sidebar-toggle"
name="__primary"
id="__primary"/>
<label class="overlay overlay-primary" for="__primary"></label>
<input type="checkbox"
class="sidebar-toggle"
name="__secondary"
id="__secondary"/>
<label class="overlay overlay-secondary" for="__secondary"></label>
<div class="search-button__wrapper">
<div class="search-button__overlay"></div>
<div class="search-button__search-container">
<form class="bd-search d-flex align-items-center"
action="search.html"
method="get">
<i class="fa-solid fa-magnifying-glass"></i>
<input type="search"
class="form-control"
name="q"
id="search-input"
placeholder="Search..."
aria-label="Search..."
autocomplete="off"
autocorrect="off"
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form></div>
</div>
<div class="bd-header-announcement container-fluid bd-header-announcement">
<div class="bd-header-announcement__content">📢📢📢 欢迎来到百问网Linux设备驱动开发教程中心文档站点!!!技术交流社区:https://forums.100ask.net</div>
</div>
<nav class="bd-header navbar navbar-expand-lg bd-navbar">
</nav>
<div class="bd-container">
<div class="bd-container__inner bd-page-width">
<div class="bd-sidebar-primary bd-sidebar">
<div class="sidebar-header-items sidebar-primary__section">
</div>
<div class="sidebar-primary-items__start sidebar-primary__section">
<div class="sidebar-primary-item">
<a class="navbar-brand logo" href="#">
<p class="title logo__title">Linux设备驱动开发教程中心</p>
</a></div>
<div class="sidebar-primary-item">
<form class="bd-search d-flex align-items-center"
action="search.html"
method="get">
<i class="fa-solid fa-magnifying-glass"></i>
<input type="search"
class="form-control"
name="q"
id="search-input"
placeholder="Search..."
aria-label="Search..."
autocomplete="off"
autocorrect="off"
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form></div>
<div class="sidebar-primary-item"><nav class="bd-links" id="bd-docs-nav" aria-label="Main">
<div class="bd-toc-item navbar-nav active">
<ul class="nav bd-sidenav">
<li class="toctree-l1"><a class="reference internal" href="zh/index.html">1.课程介绍</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="zh/03_LCD/index.html">3.LCD显示子系统</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-1"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/01_1.html">01_单片机_Linux下不同接口的LCD硬件操作原理</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/02_1.html">02_Framebuffer驱动程序框架</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/03.html">03_编程_写出框架</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/04.html">04_最简单的LCD驱动_基于QEMU</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/05.html">05_上机实验_基于QEMU</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/06_1.html">结合APP分析LCD驱动程序</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/07_1.html">07_硬件_8080接口LCD时序分析</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/08_1.html">08_硬件_TFT-RGB接口LCD时序分析</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/09_1.html">09_硬件_IMX6ULL的LCD控制器</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/10_1.html">10_分析内核自带的LCD驱动程序_基于IMX6ULL</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/11_1.html">11_编程_LCD驱动程序框架_使用设备树</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/12_1.html">12_编程_配置引脚_基于IMX6ULL</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/13_1.html">13_编程_配置时钟_基于IMX6ULL</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/14_1.html">14_编程_ 配置LCD控制器之获得LCD参数_ 基于IMX6ULL</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/15_1.html">15_编程_配置LCD控制器之寄存器操作_基于IMX6ULL</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/16.html">16_上机实验_基于IMX6ULL</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/17_1.html">17_单Buffer的缺点与改进方法</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/03_LCD/18.html">18_编写使用多buffer的应用程序</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="zh/04_I2C/index.html">4.I2C子系统</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-2"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="zh/04_I2C/01.html">01_I2C视频介绍</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/04_I2C/02_1.html">02_I2C协议</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/04_I2C/03.html">03_SMBus协议</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/04_I2C/04.html">04_I2C系统的重要结构体</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/04_I2C/05.html">05_无需编写驱动直接访问设备_I2C-Tools介绍</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/04_I2C/06.html">06_编写APP直接访问EEPROM</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/04_I2C/07.html">07_通用驱动i2c-dev分析</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/04_I2C/08_1.html">08_I2C系统驱动程序模型</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/04_I2C/09.html">09_编写设备驱动之i2c_driver</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/04_I2C/10.html">10_编写设备驱动之i2c_client</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/04_I2C/11.html">11_I2C_Adapter驱动框架讲解与编写</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/04_I2C/12_1.html">12_完善虚拟的I2C_Adapter驱动并模拟EEPROM</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/04_I2C/13_1.html">13_使用GPIO模拟I2C的驱动程序分析</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/04_I2C/14.html">14_使用GPIO操作I2C设备_IMX6ULL</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/04_I2C/15_1.html">15_具体芯片的I2C_Adapter驱动分析</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="zh/05_Input/index.html">5.Input输入子系统</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-3"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="zh/05_Input/01.html">01_Input子系统视频介绍</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/05_Input/02.html">02_先学习输入系统应用编程</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/05_Input/04_1.html">DRV_01_Input子系统框架详解</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/05_Input/04_2.html">DRV_02_编写input_dev驱动框架解</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/05_Input/04_3.html">DRV_03_ 编写最简单的触摸屏驱动程序_基于QEMU</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/05_Input/04_4.html">DRV_04_GPIO按键驱动分析与使用</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/05_Input/04_5.html">DRV_05_I2C接口触摸屏驱动分析</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/05_Input/04_6.html">DRV_06_UInput分析_用户态创建input_dev</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="zh/06_Pinctrl/index.html">6.Pinctrl子系统</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-4"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="zh/06_Pinctrl/01.html">01_Pinctrl子系统视频介绍</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/06_Pinctrl/03_1.html">02_Pinctrl子系统使用示例_基于IMX6ULL</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/06_Pinctrl/03_2.html">03_Pinctrl子系统使用示例</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/06_Pinctrl/04_1.html">04_Pinctrl子系统主要数据结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/06_Pinctrl/05_1.html">05_Pincontroller构造过程情景分析_基于IMX6ULL</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/06_Pinctrl/06_1.html">06_client端使用pinctrl过程的情景分析_基于IMX6ULL</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/06_Pinctrl/07_1.html">07_编写虚拟的Pinctrl驱动程序</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/06_Pinctrl/08_1.html">08_调试虚拟的Pinctrl驱动程序</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="zh/07_GPIO/index.html">7.GPIO子系统</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-5"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="zh/07_GPIO/01_1.html">01_GPIO子系统视频介绍</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/07_GPIO/05_1.html">02_GPIO子系统层次与数据结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/07_GPIO/06_1.html">03_IMX6ULL的GPIO驱动源码分析</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/07_GPIO/07_1.html">04_编写一个虚拟GPIO控制器的驱动程序</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/07_GPIO/08_1.html">05_调试与使用虚拟的GPIO控制器</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/07_GPIO/09_1.html">06_GPIO子系统与Pinctrl子系统的交互</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/07_GPIO/10_1.html">07_编程_GPIO使用Pinctrl</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/07_GPIO/11_1.html">08_GPIO子系统的sysfs接口</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="zh/08_Interrupt/index.html">8.Interrupt子系统</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-6"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="zh/08_Interrupt/08_1.html">01_中断相关的其他驱动程序</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/08_Interrupt/09_1.html">02_中断的硬件框架</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/08_Interrupt/10_1.html">03_GIC介绍与编程</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/08_Interrupt/11_1.html">04_异常向量表的安装与调用</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/08_Interrupt/12_1.html">05_GIC驱动程序对中断的处理流程</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/08_Interrupt/13_1.html">06_GIC驱动程序分析</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/08_Interrupt/14_1.html">07_两类中断控制器处理流程_链式和层级</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/08_Interrupt/15_1.html">08_链式中断控制器驱动程序编写</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/08_Interrupt/16_1.html">09_legacy方式代码的上机实验</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/08_Interrupt/17_1.html">10_链式中断控制器驱动程序编写_linear方式</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/08_Interrupt/18_1.html">11_层级中断控制器驱动程序编写</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/08_Interrupt/19_1.html">12_层级中断控制器驱动程序上机实验</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="zh/09_UART/index.html">9.UART子系统</a><input class="toctree-checkbox" id="toctree-checkbox-7" name="toctree-checkbox-7" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-7"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/01_1.html">01_UART子系统视频介绍</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/02_1.html">02_硬件知识_UART硬件介绍</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/03_1.html">03_TTY体系中设备节点的差别</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/04_1.html">04_TTY驱动程序框架</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/05_1.html">05_在STM32MP157上做串口实验的准备工作</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/05_2.html">06_Linux串口应用编程</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/07_1.html">07_字符设备驱动程序的另一种注册方法</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/08_1.html">08_UART驱动情景分析_注册</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/09_1.html">09_UART驱动情景分析_open</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/10_1.html">10_UART驱动情景分析_read</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/11_1.html">11_UART驱动情景分析_write</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/12_1.html">12_UART驱动调试方法</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/13_1.html">13_编写虚拟UART驱动程序_框架</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/14_1.html">14_编写虚拟UART驱动程序_实现uart_ops</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/15_1.html">15_编写虚拟UART驱动程序_实现数据传输</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/16_1.html">16_编写虚拟UART驱动程序_调试</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/17_1.html">17_printk执行过程</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/18_1.html">18_console驱动注册过程</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/19_1.html">19_编写console驱动</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/20_1.html">20_early_printk和earlycon</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/09_UART/21_1.html">21_RS485简单讲解</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="zh/10_PCI_PCIe/index.html">10.PCI_PCIe子系统</a><input class="toctree-checkbox" id="toctree-checkbox-8" name="toctree-checkbox-8" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-8"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="zh/10_PCI_PCIe/01_1.html">01_从软件开发角度看待PCI和PCIe</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/10_PCI_PCIe/02_1.html">02_PCI设备的访问方法_非桥设备(type0)</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/10_PCI_PCIe/03_1.html">03_PCI设备的访问方法_桥设备(type1)</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/10_PCI_PCIe/04_1.html">04_从软件角度看PCIe设备的硬件结构</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/10_PCI_PCIe/05_1.html">05_PCIe设备的配置过程</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/10_PCI_PCIe/06_1.html">06_PCIe路由方式</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/10_PCI_PCIe/07_1.html">07_PCI驱动程序框架</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/10_PCI_PCIe/08_1.html">08_RK3399_PCIe芯片手册解读</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/10_PCI_PCIe/09_1.html">09_RK3399_PCIe_Host驱动分析_地址映射</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/10_PCI_PCIe/10_1.html">10_RK3399_PCIe_Host驱动分析_设备枚举</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/10_PCI_PCIe/11_1.html">11_INTx_MSI_MSIX三种中断机制分析</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/10_PCI_PCIe/12_1.html">12_INTx中断机制源码分析</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/10_PCI_PCIe/13_1.html">13_GICv3_LPI机制</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/10_PCI_PCIe/14_1.html">14_MSI_MSI-X中断之体验与使用</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/10_PCI_PCIe/15_1.html">15_MSI_MSI-X中断之源码分析</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/10_PCI_PCIe/16_1.html">16_怎么编写PCIe设备驱动程序</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="zh/11_SPI/index.html">11.SPI子系统</a><input class="toctree-checkbox" id="toctree-checkbox-9" name="toctree-checkbox-9" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-9"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/01_1.html">01_SPI视频概述</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/02_1.html">02_SPI协议介绍</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/03_1.html">03_SPI总线设备驱动模型</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/04_1.html">04_SPI设备树处理过程</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/05_1.html">05_spidev的使用(SPI用户态API)</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/06_1.html">06_使用spidev操作SPI_DAC模块</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/07_1.html">07_SPI_DAC模块上机实验</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/08_1.html">08_SPI_OLED模块操作方法</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/09_1.html">09_使用spidev操作SPI_OLED模块</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/10_1.html">10_OLED模块上机实验</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/11_1.html">11_编写SPI设备驱动程序</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/12_1.html">12_编写SPI_DAC模块驱动程序</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/13_1.html">13_编写DAC驱动_上机实验</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/14_1.html">14_编写SPI_OLED模块驱动程序</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/15_1.html">15_编写OLED驱动_上机实验</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/16_1.html">16_使用Framebuffer改造OLED驱动</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/17_1.html">17_OLED_Framebuffer驱动_上机实验</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/18_1.html">18_SPI_Master驱动程序框架</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/19_1.html">19_编写SPI_Master驱动程序</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/20_1.html">20_使用老方法编写的SPI_Master驱动程序上机实验</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/21_1.html">21_编写SPI_Master驱动程序_新方法</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/22_1.html">22_使用新方法编写的SPI_Master驱动程序上机实验</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/23_1.html">23_SPI_Slave_Mode驱动程序框架</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/24_1.html">24_SPI_Slave_Mode驱动程序源码解读</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/11_SPI/25_1.html">临时笔记</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="zh/12_USB/index.html">12.USB子系统</a><input class="toctree-checkbox" id="toctree-checkbox-10" name="toctree-checkbox-10" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-10"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="zh/12_USB/01_1.html">01_USB视频介绍及资料下载</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/12_USB/02_1.html">02_USB系统硬件框架和软件框架</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/12_USB/03_1.html">03_软件工程师眼里的USB电气信号</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/12_USB/04_1.html">04_USB协议层数据格式</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/12_USB/05_1.html">05_USB描述符</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/12_USB/06_1.html">06_libusb的使用</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/12_USB/07_1.html">07_使用libusb读取鼠标数据</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/12_USB/08_1.html">08_USB设备驱动模型</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/12_USB/09_1.html">09_编写USB鼠标驱动程序</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/12_USB/10_1.html">10_OTG硬件检测电路</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/12_USB/11_1.html">11_Gadget驱动程序框架</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/12_USB/12_1.html">12_Gadget应用实例之zero</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/12_USB/13_1.html">13_Gadget应用实例之serial</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/12_USB/14_1.html">14_configfs的使用与内部机制</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/12_USB/15_1.html">15_Gadget应用实例之adb</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/12_USB/16_1.html">tmp</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/12_USB/17_1.html">Gadget驱动程序框架</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="zh/13_V4L2/index.html">13.V4L2子系统</a><input class="toctree-checkbox" id="toctree-checkbox-11" name="toctree-checkbox-11" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-11"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="zh/13_V4L2/01_1.html">01_V4L2应用程序开发</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/13_V4L2/02_1.html">02_V4L2驱动程序框架</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/13_V4L2/03_1.html">03_从0编写一个虚拟摄像头驱动</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/13_V4L2/04_1.html">04_USB摄像头驱动程序分析</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/13_V4L2/05_1.html">05_MIPI摄像头驱动程序分析</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/13_V4L2/06_1.html">06_V4L2视频介绍及资料下载/笔记</a></li>
<li class="toctree-l2"><a class="reference internal" href="zh/13_V4L2/07_1.html">tmp_摄像头控制接口</a></li>
</ul>
</li>
</ul>
</div>
</nav></div>
</div>
<div class="sidebar-primary-items__end sidebar-primary__section">
</div>
<div id="rtd-footer-container"></div>
</div>
<main id="main-content" class="bd-main">
<div class="sbt-scroll-pixel-helper"></div>
<div class="bd-content">
<div class="bd-article-container">
<div class="bd-header-article">
<div class="header-article-items header-article__inner">
<div class="header-article-items__start">
<div class="header-article-item"><label class="sidebar-toggle primary-toggle btn btn-sm" for="__primary" title="Toggle primary sidebar" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="fa-solid fa-bars"></span>
</label></div>
</div>
<div class="header-article-items__end">
<div class="header-article-item">
<div class="article-header-buttons">
<a href="https://github.com/100askTeam/LinuxDeviceDriver-Tranning" target="_blank"
class="btn btn-sm btn-source-repository-button"
title="源码库"
data-bs-placement="bottom" data-bs-toggle="tooltip"
>
<span class="btn__icon-container">
<i class="fab fa-github"></i>
</span>
</a>
<div class="dropdown dropdown-download-buttons">
<button class="btn dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false" aria-label="下载此页面">
<i class="fas fa-download"></i>
</button>
<ul class="dropdown-menu">
<li><a href="_sources/index.md" target="_blank"
class="btn btn-sm btn-download-source-button dropdown-item"
title="下载源文件"
data-bs-placement="left" data-bs-toggle="tooltip"
>
<span class="btn__icon-container">
<i class="fas fa-file"></i>
</span>
<span class="btn__text-container">.md</span>
</a>
</li>
<li>
<button onclick="window.print()"
class="btn btn-sm btn-download-pdf-button dropdown-item"
title="列印成 PDF"
data-bs-placement="left" data-bs-toggle="tooltip"
>
<span class="btn__icon-container">
<i class="fas fa-file-pdf"></i>
</span>
<span class="btn__text-container">.pdf</span>
</button>
</li>
</ul>
</div>
<button onclick="toggleFullScreen()"
class="btn btn-sm btn-fullscreen-button"
title="全屏模式"
data-bs-placement="bottom" data-bs-toggle="tooltip"
>
<span class="btn__icon-container">
<i class="fas fa-expand"></i>
</span>
</button>
<script>
document.write(`
<button class="btn btn-sm navbar-btn theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="theme-switch nav-link" data-mode="light"><i class="fa-solid fa-sun fa-lg"></i></span>
<span class="theme-switch nav-link" data-mode="dark"><i class="fa-solid fa-moon fa-lg"></i></span>
<span class="theme-switch nav-link" data-mode="auto"><i class="fa-solid fa-circle-half-stroke fa-lg"></i></span>
</button>
`);
</script>
<script>
document.write(`
<button class="btn btn-sm navbar-btn search-button search-button__button" title="搜索" aria-label="搜索" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass fa-lg"></i>
</button>
`);
</script>
</div></div>
</div>
</div>
</div>
<div id="jb-print-docs-body" class="onlyprint">
<h1>Welcome to 100ask’s documentation</h1>
<!-- Table of contents -->
<div id="print-main-content">
<div id="jb-print-toc">
</div>
</div>
</div>
<div id="searchbox"></div>
<article class="bd-article" role="main">
<section id="welcome-to-100ask-s-documentation">
<h1>Welcome to 100ask’s documentation<a class="headerlink" href="#welcome-to-100ask-s-documentation" title="此标题的永久链接">#</a></h1>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="zh/index.html">1.课程介绍</a></li>
<li class="toctree-l1"><a class="reference internal" href="zh/03_LCD/index.html">3.LCD显示子系统</a></li>
<li class="toctree-l1"><a class="reference internal" href="zh/04_I2C/index.html">4.I2C子系统</a></li>
<li class="toctree-l1"><a class="reference internal" href="zh/05_Input/index.html">5.Input输入子系统</a></li>
<li class="toctree-l1"><a class="reference internal" href="zh/06_Pinctrl/index.html">6.Pinctrl子系统</a></li>
<li class="toctree-l1"><a class="reference internal" href="zh/07_GPIO/index.html">7.GPIO子系统</a></li>
<li class="toctree-l1"><a class="reference internal" href="zh/08_Interrupt/index.html">8.Interrupt子系统</a></li>
<li class="toctree-l1"><a class="reference internal" href="zh/09_UART/index.html">9.UART子系统</a></li>
<li class="toctree-l1"><a class="reference internal" href="zh/10_PCI_PCIe/index.html">10.PCI_PCIe子系统</a></li>
<li class="toctree-l1"><a class="reference internal" href="zh/11_SPI/index.html">11.SPI子系统</a></li>
<li class="toctree-l1"><a class="reference internal" href="zh/12_USB/index.html">12.USB子系统</a></li>
<li class="toctree-l1"><a class="reference internal" href="zh/13_V4L2/index.html">13.V4L2子系统</a></li>
</ul>
</div>
</section>
</article>
<footer class="prev-next-footer">
<div class="prev-next-area">
<a class="right-next"
href="zh/index.html"
title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">下一页</p>
<p class="prev-next-title">1.课程介绍</p>
</div>
<i class="fa-solid fa-angle-right"></i>
</a>
</div>
</footer>
</div>
</div>
<footer class="bd-footer-content">
<div class="bd-footer-content__inner container">
<div class="footer-item">
<p class="component-author">
作者: 100ask_Team
</p>
</div>
<div class="footer-item">
<p class="copyright">
© Copyright 2019-2024 深圳百问网科技有限公司.
<br/>
</p>
</div>
<div class="footer-item">
<p class="last-updated">
最后更新于 2024 年 08 月 08 日.
<br/>
</p>
</div>
<div class="footer-item">
</div>
</div>
</footer>
</main>
</div>
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script src="_static/scripts/bootstrap.js?digest=5b4479735964841361fd"></script>
<script src="_static/scripts/pydata-sphinx-theme.js?digest=5b4479735964841361fd"></script>
<footer class="bd-footer">
</footer>
</body>
</html>