搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
原子嵌入式Linux驱动开发详解与实战(ARM Linux驱动)
0.00     定价 ¥ 178.00
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购25本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787302631996
  • 作      者:
    编者:左忠凯|责编:杨迪娜
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2023-05-01
收藏
编辑推荐

全面解析基于ARM内核的嵌入式Linux驱动开发,通过丰富的实战案例让单片机开发者熟练掌握嵌入式Linux驱动开发。

展开
作者简介

左忠凯,14年参加工作以来一直从事于嵌入式教育,以第一作者身份著有《FreeRTOS源码详解与应用开发》,参与编写了正点原子大量的手把手教你STM32系列书籍,比如《精通STM32F4库函数版》、《STM32F7原理与应用》等。同时录制了大量的STM32相关教学视频,广受好评。18年开始负责公司Linux教育平台的研发,编写了1800多页的Linux驱动开发教程,录制了200多讲Linux开发视频,负责的I.MX6ULL开发板自从发布至今,销量一直处于淘宝第一,Linux驱动开发相关视频在各大平台的点击量超过30万次。

展开
内容介绍
随着半导体技术和芯片技术的飞速发展,能运行嵌入式Linux系统的MPU芯片价格也在不断降低,ARM架构的芯片在手机、工业控制、物联网、自动驾驶等领域得到了广泛应用。以前大量使用MCU的地方也开始使用嵌入式 地铁刷卡的闸机、汽车充电桩的操作面板、物联网网关等都有嵌入式Linux的身影,各企业对嵌入式Linux开发Linux系统。人才的需求也急剧增加。相比单片机开发,嵌入式Linux开发难度要大很多。尤其是最重要的驱动开发,嵌入式Linux内核采用面向对象思路设计,且已开发大量驱动框架,开发人员需要掌握这些驱动框架的使用,编写出符合嵌入式Linux要求的驱动。 本书从最基本的点灯程序到网络驱动的编写,涵盖了Linux开发的三大驱动类型:字符设备驱动、块设备驱动和网络设备驱动。本书的一大特色就是涵盖了全设备树开发,除了最开始的几个为了讲解嵌入式Linux如何操作芯片寄存器的例程没有采用设备树外,其他的例程都采用设备树,基本涵盖了嵌入式Linux驱动开发中的常用外设。 本书可作为广大从事嵌入式开发、物联网、工业控制开发等工程技术人员的学习和参考用书,也可作为高等学校计算机、电子、自动化等专业嵌入式系统、微机接口、物联网等课程的教材。
展开
目录


目录




第四篇ARMLinux驱动开发篇



第1章字符设备驱动开发


1.1字符设备驱动简介


1.2字符设备驱动开发步骤


1.2.1驱动模块的加载和卸载


1.2.2字符设备注册与注销


1.2.3实现设备的具体操作函数


1.2.4添加LICENSE和作者信息


1.3Linux设备号


1.3.1设备号的组成


1.3.2设备号的分配


1.4chrdevbase字符设备驱动开发实验


1.4.1实验程序编写


1.4.2编写测试App


1.4.3编译驱动程序和测试App


1.4.4运行测试


第2章嵌入式LinuxLED灯驱动开发实验


2.1Linux下LED灯驱动原理


2.1.1地址映射


2.1.2I/O内存访问函数


2.2硬件原理图分析


2.3实验程序编写


2.3.1LED灯驱动程序编写


2.3.2编写测试App


2.4运行测试


2.4.1编译驱动程序和测试App


2.4.2运行测试


第3章新字符设备驱动实验


3.1新字符设备驱动原理


3.1.1分配和释放设备号


3.1.2新的字符设备注册方法


3.2自动创建设备节点


3.2.1mdev机制


3.2.2创建和删除类


3.2.3创建设备


3.2.4参考示例


3.3设置文件私有数据


3.4硬件原理图分析


3.5实验程序编写


3.5.1LED灯驱动程序编写


3.5.2编写测试App


3.6运行测试


3.6.1编译驱动程序和测试App


3.6.2运行测试







第4章Linux设备树


4.1什么是设备树


4.2DTS、DTB和DTC


4.3DTS语法


4.3.1.dtsi头文件


4.3.2设备节点


