/label/lzm

【lwip】04-网络数据包流向

前言 了解了lwip的内存管理后,接下来就是网络数据包的了解。 注意与内部lwip消息的区别:网络数据包用于网络数据的流转,而内部lwip消息用于内部协作。 本篇开始,结合源码独立分析lwip,逐步拆解lwip开源库。 参考: 本文:https://www.cnblogs.com/lizhuming ... »

【freertos】011-信号量、互斥量及优先级继承机制源码分析

前言 源码实现主要参考消息队列章节,因为底层源码是一样的,所以本章笔记侧重点在信号量、互斥量概念。 源码部分与消息队列重叠的函数不分析。 参考:李柱明博客 11.1 任务同步 同步,执行完一个再到下一个,一条逻辑流。 异步,执行者着这个的时候也可执行另外一个,不止一条互相独立的逻辑流。 资源保护,控 ... »

【freertos】010-消息队列概念及其实现细节

前言 消息队列是任务间通信系列介绍的首篇笔记,因为学习完消息队列的源码实现后,信号量、互斥量这些任务间通信机制也相当于学完了,只剩下概念性的内容了。 参考: https://www.freertos.org/a00018.html 李柱明博客:https://www.cnblogs.com/lizh ... »

【lwip】lwip源码基础

前言 本笔记记录 lwip 源码基础内容 李柱明博客:https://www.cnblogs.com/lizhuming/p/15487094.html 概念&作用 网络接口 概念引入 网络接口(以太网接口)是硬件接口(网络接口又可以称之为网卡)。 LWIP 是软件那么而怎样让硬件和软件无缝连接起来 ... »

【linux项目】lichee nano linux烧写

前言 lichee_nano 主控芯片为全志 FC1001S。 本笔记暂时以 lichee nano 为例子,以后可能会直接适配各类 FC1001S 的板子。 注意:使用 lichee nano 板子和 lichee 提供的镜像时,需要注意这个板子的 flash 芯片型号,必要时需要修改驱动。 李柱 ... »

【数据结构&算法】12-线索二叉树

前言 在《大话数据结构》P190 页中有一句话:其实线索二叉树,就等于是把一棵二叉树转变成了一个双向链表。 对于这句话实在想不懂,线索二叉树只是把二叉树以某种次序遍历把空域填上前驱或后继而已,若度为 2 的结点没有多余的指针域用于线索了,那双向链表就断了啊。 李柱明博客:https://www.cn ... »

【网络基础】数据包生命

前言 本笔记通过记录 数据包 在网络中的生命履历来引出一些网络基础知识,如: MAC、ARP、IP、子网掩码、网关、集线器、交换机、路由器这些概念都是在链路层和网络层。 (这些都不做严谨的说明,只是为了更好的了解而表达的个人描述) 参考: 写得通俗易懂:如果让你来设计网络 数据包简要生命周期 浏览本 ... »

【网络编程】TCPIP-小笔记集合

前言 主要记录TCPIP一些小笔记 说明: demo 基于 Linux。 TCP/IP 网络编程笔记散集 快速入门: I/O 缓冲: I/O 缓冲在每个 TCP 套接字中单独存在。 I/O 缓冲在创建套接字时自动生成。 即使关闭套接字也会继续传递输出缓冲中遗留的数据。 关闭套接字将丢失输入缓冲中的数 ... »

【网络编程】TCPIP-7-域名与网络地址

前言 说明: demo 基于 Linux。 7. 域名与网络地址 本节主要记录三个名词:DNS、域名及IP。 7.1 IP IP地址:网络层的主机地址。老生常谈啦。 目前分为IPV4和IPV6。 如百度的地址之一:202.108.22.5 7.2 域名 域名就是IP的别名吧,因为人类对数字的记忆较难 ... »

【网络编程】TCPIP-5-UDP

前言 说明: demo 基于 Linux。 5. UDP 网络编程 UDP 是无连接的,不需要建立连接。 5.1 UDP 的工作原理 参考图: 主机B的数据包中包含目的主机的IP+端口号。 其中IP是把数据的目的主机地址,端口号是目的主机对用的程序。 路由器小知识: IP:主机地址。如目的IP,每个 ... »

【TCP/IP】TCP服务器并发处理&源码

前言 本笔记记录的是 单个服务端并发式处理多个客户端。 下次有空在发个 单线程多个服务端并发式处理多种客户端。其实就是本笔记的一个改良版,用到select() / poll() / epoll()。 原文:https://www.cnblogs.com/lizhuming/p/14943969.ht ... »

【linux】驱动-15-定时器

前言 15. 定时器 本章内容为驱动基石之一。 驱动只提供功能,不提供策略。 原文:https://www.cnblogs.com/lizhuming/p/14922233.html 参考源码路径:includelinux imer.h 参考例子就明白如何使用了。 15.1 内核函数汇总 KER ... »