清华大学出版社

您所在的位置:网站首页 德语键盘键位图 清华大学出版社

清华大学出版社

2023-06-05 23:11| 来源: 网络整理| 查看: 265

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

more >

前言 本书和清华大学出版社已出版的《原子嵌入式 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、按键输入等。嵌入式Linux驱动学习的一大内容就是学习掌握大量的驱动框架。 (3) C语言基础要求高 嵌入式Linux内核采用C语言开发,在内核中充斥着大量的C语言高级用法,像指针、结构体这种都是很常见的。C语言基础薄弱的同学上手难度也很大,所以要加强和巩固C语言的基础知识。 (4) 设备树开发方式 嵌入式Linux内核早就采用设备树进行驱动开发了,和单片机直接编写C文件开发驱动相比,设备树的引入无疑又增加了学习难度,毕竟要多学习一门技术。设备树贯穿于整个嵌入式Linux驱动开发始终,是必须熟练掌握的技术。 本书采用循序渐进、由浅入深的方式进行章节编排,先是字符设备,再是块设备,最后是网络设备。 (1) 字符设备驱动 字符设备是Linux驱动开发中最杂、最多的一类设备,小到LED点灯,大到USB、音频都属于字符设备驱动。在实际的工作中,大部分工作都是处理字符设备驱动。本书首先从一个虚拟的字符设备驱动开始,讲解字符设备基础驱动框架的使用。然后再慢慢引入设备树、GPIO、输入输出子系统、I2C、SPI等其他框架。 (2) 块设备驱动 采用内存模拟一个物理存储设备的方式,重点讲解块设备框架的使用,编写一个采用内存模拟的块设备驱动。 (3) 网络设备驱动 在实际的项目开发中,网络设备驱动也是很重要的一点,比如我们更换网络PHY以后如何调试网络驱动。本书花了大量篇幅来详细讲解嵌入式Linux的网络设备开发流程,从PHY芯片到网络驱动架构,尤其是PHY芯片的讲解。因为在真正做项目的时候,打交道的就是PHY芯片,主控端的驱动是不需要修改的,我们要做的就是驱动起来所选择的PHY芯片,让网络正常工作。 (4) 全设备树开发方式 基本上所有的例程都采用设备树的开发方式,从基本的GPIO到网络驱动。每个例程都有详细的设备树讲解,真正让读者深入掌握设备树原理。 嵌入式Linux的驱动开发学习是需要不断练习的,尤其是相比单片机开发,引入了很多复杂的知识体系。比如搭建驱动框架和设备树,很多初学者第一遍学习的感觉就是稀里糊涂的,这是因为练习得少,对这些新知识还不熟悉,这是很正常的。笔者在学习嵌入式Linux驱动开发的时候,学习了好几遍才有感觉。这里可以教大家一个方法,先用一个开发板跟着教程学习一遍,比如使用正点原子的I.MX6UL开发板。当学完了以后,再换另外一个型号的开发板,比如STM32MP157、RV1126等,将自己学过的东西在新的开发板上实践,这样就能巩固好已有的知识。 最后,祝愿大家学习顺利。 作者2023年5月

more > 暂无课件 样章下载 暂无网络资源 扫描二维码 下载APP了解更多

版权图片链接



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3