关于本项目¶
鲁班猫(LubanCat)¶
【鲁班猫】是野火推出的高性能卡片电脑品牌,以鲁班为名,勉励工程师传承鲁班那样的工匠创新精神,争当当代鲁班; 以小猫为形,期盼大家如孩童如猫咪般充满好奇心,探索精神不止步,永远保持童心。
鲁班猫是野火推出的运行Linux、Android的卡片电脑品牌。该系列卡片电脑硬件型号丰富,操作系统适配度高,开源教材资料众多,应用极其简单;
鲁班猫卓越的性能及其丰富的硬件型号,覆盖了教育、商业应用、工业控制等领域,具备广泛的应用场景:卡片电脑、Linux服务器、 家庭智能化中枢、工业板卡;
鲁班猫支持Ubuntu、Debian、Android等系统,提供多套教材,覆盖纯应用层用户以及系统开发用户,即使初入行业的嵌入式小白,也能根据我们的教程完成开发,而对资深的嵌入式老鸟,则能加速产品二次开发过程。
文档说明¶
点击右侧链接可在线阅读本项目文档:《 嵌入式Linux驱动开发实战指南——基于LubanCat_RK系列板卡 》
本书主要面向有一定Linux基础,希望基于Lubancat_RK系列板卡学习Linux驱动开发的嵌入式软件工程师,在校学生等。
本书配套的硬件平台采用RK系列处理器,编写基于更好地掌握技术的原理才能更好地利用技术的原则,将内容分成4部分, 内容循序渐进,涉及的Linux驱动下常用的框架,希望通过此教程,能为学习者建立起Linux驱动开发的一些概念,能让学习者少走弯路。
本书将分为以下几个部分进行讲解:
第一部分,Linux驱动基础知识,作为Linux驱动开发的起步阶段,本部分旨在帮助初学者建立完整的驱动开发基本面貌。 内容涵盖:驱动实验环境搭建、Linux内核模块的编写与实验、字符设备驱动、Linux设备模型与平台设备驱动、设备树及其插件机制、内核并发与竞争的处理,以及内核定时器的使用。
第二部分,Linux驱动框架,在掌握基础知识后,本部分将带领读者深入领略Linux内核中常见的各类驱动子系统与框架。 内容涵盖:Pinctrl与GPIO子系统、中断子系统及中断分层机制、阻塞与非阻塞I/O、异步通知、输入子系统、I2C与SPI子系统、Regmap API、PWM子系统、Sysfs文件系统、电源管理、IIO子系统及ADC驱动、RTC子系统以及触摸驱动。 通过这些框架,读者可以深刻理解Linux对各种硬件设备的抽象概念、封装形式及标准开发接口。
第三部分,Linux驱动进阶知识,随着设备性能的增强和功能的丰富,本部分聚焦于Linux驱动开发中更需要被关注的高级细节与复杂子系统。 内容包括:DMA与IOMMU机制、帧缓冲与DRM显示框架、块设备驱动、USB子系统、TTY子系统、SCSI子系统、PCI子系统、网络子系统,以及对称多处理相关知识。
本教程使用的开发环境说明如下:
PC系统Linux: Ubuntu20.04 。 教程讲解了在Windows上使用VirtualBox虚拟机安装的说明,使用其它虚拟机如VMware安装也可以。
开发板系统:使用我们提供的鲁班猫通用镜像(Debian10 、Ubuntu20.04等)