源码学习
文章平均质量分 90
学习 Vela 系统源码笔记,通过源码提升自我
hhhhhello啊
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Paho MQTT C 客户端源码深入解析
本文深入分析了Eclipse Paho MQTT C客户端的源码实现。该开源库支持MQTT 3.1.1和5.0协议,核心模块包括网络层、协议处理和持久化存储。源码采用模块化设计,核心数据结构包括Clients(客户端实例)、Messages(消息跟踪)和Sockets(socket管理)。网络层实现了socket管理和缓冲区机制,协议处理涵盖连接管理、消息发布和QoS机制。持久化存储确保QoS消息可靠性,多线程模型分离用户操作和网络I/O。该库具有多平台支持、高性能和可靠消息传递等特点。原创 2025-11-04 16:23:24 · 1170 阅读 · 0 评论 -
Vela TMPFS 文件系统详解
TMPFS是一种基于内存的临时文件系统,具有读写速度快、动态调整大小等特点,系统重启后数据会丢失。其设计采用三层对象模型(基础对象、目录对象、文件对象),通过面向对象方式实现代码复用、类型安全和并发控制。核心功能包括文件操作(创建/读写)、目录管理和路径解析,配置选项可调整块大小和内存管理参数。使用时需注意内存管理、性能优化和并发控制,适用于临时文件存储、进程通信等场景。调试可通过监控内存和日志跟踪进行,最佳实践包括合理资源管理和安全设置。原创 2025-06-16 09:38:54 · 935 阅读 · 0 评论 -
Vela RPMSG Port 底层框架学习
RPMSGPort 是 Vela 系统中用于多处理器通信的传输抽象层,提供统一接口支持SPI、UART等不同物理介质。其核心架构分为三层:RPMSG核心层负责设备管理,Port抽象层处理缓冲区和队列,底层为具体传输实现。系统采用缓冲区队列管理机制,包含发送(txq)和接收(rxq)两个队列,每个队列维护空闲(free)和就绪(ready)两个列表。该系统具有零拷贝设计、异步处理和智能流量控制等特点,适用于芯片间通信、多核处理器交互等场景,通过分层架构实现了高效可靠的多处理器通信。原创 2025-06-13 10:22:26 · 906 阅读 · 0 评论 -
Vela 文件系统源码学习
本文概述了Vela操作系统文件系统架构及核心文件操作流程。系统采用VFS虚拟文件系统架构,包含三层结构:VFS接口层、具体文件系统实现层和驱动层。详细解析了open()系统调用的执行流程,包括路径解析、inode查找、文件类型处理、权限检查等关键步骤,以及read/write/close操作的实现原理。重点介绍了核心数据结构:inode表示文件系统节点、file_operations定义文件操作方法、mountpt_operations处理挂载点操作、file结构体管理打开文件实例。系统通过统一的VFS接口原创 2025-06-06 09:53:10 · 1130 阅读 · 0 评论 -
FAT 文件系统学习
FAT 文件系统学习文档,帮助你更好学习了解 FAT 文件系统原创 2025-06-05 17:17:46 · 724 阅读 · 1 评论 -
Vela RPMSG 系统框架
RPMSG是多核/多处理器间通信的消息传递框架,提供标准化API实现数据交换和服务调用。其分层架构包含应用层、核心层、传输抽象层和物理传输层,支持SPI、UART、VirtIO等多种传输方式。关键机制包括设备注册管理、命名空间服务发现和端口抽象,通过回调实现服务绑定。端点创建时机分为服务端(设备就绪时创建)和客户端(服务发现后创建),通过rpmsg_create_ept建立连接。系统提供调试工具如RPMSG Ping测试性能,并可根据需求扩展传输层和定制服务协议。正确使用时需注意初始化顺序、缓冲区配置和线程原创 2025-06-12 16:11:22 · 1475 阅读 · 0 评论 -
NuttX(Vela) Heap 源码学习
NuttX MM Heap是一个高效的内存管理实现,支持多区域管理、内存池和延迟释放等特性。采用双向链表组织空闲块,通过精确匹配和对数分类快速查找,分配和释放均为O(1)复杂度。其内存布局包含保护节点和合并机制,减少了碎片。高级功能包括调试跟踪、多线程安全和性能优化,如细粒度锁和延迟释放批量处理。该实现兼顾灵活性和效率,适合嵌入式系统场景,对内存优化和问题诊断有重要参考价值。原创 2025-06-12 09:59:25 · 935 阅读 · 0 评论
分享