随笔分类 -  C语言

有关一些C语言的基础
摘要:前言 主要分析网络接口概念、网卡数据结构、网络接口、环回接口实现等等。 参考: 本文:https://www.cnblogs.com/lizhuming/p/16642648.html 李柱明笔记汇总:https://www.cnblogs.com/lizhuming/p/16557045.html 阅读全文
posted @ 2022-08-31 12:48 李柱明 阅读(2625) 评论(3) 推荐(1) 编辑
摘要:前言 本笔记主要记录lwip框架部分,目的是为了对lwip的源码实现有初步了解,方便后面细节分析。 参考: 本文:https://www.cnblogs.com/lizhuming/p/16634848.html 李柱明笔记汇总:https://www.cnblogs.com/lizhuming/p 阅读全文
posted @ 2022-08-30 09:11 李柱明 阅读(3892) 评论(0) 推荐(0) 编辑
摘要:前言 了解了lwip的内存管理后,接下来就是网络数据包的了解。 注意与内部lwip消息的区别:网络数据包用于网络数据的流转,而内部lwip消息用于内部协作。 本篇开始,结合源码独立分析lwip,逐步拆解lwip开源库。 参考: 本文:https://www.cnblogs.com/lizhuming 阅读全文
posted @ 2022-08-27 15:14 李柱明 阅读(2037) 评论(0) 推荐(1) 编辑
摘要:前言 默认以32bit事件类型和任务专用API讲解。 事件独立于消息队列、信号量和互斥量这些章节是因为内部实现机制不同。 参考:李柱明博客:https://www.cnblogs.com/lizhuming/p/16353453.html 12.1 实现事件机制的预备知识 12.1.1 守护任务 和 阅读全文
posted @ 2022-06-08 09:03 李柱明 阅读(707) 评论(0) 推荐(0) 编辑
摘要:前言 源码实现主要参考消息队列章节,因为底层源码是一样的,所以本章笔记侧重点在信号量、互斥量概念。 源码部分与消息队列重叠的函数不分析。 参考:李柱明博客 11.1 任务同步 同步,执行完一个再到下一个,一条逻辑流。 异步,执行者着这个的时候也可执行另外一个,不止一条互相独立的逻辑流。 资源保护,控 阅读全文
posted @ 2022-06-07 09:02 李柱明 阅读(1755) 评论(0) 推荐(0) 编辑
摘要:前言 消息队列是任务间通信系列介绍的首篇笔记,因为学习完消息队列的源码实现后,信号量、互斥量这些任务间通信机制也相当于学完了,只剩下概念性的内容了。 参考: https://www.freertos.org/a00018.html 李柱明博客:https://www.cnblogs.com/lizh 阅读全文
posted @ 2022-06-05 15:30 李柱明 阅读(2366) 评论(2) 推荐(1) 编辑
摘要:前言 李柱明博客:https://www.cnblogs.com/lizhuming/p/15486895.html 一、什么是原子操作 不可被中断的一个或者一系列操作、 CAS 是 Compare And Set 的缩写,是以一种 无锁的方式实现并发控制 。在实际情况下,同时操作同一个对象的概率非 阅读全文
posted @ 2021-11-04 18:17 李柱明 阅读(431) 评论(0) 推荐(0) 编辑
摘要:前言 李柱明博客:https://www.cnblogs.com/lizhuming/p/15486869.html 修饰对象 修饰对象为 const 字段后的首个字段。 参考修饰指针例子: 理解技巧:* 是指向(指向后的值)。 const int *A; //const修饰指向的对象,A可变,* 阅读全文
posted @ 2021-11-01 20:35 李柱明 阅读(97) 评论(0) 推荐(0) 编辑
摘要:前言 在看到这篇文章时觉得不错,虽然现在还没用上,但是至少知道有个这么一个概念或者一个可行的方法。记录下来。 了解过面向对象编程都应该知道 public 和 private 。那我们也可以在 c 上实现,且在结构体上实现成员的公私有。 李柱明博客:https://www.cnblogs.com/li 阅读全文
posted @ 2021-11-01 20:28 李柱明 阅读(443) 评论(0) 推荐(0) 编辑
摘要:前言 主要记录结构体设计经验。 主要以 C,32bit 设备为基础。 李柱明博客:https://www.cnblogs.com/lizhuming/p/15486826.html 成员排布 内存对齐 目的: 处理内存对齐,合理利用内存,可以提高空间利用率。 原理: 按字节对齐的方式存储:即以结构体 阅读全文
posted @ 2021-11-01 09:00 李柱明 阅读(278) 评论(0) 推荐(0) 编辑
摘要:前言 本文记录通过回调函数通知到多线程的框架。 本文链接:李柱明博客-框架:https://www.cnblogs.com/lizhuming/p/15205560.html 主要用于解耦。 实现原理 就是把多个回调函数插入到一个链表中,在对应的地方执行这个链表中的所有回调函数。 用途 通知业务只是 阅读全文
posted @ 2021-08-30 13:46 李柱明 阅读(928) 评论(9) 推荐(1) 编辑
摘要:前言 本笔记记录的是 单个服务端并发式处理多个客户端。 下次有空在发个 单线程多个服务端并发式处理多种客户端。其实就是本笔记的一个改良版,用到select() / poll() / epoll()。 原文:https://www.cnblogs.com/lizhuming/p/14943969.ht 阅读全文
posted @ 2021-06-28 12:35 李柱明 阅读(1547) 评论(0) 推荐(0) 编辑
摘要:前言 链接: 李柱明博客:https://www.cnblogs.com/lizhuming/ 区分设备驱动模型和平台设备驱动模型。 设备驱动模型 可以理解为 总线、设备、驱动。 平台设备驱动模型 就是那些 Linux 内核管理没有物理总线(即是不需要特殊时序控制的设备)(也是Linux内核没有自动 阅读全文
posted @ 2021-04-01 12:47 李柱明 阅读(1186) 评论(0) 推荐(0) 编辑
摘要:前言 5. 分离分层 本章节记录实现LED驱动的大概步骤,且编程框架实现分离分层。 分离分层: 上层:系统 相关。如模块注册于注销。 下层:硬件操作。如提供 file_operations 。分离: 设备。提供板卡信息,如使用哪一个引脚。 驱动。引脚的具体操作。 以下以 LED 为例。 5.1 回顾 阅读全文
posted @ 2021-03-29 17:41 李柱明 阅读(792) 评论(0) 推荐(1) 编辑
摘要:前言 随着全球晶圆缺货,ST疯狂涨价,也是时候把目光放到国产 MCU 上啦,感觉还不错,看 datasheet 的的数据来分析,性价比高,性能强。至于稳定性嘛,我没有长时间老化和细节地测试过,不做评论。 建议: 如果不想重新构建新的 AT 工程,就在你ST产品的工程上修改即可,主要替换ST库(与AT 阅读全文
posted @ 2021-03-26 12:46 李柱明 阅读(3072) 评论(0) 推荐(0) 编辑
摘要:前言 时间:20210315 主要记录这两天对国内各IC厂商的 MCU 了解记录。 大环境,ST 厂商 MCU 疯狂涨价,国内 MCU 也越来越完善,还便宜。同时,全球缺晶圆(这就看哪家厂商幸运,备货足了)。 简要工作记录 第一天: 今天早上接到主管的紧急任务,其实也就是评估国产 MCU 。找出代替 阅读全文
posted @ 2021-03-17 23:33 李柱明 阅读(592) 评论(0) 推荐(1) 编辑
摘要:前言 李柱明博客:https://www.cnblogs.com/lizhuming/ 本文链接:https://www.cnblogs.com/lizhuming/p/14309823.html 11. 套接字 前面介绍的管道、信号量、消息队列共享内存等等都是用于单个计算机的进程间通信 基于套接字 阅读全文
posted @ 2021-01-21 19:15 李柱明 阅读(352) 评论(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 李柱明 阅读(278) 评论(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 李柱明 阅读(700) 评论(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 李柱明 阅读(6672) 评论(2) 推荐(1) 编辑

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