





作者:左忠凯
定价:178元
印次:1-2
ISBN:9787302631996
出版日期:2023.05.01
印刷日期:2024.01.16
图书责编:杨迪娜
图书分类:零售
随着半导体技术和芯片技术的飞速发展,能运行嵌入式?Linux系统的?MPU?芯片价格也在不断降低,ARM?架构?的芯片在手机、工业控制、物联网、自动驾驶等领域得到了广泛应用。以前大量使用?MCU?的地方也开始使用嵌入式?Linux地系铁统刷。卡的闸机、汽车充电桩的操作面板、物联网网关等都有嵌入式?Linux的身影,各企业对嵌入式?Linux开发?人才的需求也急剧增加。相比单片机开发,嵌入式?Linux开发难度要大很多。尤其是最重要的驱动开发,嵌入式?Linux内核采用面向对象思路设计,且已开发大量驱动框架,开发人员需要掌握这些驱动框架的使用,编写出符合嵌?入式?Linux要求的驱动。?本书从最基本的点灯程序到网络驱动的编写,涵盖了?Linux开发的三大驱动类型:字符设备驱动、块设备驱动?和网络设备驱动。本书的一大特色就是涵盖了全设备树开发,除了最开始的几个为了讲解嵌入式?Linux如何操作?芯片寄存器的例程没有采用设备树外,其他的例程都采用设备树,基本涵盖了嵌入式?Linux驱?动?开?发?中?的?常?用?外设。本书可作为广大从事嵌入式开发、物联网、工业控制开发等工程技术人员的学习和参考用书,也可作为高等学?校计算机、电子、自动化等专业嵌入式系统、微机接口、物联网等课程的教材。
左忠凯,14年参加工作以来一直从事于嵌入式教育,以第一作者身份著有《FreeRTOS源码详解与应用开发》,参与编写了正点原子大量的手把手教你STM32系列书籍,比如《精通STM32F4库函数版》、《STM32F7原理与应用》等。同时录制了大量的STM32相关教学视频,广受好评。18年开始负责公司Linux教育平台的研发,编写了1800多页的Linux驱动开发教程,录制了200多讲Linux开发视频,负责的I.MX6ULL开发板自从发布至今,销量一直处于淘宝第一,Linux驱动开发相关视频在各大平台的点击量超过30万次。
前言 本书和清华大学出版社已出版的《原子嵌入式 Linux驱动开发详解》是一套书籍,在《原子嵌入式 Linux驱动开发详解》这本书的前3篇中,详细讲解了ARM裸机开发、Uboot、Linux内核和根文件系统的移植,为我们学习嵌入式Linux驱动开发打下了坚实的基础。本书是第四篇——ARM Linux驱动开发篇,专门讲解嵌入式Linux驱动开发,涵盖了Linux开发的三大驱动类型: 字符设备驱动、块设备驱动、网络设备驱动。本书使用的Linux内核版本为4.1.15,其支持设备树(Device tree),所以本篇所有例程均采用设备树开发。 嵌入式Linux学习的难点在于: (1) 基础要求高 嵌入式Linux对于学习者的基础要求比较高,需要从事过或学习过32位ARM单片机的开发。掌握32位微控制器架构的基础知识,了解32位微控制器的寄存器操作方法,掌握常用的通信协议,比如串口、I2C、SPI、RGB屏幕、SAI、网络等。零基础学习嵌入式Linux驱动开发难度很大,笔者不建议直接上手。就跟我们上学一样: 小学—初中—高中—大学,是一个循序渐进的过程。不可能小学、初中都不上,等到了年龄以后直接上高中,一次性把小学、初中和高中的知识全学了,这个难度是很大的。 (2) 驱动框架多 嵌入式Linux为了兼容众多的芯片,开发了大量的驱动框架,我们要根据这些驱动框架来编写驱动。比如一个简单的LED灯驱动程序,单片机用十几行代码就可以实现,但是在嵌入式Linux环境下可能就要几十行了。而且不同的外设,驱动框架不同,如I2C、SPI、按键输入等。嵌入式Lin...
目录
第四篇ARM Linux驱动开发篇
第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章嵌入式Linux LED灯驱动开发实验
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
... 查看详情