嵌入式Linux系统开发
博主就职于芯片原厂,熟悉硬件、STM32单片机、嵌入式 Linux、Android。
展开
-
11 gpio 与 pinctrl 子系统
使用两个三极管或 MOSFET 管,以推挽方式存在于电路中。电路工作时,两只对称的开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出既提高电路的负载能力,又提高开关速度。上面是 NPN 型三极管,下面是 PNP 型三极管。控制端输出高电平:向负载灌电流输出低电平:从负载拉电流。原创 2024-06-09 09:31:33 · 53 阅读 · 0 评论 -
10 设备树
新版本 Linux 中,ARM 相关的驱动全部采用了设备树。Linux-4.1.15 支持设备树。我们了解一下设备树的起源、重点学习一下设备树语法。原创 2024-06-09 09:18:01 · 44 阅读 · 0 评论 -
09 platfrom 设备驱动
前面我们讲了设备驱动的分离,并且引出了总线(bus)、驱动(driver)和设备(device)模型,比如 I2C、SPI、USB 等总线。但是在 SOC 中有些外设是没有总线这个概念的,但是又要使用总线、驱动和设备模型该怎么办呢?为了解决此问题,Linux 提出了 platform 这个虚拟总线,相应的就有 platform_driver 和 platform_device。原创 2024-06-08 11:48:35 · 51 阅读 · 0 评论 -
08 块设备驱动
块设备是针对存储设备的,比如 SD 卡、EMMC、NAND Flash、Nor Flash、SPI Flash、机械硬盘、固态硬盘等。块设备只能以块为单位进行读写访问,块是 linux 虚拟文件系统(VFS)基本的数据传输单位。字符设备是以字节为单位进行数据传输的,不需要缓冲。块设备在结构上是可以进行随机访问的,对于这些设备的读写都是按块进行的,块设备使用缓冲区来暂时存放数据,等到条件成熟以后再一次性将缓冲区中的数据写入块设备中。原创 2024-06-08 11:41:38 · 57 阅读 · 0 评论 -
07 字符设备驱动
1、Linux 应用程序如何调用驱动程序字符设备是 Linux 驱动中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。比如我们最常见的点灯、按键、I2C、SPI,LCD 等等都是字符设备,这些设备的驱动就叫做字符设备驱动。在详细的学习字符设备驱动架构之前,我们先来简单的了解一下 Linux 下的应用程序是如何调用驱动程序的,Linux 应用程序对驱动程序的调用如图所示:在 Linux 中一切皆为文件,驱动加载成功以后会在 “/dev” 目录下生成原创 2024-06-08 11:36:23 · 46 阅读 · 0 评论 -
06 Linux 设备驱动模型
container_of 是 Linux 内核中常用的一个宏,用于根据结构体中的某个字段的地址推算出整个结构体的地址。})})ptr:表示指向结构体某个成员的指针;type:表示结构体的类型;member:表示结构体中某个成员的名称。原创 2024-06-08 11:18:02 · 89 阅读 · 0 评论 -
05 Linux 内核启动流程
Makefile 是用于管理源代码编译和构建的工具,利用规则来指导建立整个项目。Kconfig 是 Linux 内核的配置工具,用于选择编译内核时的不同配置选项,定制内核的功能和行为。原创 2024-06-08 11:00:09 · 86 阅读 · 0 评论 -
04 uboot 编译与调试
新手不需要详细掌握 uboot,只需要知道它是一个什么东西即可,工作中也只是改一些参数而已。原创 2024-06-08 10:38:10 · 36 阅读 · 0 评论 -
03 Linux 内核数据结构
Linux kernel 有四种重要的数据结构:链表、队列、映射、二叉树。普通驱动开发者只需要掌握链表和队列即可。链表和队列 Linux 内核都有完整的实现,我们不需要深究其实现原理,只需要会使用 API 接口即可。原创 2024-06-08 10:35:43 · 88 阅读 · 0 评论 -
02 Linux 调试手段
strace:用来跟踪 Linux 进程执行时的系统调用和接收所接收的信号,可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。ftrace:是一个 Linux 内核函数跟踪器,function tracer,旨在帮助开发人员和系统设计者可以找到内核内部发生的事情,从 Linux-2.6 内核就支持了。atrace:Android tracer,使用 ftrace 来跟踪 Android 上层的函数调用。原创 2024-06-08 10:29:23 · 229 阅读 · 1 评论 -
01 基础知识
Visual Studio Code 和 Source Insight 类似,Visual Studio Sode 简称 VSCode,是微软出的一款编辑器,免费。在嵌入式系统开发应用平台中,tftp、nfs 和 samba 服务器是最常用的文件传输工具,tftp 和 nfs 是在嵌入式 Linux 开发环境中经常使用的传输工具,samba 则是 Linux 和 Windows 之间的文件传输工具。只不过 git 在工作中常用。如果你经常用 vim,可以在网上搜索一版好用的配置文件,UI 也会很好看。原创 2024-06-08 10:20:45 · 131 阅读 · 0 评论 -
Linux 内核与驱动训练营 - 总目录
芯片原厂工程师,带你深入理解 Linux 系统框架、Linux 启动流程、Linux 内核配置与裁剪、Linux 设备驱动开发框架、设备驱动模型等内容。原创 2024-05-18 19:46:23 · 89 阅读 · 0 评论