01-驱动开发开篇

概述

这个主题已经构思了很久,也犹豫了很久,网上讲述linux驱动开发的博主非常多,我在想,我能给我读者带来什么呢。现在嵌入式Linux的开发难度比以前降低了很多,特别是ai的出现,几乎不需要掌握很多的基础知识,也能完成日常工作。特别是从linux-3.10开始使用设备树开始,现在的嵌入式Linux驱动开发几乎就剩下了复制粘贴和调试一些GPIO引脚。

这也是我很困惑地方,如果我讲述驱动开发的步骤,对于老兵来说,没有任何阅读的价值,直接可以跳过,而对于新手来说。虽然按照步骤能复制粘贴代码,也能让硬件工作起来。但是开发步骤背后的故事,对于新手来说,其实一篇空白。

因此我的讲述的角度,既讲述驱动开发的步骤,也讲述每一种驱动子系统的框架和API。讲述驱动开发,就离不开硬件板卡,因此我在讲述过程中,也会结合自己开发的板卡为例子,通过软硬件结合的方式讲述驱动开发的过程;我会从如下几个方面进行讲述:

1、每一种驱动的编写和demo测试步骤;

2、每一种驱动子系统的框架和核心实现;

3、从硬件的角度去展示,包括原理图的设计,PCB的布线和信号波形;

注:

1、本系列博客主要是讲述Linux驱动开发,在讲述过程中默认读者已经掌握了如下的内容:

a、C语言编程和ubuntu Linux系统的基本操作;

b、掌握了linux C编程的文件操作的API;

c、能使用Linux平台中常见的构建工具,make gcc gdb;

2、博主主要是讲述嵌入式Linux ARM开发平台的驱动开发。

相关推荐
YYRAN_ZZU10 分钟前
Petalinux新建自动脚本启动
linux
charlie11451419126 分钟前
嵌入式Linux驱动开发pinctrl篇(1)——从寄存器到子系统:驱动演进之路
linux·运维·驱动开发
于小猿Sup1 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
cen__y1 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
chao1898442 小时前
STM32 HAL库驱动AT24C02 EEPROM例程
stm32·单片机·嵌入式硬件
不仙5202 小时前
VMware Workstation 26.0.0 在 Ubuntu 24.04 (内核 6.17.0) 上的安装与内核模块编译问题
linux·ubuntu·elasticsearch
AI视觉网奇3 小时前
linux 检索库 判断库是否支持
java·linux·服务器
dapeng-大鹏3 小时前
KVM+LVM 零停机在线扩容 Ubuntu 根分区:从磁盘添加到逻辑卷扩展完整
linux·运维·ubuntu·磁盘空间扩展
不会武功的火柴4 小时前
SystemVerilog语法(8)-有限状态机(FSM)
嵌入式硬件·fpga开发·自动化·ic验证·rtl·uvm方法学
闫记康4 小时前
Linux学习day5
linux·chrome·学习