论坛 > 测评 > 《RT-Thread设备驱动开发指南》来了
《RT-Thread设备驱动开发指南》来了
  • 市场参考价: ¥ 99.0  |   数量: 5  |   申请人数: 25
  • 预热中 申请中 体验中 已结束
  • 作品展示
  • 活动详情

    本书由自研开源嵌入式实时操作系统RT-Thread核心开发者撰写,系统讲解RT-Thread设备驱动开发方法,剖析26种设备驱动开发案例,助力开发者快速掌握RT-Thread设备驱动开发技能。 本书的内容共27章,分为三篇。
    - 基础篇(第1~11章),先对RT-Thread以及设备框架进行总体介绍,再分别介绍RT-Thread中常用的设备,包括串口、I2C、SPI等,适合刚接触驱动开发的人学习。
    - 进阶篇(第12~20章),介绍稍复杂一些的外设驱动,如SDIO、触摸、显示、传感器、加解密设备等。
    - 高级篇(第21~27章),介绍一些复杂的驱动,如网络、音频、USB、CAN等,开发此类设备驱动要求开发者本身对相应的外设协议比较熟悉。

    面向的读者对象:

     - 熟悉RT-Thread并想在其上开发设备驱动的人员
     - 嵌入式软硬件工程师、电子工程师、物联网开发工程师
     - 高等院校的计算机、电子、自动化、通信相关专业师生
     - 其他对嵌入式操作系统感兴趣的人员


    如何申请

    (1)往下滑到“产品资料”栏,可进一步了解书籍内容,章节设置;

    (2)>>点击我要申请,认真填写申请理由、阅读分享计划等,即有机会免费获取书籍。


    活动日程

    申请时间:7月12日至8月2日
    遴选公布:8月7日前,公布全部入围名单
    阅读时间:8月14日-10月7日
    颁奖时间:活动结束后两周内

     

    阅读要求

    (1)收到书籍后,请在EEWorld 嵌入式系统编程版块 自拟标题发表阅读心得,活动期间内,至少分享3篇具有实质性内容的心得,进度为至少每15天提交一篇,要求100%原创首发,抄袭会被封杀哦。心得可包含:书籍内容的评价、理解、尝试书中实验过程等;

    (2)活动特邀请到RT-Thread官方出题,助力读者围读活动,参与者要求至少完成50%的章节问题打卡


    活动评奖

    评委将对阅读心得质量、章节打卡任务完成度、分享及时性三方面进行评分。综合分=60%阅读心得质量+30%章节打卡完成度+10%及时性

    综合分

    奖励

    综合分>=90分

    保留阅读书籍+20威望+20芯积分

    综合分>=75分

    保留阅读书籍+10威望+10芯积分

    综合分<75分

    寄回阅读书籍

  • 产品资料

    本书是基于RT-Thread 4.1.0 编写的,读者在跟随本书学习驱动开发的时候,也需要选择对应的源码版本。

    微信图片_20230706094302.jpg


    书籍目录

    前言

    第一篇 基础篇

    第1章 RT-Thread与设备框架

    简介    2

    1.1 RT-Thread概述    2

    1.2 RT-Thread I/O设备框架    5

    1.2.1 I/O设备模型与分类    8

    1.2.2 I/O设备管理接口    10

    1.2.3 驱动编写流程与规范    15

    1.3 本章小结    16

    第2章 UART设备驱动开发    17

    2.1 UART层级结构    18

    2.2 创建UART设备    19

    2.3 实现UART设备的操作方法    20

    2.3.1 configure:配置UART

    设备    21

    2.3.2 control:控制UART设备    23

    2.3.3 putc:发送一个字符    26

    2.3.4 getc:接收一个字符    27

    2.3.5 transmit:数据发送    28

    2.4 注册UART设备    29

    2.5 UART设备中断处理    30

    2.6 增加DMA模式    32

    2.7 驱动配置    37

    2.8 驱动验证    38

    2.9 本章小结    39

    第3章 PIN设备驱动开发    41

    3.1 PIN层级结构    41

    3.2 实现PIN设备的操作方法    42

    3.3 注册PIN设备    51

    3.4 驱动配置    52

    3.5 驱动验证    52

    3.6 本章小结    53

    第4章 I2C总线设备驱动开发    54

    4.1 I2C层级结构    55

    4.2 I2C总线设备结构    55

    4.3 硬件I2C总线设备驱动开发    56

    4.3.1 实现设备的操作方法    57

    4.3.2 注册设备    59

    4.3.3 驱动配置    60

    4.3.4 驱动验证    61

    4.4 软件I2C总线设备驱动开发    61

    4.4.1 实现设备的操作方法    62

    4.4.2 注册设备    66

    4.5 本章小结    67

    第5章 SPI/QSPI总线设备驱动

    开发    68

    5.1 SPI/QSPI层级结构    69

    5.2 SPI总线设备驱动开发    70

    5.2.1 创建SPI总线设备    70

    5.2.2 实现SPI总线设备的操作

    方法    72

    5.2.3 注册SPI总线设备    76

    5.2.4 增加DMA功能    77

    5.2.5 实现挂载SPI从设备功能    80

    5.2.6 SPI总线设备驱动配置    81

    5.2.7 驱动验证    82

    5.3 QSPI 总线设备驱动开发    83

    5.3.1 创建QSPI总线设备    83

    5.3.2 实现QSPI总线设备的

    操作方法    84

    5.3.3 注册QSPI总线设备    87

    5.3.4 实现挂载QSPI从设备

    功能    87

    5.3.5 QSPI 总线设备驱动配置    89

    5.3.6 驱动验证    89

    5.4 本章小结    90

    第6章 HWTIMER设备驱动

    开发    91

    6.1 HWTIMER层级结构    91

    6.2 创建HWTIMER设备    92

    6.3 实现HWTIMER设备的操作

    方法    93

    6.3.1 init:初始化设备    93

    6.3.2 start:启动设备    95

    6.3.3 stop:停止设备    96

    6.3.4 count_get:获取设备

    当前值    96

    6.3.5 control:控制设备    97

    6.4 注册HWTIMER设备    98

    6.5 HWTIMER设备中断处理    99

    6.6 驱动配置    100

    6.7 驱动验证    101

    6.8 本章小结    101

    第7章 PWM设备驱动开发    102

    7.1 PWM层级结构    103

    7.2 创建PWM设备    104

    7.3 实现PWM设备的操作方法    105

    7.4 注册PWM设备    108

    7.5 驱动配置    109

    7.6 验证与使用    110

    7.7 本章小结    111

    第8章 RTC设备驱动开发    112

    8.1 RTC层级结构    112

    8.2 创建RTC设备    113

    8.3 实现RTC设备的操作方法    113

    8.3.1 为设备定义操作方法    114

    8.3.2 init:初始化设备    115

    8.3.3 get_secs:获取时间    115

    8.3.4 set_secs:设置时间    116

    8.3.5 get_timeval:获取timeval

    结构    117

    8.4 注册RTC设备    118

    8.5 驱动配置    119

    8.6 驱动验证    120

    8.7 本章小结    121

    第9章 ADC设备驱动开发    122

    9.1 ADC层级结构    122

    9.2 创建ADC设备    123

    9.3 实现ADC设备的操作方法    124

    9.3.1 enabled:控制ADC

    通道    125

    9.3.2 convert:转换并获取ADC

    采样值    125

    9.4 注册ADC设备    126

    9.5 驱动配置    127

    9.6 驱动验证    128

    9.7 本章小结    129

    第10章 DAC设备驱动开发    130

    10.1 DAC层级结构    130

    10.2 创建DAC设备    131

    10.3 实现设备的操作方法    132

    10.3.1 enabled:使能DAC

    通道    133

    10.3.2 disabled:禁止DAC

    通道    133

    10.3.3 convert:设置DAC输出值

    并启动数模转换    134

    10.4 注册DAC设备    135

    10.5 驱动配置    136

    10.6 驱动验证    136

    10.7 本章小结    138

    第11章 WDT设备驱动开发    139

    11.1 WDT层级结构    139

    11.2 创建WDT设备    140

    11.3 实现WDT设备的操作方法    141

    11.3.1 为设备定义操作方法    141

    11.3.2 init:初始化看门狗

    设备    141

    11.3.3 control:控制看门狗

    设备    142

    11.4 注册WDT设备    143

    11.5 驱动配置    144

    11.6 驱动验证    145

    11.7 本章小结    146

    第二篇 进阶篇

    第12章 SDIO 设备驱动开发148

    12.1 SDIO层级结构    148

    12.2 实现SDIO设备的操作方法    149

    12.2.1 request:发送请求    149

    12.2.2 set_iocfg:配置SDIO    154

    12.2.3 get_card_status:获取

    状态    156

    12.2.4 enable_sdio_irq:配置

    中断    156

    12.3 创建并激活SDIO主机    157

    12.4 驱动配置    159

    12.5 驱动验证    159

    12.6 本章小结    160

    第13章 Touch设备驱动开发    161

    13.1 Touch层级结构    161

    13.2 GT9147触摸芯片    162

    13.3 创建Touch设备    162

    13.4 实现Touch设备的操作方法    163

    13.4.1 touch_readpoint:读触摸点

    信息    163

    13.4.2 touch_control:控制

    设备    166

    13.5 注册Touch设备    168

    13.6 驱动配置    169

    13.7 驱动验证    170

    13.8 本章小结    172

    第14章 LCD设备驱动开发    173

    14.1 LCD层级结构    173

    14.2 创建LCD设备    174

    14.3 实现LCD设备的操作方法    174

    14.3.1 init:初始化LCD设备    175

    14.3.2 control:控制LCD设备    175

    14.4 实现绘图的操作方法    177

    14.4.1 set_pixel:画点    178

    14.4.2 get_pixel:读取像素点

    颜色    178

    14.4.3 draw_hline:画横线    179

    14.4.4 draw_vline:画竖线    180

    14.4.5 blit_line:画杂色水

    平线    181

    14.5 注册LCD设备    182

    14.6 驱动配置    183

    14.7 驱动验证    184

    14.8 本章小结    185

    第15章 传感器设备驱动开发    186

    15.1 传感器层级结构    186

    15.2 创建传感器设备    187

    15.3 实现传感器设备的操作方法    188

    15.3.1 fetch_data:获取传感器

    数据    188

    15.3.2 control:控制传感器

    设备    189

    15.4 设备注册    191

    15.5 驱动配置    193

    15.6 驱动验证    194

    15.7 本章小结    195

    第16章 MTD NOR设备驱动

    开发    196

    16.1 MTD NOR层级结构    196

    16.2 创建MTD NOR设备    197

    16.3 实现MTD NOR设备的操作

    方法    198

    16.3.1 read_id:读取设备ID    198

    16.3.2 read:从设备中读数据    199

    16.3.3 write:向设备中写数据    200

    16.3.4 erase_block:擦除数据    201

    16.4 注册MTD NOR设备    202

    16.5 驱动配置    204

    16.6 驱动验证    204

    16.7 本章小结    205

    第17章 MTD NAND设备驱动

    开发    206

    17.1 MTD NAND层级结构    206

    17.2 创建MTD NAND设备    207

    17.3 实现MTD NAND设备的操作

    方法    207

    17.3.1 read_id:读取设备ID    208

    17.3.2 read_page:从设备中读

    数据    208

    17.3.3 write_page:向设备中写

    数据    210

    17.3.4 erase_block:擦除设备    213

    17.4 注册MTD NAND设备    214

    17.5 驱动配置    215

    17.6 驱动验证    216

    17.7 本章小结    217

    第18章 脉冲编码器设备驱动

    开发218

    18.1 脉冲编码器层级结构    219

    18.2 创建脉冲编码器设备    220

    18.3 实现脉冲编码器设备的操作

    方法    220

    18.3.1 init:初始化脉冲

    编码器    221

    18.3.2 control:控制脉冲

    编码器    222

    18.3.3 get_count:获取编码器

    计数    223

    18.3.4 clear_count:清空编码器

    计数    224

    18.4 注册脉冲编码器设备    224

    18.5 脉冲编码器中断处理    225

    18.6 驱动配置    226

    18.7 驱动验证    227

    18.8 本章小结    229

    第19章 加解密设备驱动开发    230

    19.1 加解密设备层级结构    230

    19.2 创建加解密设备    231

    19.3 实现加解密设备的操作方法    231

    19.3.1 create:创建设备    232

    19.3.2 destroy:销毁设备    236

    19.3.3 copy:复制上下文    237

    19.3.4 reset:复位设备    239

    19.4 注册加解密设备    240

    19.5 驱动配置    241

    19.6 驱动验证    241

    19.7 本章小结    242

    第20章 PM设备驱动开发243

    20.1 PM层级结构    243

    20.2 实现PM设备的操作方法    244

    20.2.1 sleep:切换休眠模式    244

    20.2.2 run:切换运行模式    246

    20.2.3 timer_start:定时器

    启动    247

    20.2.4 timer_get_tick:获取

    时钟值    248

    20.2.5 timer_stop:定时器停止    248

    20.3 注册PM设备    249

    20.4 驱动配置    250

    20.5 驱动验证    250

    20.6 本章小结    251

    第三篇 高级篇

    第21章 WLAN设备驱动

    开发    254

    21.1 WLAN层级结构    254

    21.2 创建WLAN设备    256

    21.3 实现WLAN设备的操作方法    256

    21.3.1 wlan_init:初始化设备    257

    21.3.2 wlan_scan:扫描    258

    21.3.3 wlan_get_rssi:获取信号

    强度    258

    21.3.4 wlan_cfg_promisc:配置

    混杂模式    259

    21.3.5 wlan_set_channel:设置

    信道    259

    21.3.6 wlan_set_country:设置

    国家码    260

    21.3.7 wlan_send:发送数据    261

    21.4 注册WLAN设备    261

    21.5 驱动配置    262

    21.6 驱动验证    263

    21.7 本章小结    264

    第22章 ETH设备驱动开发    265

    22.1 ETH层级结构    265

    22.2 创建ETH设备    266

    22.3 实现ETH设备的操作方法    267

    22.3.1 eth_rx:数据接收    268

    22.3.2 eth_tx:数据发送    270

    22.4 注册ETH设备    271

    22.5 驱动配置    272

    22.6 驱动验证    272

    22.7 本章小结    273

    第23章 AUDIO MIC设备驱动

    开发    274

    23.1 AUDIO层级结构    274

    23.2 创建MIC设备    275

    23.3 实现MIC设备的操作方法    276

    23.3.1 getcaps:获取设备功能    276

    23.3.2 configure:配置设备    279

    23.3.3 init:初始化设备    281

    23.3.4 start:启动设备    281

    23.3.5 stop:停止设备    282

    23.4 音频数据流处理    282

    23.5 注册MIC设备    284

    23.6 驱动配置    285

    23.7 驱动验证    286

    23.8 本章小结    286

    第24章 AUDIO SOUND设备驱动开发    287

    24.1 创建SOUND设备    287

    24.2 实现SOUND设备的操作

    方法    287

    24.2.1 getcaps:获取设备功能    288

    24.2.2 configure:配置设备    291

    24.2.3 init:初始化设备    293

    24.2.4 start:启动设备    293

    24.2.5 stop:停止设备    294

    24.2.6 buffer_info:获取缓冲区

    信息    294

    24.3 音频数据流处理    295

    24.4 注册SOUND设备    297

    24.5 驱动配置    298

    24.6 驱动验证    299

    24.7 本章小结    300

    第25章 USBD设备驱动开发    301

    25.1 USBD层级结构    301

    25.2 创建USBD设备    302

    25.3 实现USBD设备的操作方法    303

    25.3.1 set_address:设置USBD

    设备地址    304

    25.3.2 set_config:配置USBD

    设备    305

    25.3.3 ep_set_stall:设置端点

    STALL状态    305

    25.3.4 ep_clear_stall:清除端点STALL状态    305

    25.3.5 ep_enable:使能端点    306

    25.3.6 ep_disable:禁用端点    306

    25.3.7 ep_read_prepare:端点接收数据准备信号    307

    25.3.8 ep_read:端点接收数据    307

    25.3.9 ep_write:端点发送

    数据    308

    25.3.10 ep0_send_status:通知主机

    数据传输结束    308

    25.3.11 suspend:挂起USBD

    设备    308

    25.3.12 wakeup:唤醒USBD

    设备    309

    25.4 注册USBD设备    309

    25.5 USBD中断处理    311

    25.5.1 rt_usbd_ep0_setup_handler:端点0 SETUP回调函数    312

    25.5.2 rt_usbd_ep0_in_handler:IN令牌包回调函数    312

    25.5.3 rt_usbd_ep0_out_handler:OUT令牌包回调函数    313

    25.5.4 其他回调函数    313

    25.6 驱动配置    314

    25.7 驱动验证    315

    25.8 本章小结    315

    第26章 USBH设备驱动开发    316

    26.1 USBH层级结构    316

    26.2 创建USBH设备    317

    26.3 实现USBH设备的操作方法    318

    26.3.1 reset_port:重置端口    318

    26.3.2 pipe_xfer:传输数据    319

    26.3.3 open_pipe:开启传输

    管道    322

    26.3.4 close_pipe:关闭传输

    管道    323

    26.4 注册USBH设备    323

    26.5 USBH中断处理    324

    26.5.1 rt_usbh_root_hub_connect_handler:连接成功回调

    函数    324

    26.5.2 rt_usbh_root_hub_disconnect_handler:断开连接回调

    函数    325

    26.5.3 其他中断处理    326

    26.6 驱动配置    326

    26.7 驱动验证    327

    26.8 本章小结    327

    第27章 CAN设备驱动开发    328

    27.1 CAN层级结构    328

    27.2 创建CAN设备    329

    27.3 实现CAN设备的操作方法    330

    27.3.1 configure:配置CAN

    设备    330

    27.3.2 control:控制CAN

    设备    331

    27.3.3 sendmsg:发送一帧

    数据    334

    27.3.4 recvmsg:接收一帧

    数据    336

    27.4 CAN中断处理    337

    27.5 注册CAN设备    339

    27.6 驱动配置    340

    27.7 驱动验证    341

    27.8 本章小结    344

  • 参与人员
    • damiaa xiaolinen wakojosin chrisrh 南若
  • 作品展示
  • 名称作者时间
    《RT-Thread设备驱动开发指南》之内核启动流程的理解 南若 2023-10-20
    《RT-Thread设备驱动开发指南》之ADC 南若 2023-10-20
    读《RT-Thread设备驱动开发指南》--- 第五篇 xiaolinen 2023-09-28
    《RT-Thread设备驱动开发指南》读书笔记3一DS18B20传感器应用 chrisrh 2023-09-25
    《RT-Thread设备驱动开发指南》读书笔记五 以太网驱动 damiaa 2023-10-06
    《RT-Thread设备驱动开发指南》读书笔记一WLAN设备框架 wakojosin 2023-09-20
    《RT-Thread设备驱动开发指南》读书笔记四 CAN驱动 damiaa 2023-09-23
    读《RT-Thread设备驱动开发指南》---  第四篇 xiaolinen 2023-09-27
    《RT-Thread设备驱动开发指南》读书笔记一LCD设备驱动 wakojosin 2023-09-07
    《RT-Thread设备驱动开发指南》读书笔记2一device框架理解 chrisrh 2023-09-04
    读《RT-Thread设备驱动开发指南》---第三篇 xiaolinen 2023-09-17
    《RT-Thread设备驱动开发指南》读书笔记一SDIO设备框架与块设备 wakojosin 2023-08-28
    《RT-Thread设备驱动开发指南》读书笔记三 I2C驱动 damiaa 2023-09-16
    《RT-Thread设备驱动开发指南》读书笔记二 PIN驱动 damiaa 2023-08-28
    读《RT-Thread设备驱动开发指南》---第二篇 xiaolinen 2023-08-30
    《RT-Thread设备驱动开发指南》读书笔记1一开始阅读 chrisrh 2023-08-25
    《RT-Thread设备驱动开发指南》读书笔记一工程搭建与设备驱动框 ... wakojosin 2023-08-21
    《RT-Thread设备驱动开发指南》读书笔记一 串口驱动 damiaa 2023-08-19
    读《RT-Thread设备驱动开发指南》---第一篇 xiaolinen 2023-08-20
  • 评奖
欢迎厂商提供试用产品
X

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews

Room 1530, Zhongguancun MOOC Times Building, Block B, 18 Zhongguancun Street, Haidian District, Beijing 100190, China Tel:(010)82350740 Postcode:100190

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号