4.3.3标准属性


4.3.4根节点compatible属性


4.3.5向节点追加或修改内容


4.4创建小型模板设备树


4.5设备树在系统中的体现


4.6特殊节点


4.6.1aliases子节点


4.6.2chosen子节点


4.7Linux内核解析DTB文件


4.8绑定信息文档


4.9设备树常用OF操作函数


4.9.1查找节点的OF函数


4.9.2查找父/子节点的OF函数


4.9.3提取属性值的OF函数


4.9.4其他常用的OF函数


第5章设备树下的LED灯驱动实验


5.1设备树LED驱动原理


5.2硬件原理图分析


5.3实验程序编写


5.3.1修改设备树文件


5.3.2LED灯驱动程序编写


5.3.3编写测试App


5.4运行测试


5.4.1编译驱动程序和测试App


5.4.2运行测试


第6章pinctrl和gpio子系统实验


6.1pinctrl子系统


6.1.1pinctrl子系统简介


6.1.2I.MX6ULL的pinctrl子系统驱动


6.1.3设备树中添加pinctrl节点模板


6.2gpio子系统


6.2.1gpio子系统简介


6.2.2I.MX6ULL的gpio子系统驱动


6.2.3gpio子系统API函数


6.2.4设备树中添加gpio节点模板


6.2.5与GPIO相关的OF函数


6.3硬件原理图分析


6.4实验程序编写


6.4.1修改设备树文件


6.4.2LED灯驱动程序编写


6.4.3编写测试App


6.5运行测试


6.5.1编译驱动程序和测试App


6.5.2运行测试


第7章Linux蜂鸣器实验


7.1蜂鸣器驱动原理


7.2硬件原理图分析


7.3实验程序编写


7.3.1修改设备树文件


7.3.2蜂鸣器驱动程序编写


7.3.3编写测试App


7.4运行测试


7.4.1编译驱动程序和测试App


7.4.2运行测试


第8章Linux并发与竞争


8.1并发与竞争


8.2原子操作


8.2.1原子操作简介


8.2.2原子整型数据操作API函数


8.2.3原子位操作API函数


8.3自旋锁


8.3.1自旋锁简介


8.3.2自旋锁API函数


8.3.3其他类型的锁


8.3.4自旋锁使用注意事项


8.4信号量


8.4.1信号量简介


8.4.2信号量API函数


8.5互斥体


8.5.1互斥体简介


8.5.2互斥体API函数


第9章Linux并发与竞争实验


9.1原子操作实验


9.1.1实验程序编写


9.1.2运行测试


9.2自旋锁实验


9.2.1实验程序编写


9.2.2运行测试


9.3信号量实验


9.3.1实验程序编写


9.3.2运行测试


9.4互斥体实验


9.4.1实验程序编写


9.4.2运行测试


第10章Linux按键输入实验


10.1Linux下按键驱动原理


10.2硬件原理图分析


10.3实验程序编写


10.3.1修改设备树文件


10.3.2按键驱动程序编写


10.3.3编写测试App


10.4运行测试


10.4.1编译驱动程序和测试App


10.4.2运行测试


第11章Linux内核定时器实验


11.1Linux时间管理和内核定时器简介


11.1.1内核时间管理简介


11.1.2内核定时器简介


11.1.3Linux内核短延时函数


11.2硬件原理图分析


11.3实验程序编写


11.3.1修改设备树文件


11.3.2定时器驱动程序编写


11.3.3编写测试App


11.4运行测试


11.4.1编译驱动程序和测试App


11.4.2运行测试


第12章Linux中断实验


12.1Linux中断简介


12.1.1Linux中断API函数


12.1.2上半部与下半部


12.1.3设备树中断信息节点


12.1.4获取中断号


12.2硬件原理图分析


12.3实验程序编写


12.3.1修改设备树文件


12.3.2按键中断驱动程序编写


12.3.3编写测试App


12.4运行测试


12.4.1编译驱动程序和测试App


12.4.2运行测试


第13章Linux阻塞和非阻塞I/O实验


13.1阻塞和非阻塞I/O


13.1.1阻塞和非阻塞简介


13.1.2等待队列


13.1.3轮询


13.1.4Linux驱动下的poll操作函数


