摘要:前言 本笔记主要传达一种设备驱动拆分的概念和实现。 使得写好一个驱动框架后,随意添加相应设备,提高开发效率。 使用到以空间换时间的方法,即是数组管理设备,使得时间复杂度为 O(1)。(数组直接定位)。 本笔记的框架支持 N个设备 绑定 X个驱动 笔录草稿 驱动ID 就是 驱动数组下标, 设备ID 就 阅读全文
posted @ 2020-10-18 12:49 李柱明 阅读(188) 评论(2) 推荐(2) 编辑
摘要:前言 原文:https://www.cnblogs.com/lizhuming/p/14309823.html 11. 套接字 前面介绍的管道、信号量、消息队列共享内存等等都是用于单个计算机的进程间通信 基于套接字的进程间通信机制,可实现跨主机的进程间通信 11.1 Socket简介 套接字(soc 阅读全文
posted @ 2021-01-21 19:15 李柱明 阅读(17) 评论(0) 推荐(0) 编辑
摘要:前言 原文 10. 网络编程 互联网通信所要遵守的众多协议,被统称为TCP/IP。 10.1 简要网络知识 TCP/IP是一个庞大的协议族,它是众多网络协议的集合,包括:ARP、IP、ICMP、UDP、TCP、DNS、DHCP、HTTP、FTP、MQTT等等 分层 graph LR A[应用层] - 阅读全文
posted @ 2021-01-20 18:47 李柱明 阅读(28) 评论(0) 推荐(0) 编辑
摘要:前言 原文 8. POSIX信号量 8.1 概念 信号量(Semaphore)是一种实现进程/线程间通信的机制,可以实现进程/线程之间同步或临界资源的互斥访问, 常用于协助一组相互竞争的进程/线程来访问临界资源。 在POSIX标准中分无名信号量和有名信号量: 无名信号量 一般用于线程间同步或互斥 无 阅读全文
posted @ 2021-01-19 20:09 李柱明 阅读(54) 评论(0) 推荐(0) 编辑
摘要:前言 原文链接 7. 线程 7.1 概念 进程:进程是资源管理的最小单位 线程:线程是程序执行的最小单位 因为进程开销大,才衍生出线程 进程切换上下文时, 需要重新映射虚拟地址空间、进出OS内核、寄存器切换,还会干扰处理器的缓存机制 一个进程至少需要一个线程作为它的指令执行体,进程管理着资源(比如c 阅读全文
posted @ 2021-01-04 18:34 李柱明 阅读(130) 评论(0) 推荐(0) 编辑
摘要:前言 知识点 消息队列、信号量 和 共享内存 被统称为 system-V IPC 以上都是“持续性”资源,即它们被创建之后, 不会因为进程的退出而消失 6. 共享内存 6.1 概念 共享内存 共享内存是进程间通信中最简单的方式之一 是效率最高的一种IPC通信机制 它允许多个不相关的进程访问同一个逻辑 阅读全文
posted @ 2020-12-31 15:08 李柱明 阅读(20) 评论(0) 推荐(0) 编辑
摘要:前言 原文链接 知识点 消息队列、信号量 和 共享内存 被统称为 system-V IPC 以上都是“持续性”资源,即它们被创建之后, 不会因为进程的退出而消失 说明: 以下 信号量 如无说明,均为 system-V IPC 信号量 5. 信号量 5.1 概念 信号量 信号量可以理解为一个计数器 主 阅读全文
posted @ 2020-12-29 21:06 李柱明 阅读(16) 评论(0) 推荐(0) 编辑
摘要:前言 原文链接 知识点 消息队列、信号量 和 共享内存 被统称为 system-V IPC 以上都是“持续性”资源,即它们被创建之后, 不会因为进程的退出而消失 4. 消息队列 4.1 概念 消息队列 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法 4.2 对比 消息队列与信号之间的对 阅读全文
posted @ 2020-12-29 08:48 李柱明 阅读(183) 评论(0) 推荐(0) 编辑
摘要:前言 原文链接 1. 进程 1.1 概念 程序 程序是存放在存储介质上的一个可执行文件 进程 进程是程序执行的过程,是程序在执行过程中分配和管理资源的基本单位 程序是静态的,进程是动态的。进程的状态是变化的,其包括进程的创建、调度和消亡 线程 线程是CPU调度和分派的基本单位,它可与同属一个进程的其 阅读全文
posted @ 2020-12-28 18:52 李柱明 阅读(51) 评论(0) 推荐(0) 编辑
摘要:前言 目前不涉及驱动源码 原文 1. 设备检查命令 1.1 查看I2C驱动 命令:ls /sys/bus/i2c/devices 用于查看系统上存在的 I2C 总线 1.2 i2c-tools i2c-tools,安装 i2c-tools 方便调试 i2c设备 1.2.1 I2C-detect安装 阅读全文
posted @ 2020-11-30 19:41 李柱明 阅读(169) 评论(0) 推荐(0) 编辑
摘要:前言 本笔记主要记录Makefile一些概念要点。 概念 Chapter 5:变量的基础 变量可以使用在 目标 、 依赖目标 、 命令 或是 Makefile的其它部分中。 变量的名字可以包含 字符、数字和下划线(可以以数字开头)。 但是不应该包含有 : # = 空格 回车 等特殊字符。 变量名具有 阅读全文
posted @ 2020-11-28 08:33 李柱明 阅读(61) 评论(0) 推荐(0) 编辑