随笔分类 -  Linux

摘要:前言 参考 设备树 8. Linux设备树 Linux3.x 以后引入了设备树,用于描述一个硬件平台的板级细节。 8.1 设备树简介 设备树可以被 bootloader(uboot)传递到内核,内核从中获取设备树中的硬件信息。 设备树的两个特点: 一:以 树状结构 描述硬件资源。 二:设备树可以像头 阅读全文
posted @ 2021-04-06 12:40 李柱明 阅读(1873) 评论(0) 推荐(1) 编辑
摘要:前言 1. ifconfig Linux ifconfig 命令用于显示或设置网络设备。 1.1 语法 ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地 阅读全文
posted @ 2021-04-02 21:30 李柱明 阅读(885) 评论(0) 推荐(0) 编辑
摘要:前言 链接: 李柱明博客:https://www.cnblogs.com/lizhuming/ 区分设备驱动模型和平台设备驱动模型。 设备驱动模型 可以理解为 总线、设备、驱动。 平台设备驱动模型 就是那些 Linux 内核管理没有物理总线(即是不需要特殊时序控制的设备)(也是Linux内核没有自动 阅读全文
posted @ 2021-04-01 12:47 李柱明 阅读(1193) 评论(0) 推荐(0) 编辑
摘要:前言 参考: 李柱明博客 本文主要记录 linux 环境变量配置的生命周期。 如,修改环境变量 PATH 是手动指定还是临时生效或是永久生效。 1. 修改环境变量 1.1 手动指定 如 ARCH 和 CROSS_COMPILE: 直接在 make 命令后添加即可,如: lzm@lzm-machine 阅读全文
posted @ 2021-03-31 21:06 李柱明 阅读(587) 评论(0) 推荐(0) 编辑
摘要:前言 6. 总线-设备-驱动 总线-设备-驱动 又称为 设备驱动模型。 6.1 概念 总线(bus):负责管理挂载对应总线的设备以及驱动; 设备(device):挂载在某个总线的物理设备; 驱动(driver):与特定设备相关的软件,负责初始化该设备以及提供一些操作该设备的操作方式; 类(class 阅读全文
posted @ 2021-03-30 12:28 李柱明 阅读(5672) 评论(0) 推荐(2) 编辑
摘要:前言 5. 分离分层 本章节记录实现LED驱动的大概步骤,且编程框架实现分离分层。 分离分层: 上层:系统 相关。如模块注册于注销。 下层:硬件操作。如提供 file_operations 。分离: 设备。提供板卡信息,如使用哪一个引脚。 驱动。引脚的具体操作。 以下以 LED 为例。 5.1 回顾 阅读全文
posted @ 2021-03-29 17:41 李柱明 阅读(793) 评论(0) 推荐(1) 编辑
摘要:前言 参考: 《IMX6ULLRM(6ULL用户手册).pdf》 李柱明博客:https://www.cnblogs.com/lizhuming/ 本文链接:https://www.cnblogs.com/lizhuming/p/14588172.html 4. LED芯片手册分析 本章节记录实现L 阅读全文
posted @ 2021-03-28 11:55 李柱明 阅读(943) 评论(0) 推荐(0) 编辑
摘要:前言 以野火i.M 6U为例 3. 字符设备驱动 需要明确的是模块和驱动是两回事。 本笔记开始记录驱动的相关知识。 3.1 Linux设备分类 Linux设备可分为三:字符设备、块设备和网络设备。 网络设备:是一种特殊设备,它并不存在于/dev下面,主要用于网络数据的收发。 Linux系统将设备分别 阅读全文
posted @ 2021-03-25 13:47 李柱明 阅读(606) 评论(0) 推荐(0) 编辑
摘要:前言 以野火i.M 6U为例 2. 内核模块 本章节笔记主要理解内核模块代码框架和原理,分析一个简单的内核模块例子。 需要明确的是模块和驱动是两回事。 2.1 内核模块概念 2.1.1 内核 内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能, 是操作系统工作的基础, 阅读全文
posted @ 2021-03-17 20:57 李柱明 阅读(788) 评论(0) 推荐(1) 编辑
摘要:前言 以野火i.M 6U为例 1. 开发环境搭建 驱动运行条件: 设备驱动是具有独立功能的程序,它可以被单独编译,但不能独立运行, 在运行时它被链接到内核作为内核的一部分在内核空间运行。 因此想要我们写的内核模块在某个版本的内核上运行, 那么就必须在该内核版本上编译它,如果我们编译的内核与我们运行的 阅读全文
posted @ 2021-03-16 20:58 李柱明 阅读(919) 评论(0) 推荐(0) 编辑
摘要:前言 该 Makefile 已经通过基于内核 Linux5.4 版本验证通过。 因为编写这通用驱动 Makefile 时遇到了头文件指定路径失败的问题。使用过 ccflags-y 、INCDIR 、EXTRA_CFLAGS 、-L 等等参数都无效。就是因为我使用了 $(shell pwd)。导致这些 阅读全文
posted @ 2021-03-15 19:15 李柱明 阅读(1808) 评论(0) 推荐(1) 编辑
摘要:前言 李柱明博客:https://www.cnblogs.com/lizhuming/ 本文链接:https://www.cnblogs.com/lizhuming/p/14309823.html 11. 套接字 前面介绍的管道、信号量、消息队列共享内存等等都是用于单个计算机的进程间通信 基于套接字 阅读全文
posted @ 2021-01-21 19:15 李柱明 阅读(353) 评论(0) 推荐(0) 编辑
摘要:前言 李柱明博客:https://www.cnblogs.com/lizhuming/ 本文链接:https://www.cnblogs.com/lizhuming/p/14304476.html 10. 网络编程 互联网通信所要遵守的众多协议,被统称为TCP/IP。 10.1 简要网络知识 TCP 阅读全文
posted @ 2021-01-20 18:47 李柱明 阅读(279) 评论(0) 推荐(0) 编辑
摘要:前言 李柱明博客:https://www.cnblogs.com/lizhuming/ 本文链接:https://www.cnblogs.com/lizhuming/p/14299764.html 8. POSIX信号量 8.1 概念 信号量(Semaphore)是一种实现进程/线程间通信的机制,可 阅读全文
posted @ 2021-01-19 20:09 李柱明 阅读(704) 评论(0) 推荐(0) 编辑
摘要:前言 李柱明博客:https://www.cnblogs.com/lizhuming/ 本文链接:https://www.cnblogs.com/lizhuming/p/14231490.html 7. 线程 7.1 概念 进程:进程是资源管理的最小单位 线程:线程是程序执行的最小单位 因为进程开销 阅读全文
posted @ 2021-01-04 18:34 李柱明 阅读(472) 评论(0) 推荐(0) 编辑
摘要:前言 知识点 消息队列、信号量 和 共享内存 被统称为 system-V IPC 以上都是“持续性”资源,即它们被创建之后, 不会因为进程的退出而消失 6. 共享内存 6.1 概念 共享内存 共享内存是进程间通信中最简单的方式之一 是效率最高的一种IPC通信机制 它允许多个不相关的进程访问同一个逻辑 阅读全文
posted @ 2020-12-31 15:08 李柱明 阅读(334) 评论(0) 推荐(0) 编辑
摘要:前言 李柱明博客:https://www.cnblogs.com/lizhuming/ 本文链接:https://www.cnblogs.com/lizhuming/p/14208759.html 知识点 消息队列、信号量 和 共享内存 被统称为 system-V IPC 以上都是“持续性”资源,即 阅读全文
posted @ 2020-12-29 21:06 李柱明 阅读(370) 评论(0) 推荐(0) 编辑
摘要:前言 李柱明博客:https://www.cnblogs.com/lizhuming/ 本文链接:https://www.cnblogs.com/lizhuming/p/14204671.html 知识点 消息队列、信号量 和 共享内存 被统称为 system-V IPC 以上都是“持续性”资源,即 阅读全文
posted @ 2020-12-29 08:48 李柱明 阅读(485) 评论(0) 推荐(0) 编辑
摘要:前言 李柱明博客:https://www.cnblogs.com/lizhuming/ 本文链接:https://www.cnblogs.com/lizhuming/p/14203037.html 1. 进程 1.1 概念 程序 程序是存放在存储介质上的一个可执行文件 进程 进程是程序执行的过程,是 阅读全文
posted @ 2020-12-28 18:52 李柱明 阅读(376) 评论(0) 推荐(0) 编辑
摘要:前言 目前不涉及驱动源码 李柱明博客:https://www.cnblogs.com/lizhuming/ 本文链接:https://www.cnblogs.com/lizhuming/p/14063151.html 1. 设备检查命令 1.1 查看I2C驱动 命令:ls /sys/bus/i2c/ 阅读全文
posted @ 2020-11-30 19:41 李柱明 阅读(6705) 评论(2) 推荐(1) 编辑

点击右上角即可分享
微信分享提示