13.2阻塞I/O实验


13.2.1硬件原理图分析


13.2.2实验程序编写


13.2.3运行测试


13.3非阻塞I/O实验


13.3.1硬件原理图分析


13.3.2实验程序编写


13.3.3运行测试


第14章异步通知实验


14.1异步通知


14.1.1异步通知简介


14.1.2驱动中的信号处理


14.1.3应用程序对异步通知的处理


14.2硬件原理图分析


14.3实验程序编写


14.3.1修改设备树文件


14.3.2程序编写


14.3.3编写测试App


14.4运行测试


14.4.1编译驱动程序和测试App


14.4.2运行测试


第15章platform设备驱动实验


15.1Linux驱动的分离与分层


15.1.1驱动的分隔与分离


15.1.2驱动的分层


15.2platform平台驱动模型简介


15.2.1platform总线


15.2.2platform驱动


15.2.3platform设备


15.3硬件原理图分析


15.4实验程序编写


15.4.1platform设备与驱动程序编写


15.4.2编写测试App


15.5运行测试


15.5.1编译驱动程序和测试App


15.5.2运行测试


第16章设备树下的platform驱动编写


16.1设备树下的platform驱动简介


16.2硬件原理图分析


16.3实验程序编写


16.3.1修改设备树文件


16.3.2platform驱动程序编写


16.3.3编写测试App


16.4运行测试


16.4.1编译驱动程序和测试App


16.4.2运行测试


第17章Linux自带的LED灯驱动实验


17.1Linux内核自带LED灯驱动使能


17.2Linux内核自带LED灯驱动简介


17.2.1LED灯驱动框架分析


17.2.2module_platform_driver()函数简介


17.2.3gpio_led_probe()函数简介


17.3设备树节点编写


17.4运行测试


第18章LinuxMISC驱动实验


18.1MISC设备驱动简介


18.2硬件原理图分析


18.3实验程序编写


18.3.1修改设备树


18.3.2beep驱动程序编写


18.3.3编写测试App


18.4运行测试


18.4.1编译驱动程序和测试App


18.4.2运行测试


第19章Linuxinput子系统实验


19.1input子系统


19.1.1input子系统简介


19.1.2input驱动编写流程


19.1.3input_event结构体


19.2硬件原理图分析


19.3实验程序编写


19.3.1修改设备树文件


19.3.2按键input驱动程序编写


19.3.3编写测试App


19.4运行测试


19.4.1编译驱动程序和测试App


19.4.2运行测试


19.5Linux自带按键驱动程序的使用


19.5.1自带按键驱动程序源码简介


19.5.2自带按键驱动程序的使用


第20章LinuxPWM驱动实验


20.1PWM驱动简介


20.1.1设备树下的PWM控制器节点


20.1.2PWM子系统


20.1.3PWM驱动源码分析


20.2PWM驱动编写


20.2.1修改设备树


20.2.2使能PWM驱动


20.3PWM驱动测试


第21章LinuxLCD驱动实验


21.1Linux下LCD驱动简介


21.1.1Framebuffer设备


21.1.2LCD驱动简介


21.2硬件原理图分析


21.3LCD驱动程序编写


21.3.1修改设备树


21.3.2LCD屏幕背光节点信息


21.4运行测试


21.4.1LCD屏幕基本测试


21.4.2设置LCD作为终端控制台


21.4.3LCD背光调节


21.4.4LCD自动关闭解决方法


第22章LinuxRTC驱动实验


22.1Linux内核RTC驱动简介


22.2I.MX6U内部RTC驱动分析


22.3RTC时间查看与设置


第23章LinuxI2C驱动实验


23.1LinuxI2C驱动框架简介


23.1.1I2C总线驱动


23.1.2I2C设备驱动


23.1.3I2C设备和驱动匹配过程


23.2I.MX6U的I2C适配器驱动分析


23.3I2C设备驱动编写流程


23.3.1I2C设备信息描述


23.3.2I2C设备数据收发处理流程


23.4硬件原理图分析


23.5实验程序编写


23.5.1修改设备树


23.5.2AP3216C驱动编写


23.5.3编写测试App


23.6运行测试


23.6.1编译驱动程序和测试App


23.6.2运行测试

.......



展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证