嵌入式Linux
文章平均质量分 94
分享嵌入式Linux的相关文章
Leon_Chenl
一个爱运动的boy,专注于嵌入式领域,希望能和志同道合的小伙伴一起学习进步。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
最全 Linux 驱动开发教程—上册
Linux 内核由芬兰学生林纳斯·托瓦兹 (Linus Torvalds) 于 1991 年作为个人爱好创建。这张图片展示了一个基于Linux内核的计算机系统的分层架构,清晰地描绘了软件和硬件之间是如何通过操作系统内核进行交互的。它将系统大致分为了三个主要层次:最上层的用户空间、中间的Linux内核以及最底层的硬件。在最上层的用户空间(橙色大框内),包含了用户直接交互的程序和它们所依赖的库。这里示例了“用户应用A”(User app A)和“用户应用B”(User app B),它们代表了任何我们日常使用的原创 2025-11-03 08:35:04 · 872 阅读 · 0 评论 -
最全 Linux 驱动开发教程—下册
输入子系统(Input Subsystem) 是 Linux 内核中用于管理和处理所有用户输入设备的核心框架。它的主要职责是充当硬件设备和用户空间应用程序之间的桥梁,提供一个统一、标准化的事件处理机制。它最初是为了支持 USB HID(Human Interface Devices,人机接口设备)规范而设计的,但其架构被证明非常灵活,因此迅速扩展到支持几乎所有类型的输入设备,无论它们通过何种总线(如 USB、蓝牙、I2C、PS/2 等)连接。常见的输入设备包括:输入子系统的设计精巧地将复杂的硬件交互与上层的原创 2025-11-03 08:36:51 · 1175 阅读 · 0 评论 -
最全 Buildroot 系统开发教程
这张图清晰地展示了 Linux 操作系统的分层体系结构。它说明了软件是如何与硬件交互的。可以构建工具链根文件系统 (rootfs)内核引导加载程序。易于使用menuconfigxconfig等工具进行配置。快速:几分钟内即可构建一个简单的根文件系统。易于理解:用make编写,并提供详尽的文档。根文件系统小,最小可达 2 MB。提供 3200 多个用户空间的库/应用程序软件包。支持多种架构。make和kconfig。厂商中立。拥有活跃的社区和定期的发布版本。原创 2025-10-13 09:00:00 · 1203 阅读 · 1 评论 -
【通俗易懂】Linux 线程调度策略详解
这两个策略是对这一权衡的明确承认,它们为开发者提供了一个“逃生通道”,让他们可以告诉调度器:“我的任务不符合标准模型,请区别对待”。至关重要的一点是,_任何_实时任务,即便是优先级为1的任务,其调度优先级也永远高于_任何_普通(CFS)任务。主厨的指令是,_只有_在没有任何菜单上的订单,也没有批量任务在进行时,厨师们才能去做这些事。你不再只是告诉主厨“这道菜很重要”(设置优先级),而是给他一份精确的合约:“这道菜需要X单位的工作量,必须在Y时间点前完成,并且每隔Z分钟就会有一份新订单进来。原创 2025-06-17 14:30:00 · 917 阅读 · 0 评论 -
在 Vscode 中搭建嵌入式 Linux 通用 windows、mac、linux 平台的 docker 容器开发环境
在日常工作中,由于各种原因,我们的电脑可能与同事的电脑存在一些差异,有时候是操作系统的差异(A 同事用的是 Linux,B 同事的是 Windows,而你用的是 Mac),有时候是依赖库环境的差异(A 同事安装了 opencv 1.2,B 同事安装了 opencv 2.3)。而解决这些差异性的问题就成为了重中之重,好在现在世界上最流行的 IDE Vscode 提供了基于 docker 容器的开发环境构建,可以让不同平台不同环境下的电脑在开发时都保持一致,得到同样的开发体验。原创 2025-02-08 09:00:00 · 1666 阅读 · 0 评论 -
用 docker 搭建一个统一的 buildroot 编译环境
之前在团队协同开发过程中,经常因为每个人开发环境不一致,导致 buildroot 编译有人成功有人失败。为了解决这个问题而进行了一些方案调研,最终选择 docker 这个方案,docker 的优点是轻量化、跨平台,无论是在 windows、linux 还是 mac,都能统一构建环境。本文将手把手教你如何构建一个 docker 镜像并运行容器来编译 buildroot。原创 2024-12-16 09:00:00 · 998 阅读 · 0 评论 -
Linux D-Bus 详解
在构建复杂应用或服务时,经常会遇到进程间通信的问题。DBus 提供了一个高效、可靠的解决方案,使得不同程序之间可以轻松地进行消息交换和远程调用。本篇文章将带你详细了解 DBus 的工作机制及如何在你的项目中有效利用这一技术。D-Bus是 Linux 及其他类 Unix 系统下的一种进程间通信机制(IPC)。那什么是进程间通信机制(IPC)呢?原创 2024-12-09 09:00:00 · 4332 阅读 · 0 评论 -
Linux 中断机制详解
在日常的Linux驱动程序开发过程中,我们经常需要与中断机制打交道。这篇文章将从中断相关概念开始,并介绍Linux中的中断机制,最后以实现一个简单的按键中断驱动程序结束,话不多说,马上开始~原创 2024-06-28 11:35:47 · 2010 阅读 · 0 评论 -
探究IMX6ULL启动原理并学会优雅关闭GUI和启动动画(适用韦东山、正点原子、野火)
这篇文章介绍了IMX6ULL的启动原理,但其实它也适用于其他类型开发板,原理都差不多。我觉得只有了解了原理,再来进行我们想要的操作,就会感觉尽在掌控之中,和不了解原理带来茫然的感觉相比,效果还是不一样的。原创 2024-06-19 09:13:31 · 2486 阅读 · 2 评论 -
Linux 驱动程序基础开发详解
在当今的技术世界中,嵌入式系统无处不在,从智能手机到工业自动化设备,几乎每一台电子设备都依赖于它们的高效运行。而在这些系统中,操作系统与硬件之间的桥梁——驱动程序——起着至关重要的作用。作为开源操作系统的典范,Linux不仅在服务器和桌面环境中占据一席之地,更在嵌入式系统中广泛应用。这篇文章将探讨Linux驱动程序的核心概念,并以一个LED驱动程序讲解驱动程序的开发实践。驱动程序(Device Driver)是一种特殊的软件组件,用于操作系统和硬件设备之间的通信和控制。原创 2024-06-11 08:57:10 · 1292 阅读 · 0 评论 -
UART、I2C、SPI协议详解
在嵌入式领域,开发人员经常需要跟外设打交道,外设种类繁多,有各种各样的传感器、ERPROM、LCD屏幕等等,要对它们进行IO操作,就要彼此遵循一个约定,这个约定就是协议。协议的种类繁多,有UART、I2C、SPI、USB等等,这篇文章主要讲下三个在嵌入式领域比较听到看到而外界不太熟悉的串口通信协议,UART、I2C和SPI,这三者因为它们的优缺点而适用的场景都各不相同。UART:其多功能性和稳健性使其在长距离通信和速度要求不高的配置中表现优异。原创 2024-05-31 11:27:16 · 2213 阅读 · 0 评论 -
实现基于Linux网络编程+多线程编程的简易网络聊天室
众所周知,网络聊天室的应用已经融入我们生活的方方面面,微信、QQ、飞书等等,这篇文章介绍如果利用套接字编程(网络编程)+多线程编程实现一个简易的网络聊天室。相信通过对这个网络聊天室的编写,我们可以对网络编程和多线程编程相关知识有更进一步的了解。当然这个网络聊天室还有非常多可以完善的地方,比如加入线程池、完善收发机制等等。原创 2024-05-29 21:49:26 · 2294 阅读 · 0 评论 -
基于Windows11的WSL2 mirrored模式搭建嵌入式Linux开发环境
之前在搭嵌入式Linux开发环境时踩了不少坑,因为自己用的是Windows11的WSL2,没有使用Vmware虚拟机,在新版的WSL2网络模式还没有看到相关文章,故整理总结一篇。我使用的开发板是IMX6ULL,系统是最新版的Windows11系统和最新版的WSL2,使用最新的mirrored网络模式,可以省去设置桥接模式繁琐的步骤,接下来会分为NFS搭建以及交叉编译工具链搭建两部分。原创 2024-05-21 21:03:40 · 3604 阅读 · 1 评论
分享