- 博客(410)
- 资源 (9)
- 收藏
- 关注
原创 Zephyr CPU调度 代码详解
在 SMP 系统中,一个 CPU 无法直接修改另一个 CPU 的运行状态,因此需要 IPI(Inter-Processor Interrupt)完成跨核调度通知。调度决策仍然遵循统一的优先级模型,但线程可在 CPU 间迁移执行,以提升系统整体并行度。在 RISC-V 架构下,Zephyr 在新线程第一次被切换进来时,并不直接进入异常返回路径,而是先进入。使用切换后,需要释放非调度spinlock,不然可能造成死锁,帮每一个同步原语实现这些繁琐的细节。当线程持有调度锁时,即使其本身是抢占线程,也会暂时处于。
2026-01-18 18:29:03
846
原创 Ubuntu 24.04 适配联发科 mt7902 pcie wifi 网卡驱动实践
DKMS(Dynamic Kernel Module Support,动态内核模块支持)是一个用于管理 Linux 内核模块的工具,主要作用是在系统内核更新时,自动重新编译和安装依赖于特定内核版本的驱动程序(内核模块),避免因内核升级导致驱动失效。
2025-08-10 15:20:42
3805
3
原创 Intel i5-14600KF + RTX 5060Ti 16G 台式机剖析
先马 MW360D PRO 二代360ARGB一体式白色水冷 ARGB神光同步/无限镜冷头/+169元升级钛钽A080白色水冷。鑫谷segotep 额定650W白牌80PLUS认证冰山版+199元升级利民TR-TG650-W额定650W白色金牌全模组。华硕哎哟喂B760M-AYW PRO WIFI D510相强劲供电/双M.2接口/WIFI6/银白散热装甲。购置了一台台式电脑,配置如下,为了学习gpu+pcie+usb,激发驱动探索精神,掏点钱大干一场。
2025-08-09 15:06:34
4474
8
原创 arm pl320 学习
PL320 IPCM 是一个高度可配置的核间通信硬件模块,主要能力包括:向其他 CPU 核发送中断随中断携带少量数据(Mailbox Data)支持一对一 / 一对多的消息通信支持自动应答(Auto Acknowledge)支持邮箱链式发送(Auto Link)IPCM 通过AMBAAHB接口被各个 CPU 核访问,常与:中断控制器(如 VIC / GIC)一起使用,构成完整的多核通信体系。
2026-02-07 12:36:36
908
原创 zephyr mbox 学习
从源码视角来看,Zephyr 的 mbox 子系统是一套极度简洁但边界清晰的 IPC 抽象:用mbox_msg描述一次通信用隔离硬件差异把策略、调度和队列尽量留给上层理解这一点后,再去阅读具体平台(如 NXP、TI、ARM、RISC-V SoC)的 mbox 驱动代码,会发现其实现逻辑非常直接,几乎是一一映射硬件能力。对于希望深入研究Zephyr 多核通信、OpenAMP、IPCService的开发者而言,mbox 子系统是一个非常理想的切入点。
2026-02-07 11:00:46
619
原创 U盘发展史
U盘(USB Flash Drive,俗称“优盘”或“闪存盘”)是基于闪存(Flash Memory)和USB接口技术的一种便携式存储设备。它的出现填补了传统存储介质如软盘(Floppy Disk)和光盘(CD/DVD)在便携性、容量和读写速度上的不足。:从最初的8MB小型存储工具,发展到今天高速、大容量、多功能的便携存储设备,它不仅改变了人们的数据携带方式,也推动了信息化社会的发展。U盘最初的容量仅为8MB到16MB,接口为USB 1.1,最大传输速度约为12Mbps。
2026-02-06 22:02:06
557
原创 linux mailbox 学习
从源码角度看,Linux Mailbox 子系统是一套以结构体为中心、以回调为边界、以channel为核心状态机的软件框架。:我是谁,我想怎么用:资源 + 状态 + 并发控制:我能驱动什么硬件。
2026-02-06 21:50:40
788
原创 linux hwspinlock 学习
Linux hwspinlock 是一种面向异构系统的同步机制上层:统一 Linux API中层:hwspinlock core 框架底层:SoC 私有硬件实现(如 APB spinlock)Linux 原子语义无法覆盖的系统边界问题。
2026-02-01 14:05:51
781
原创 linux genpool 学习
是 Linux 内核中的一种通用内存池管理机制,用于在一段连续的物理或虚拟地址区间上,按固定最小粒度(granularity)进行动态分配和释放。
2026-02-01 12:25:10
863
原创 Intel Xeon 服务器 CPU 学习
上大学的时候在图拉丁吧逛看了很多CPU比如志强X5650,E3-1230v3,E5等等,淘过二手服务器主板玩耍,但是后面噪音太大给退了,毕业后干过嵌入式开发,也干过互联网后端开发,于是有兴趣再研究研究服务器CPU的大概情况。嵌入式和互联网后端两者的知识一定程度上可以垂直打通,但是需要的量比较大,比如服务器cpu的规格,kvm虚拟化,分布式云计算,数据中心,服务器集群,linux内核与ubuntu centos debian发行版,gRPC协议,RDMA网络等。市场的 x86 微处理器产品。
2026-01-25 15:22:57
979
原创 AMD EPYC 服务器 CPU 学习
上大学的时候在图拉丁吧逛,淘过二手服务器主板玩耍,但是后面噪音太大给退了,毕业后干过嵌入式开发,也干过互联网后端开发,于是有兴趣再研究研究服务器CPU的大概情况。嵌入式和互联网后端两者的知识一定程度上可以垂直打通,但是需要的量比较大,比如服务器cpu的规格,kvm虚拟化,分布式云计算,数据中心,服务器集群,linux内核与ubuntu centos debian发行版,gRPC协议,RDMA网络等。MCM 带来的优势包括更高的核心数、更大的缓存层级和更宽的内存通道。
2026-01-25 14:35:00
1079
原创 Linux kfifo 设计
要是让我在linux上搞一个ringbuf,第一时间我就想到了kfifo,当时第一次使用对于element类型就折腾半天,然后看一堆天书一样的宏把人看晕了,摸爬滚打多年,今天详细的把kfifo的概念消化一下。
2026-01-24 18:48:49
875
原创 Zephyr 消息队列 接口与内部实现详解
确定性(Determinism):操作复杂度可控,避免非确定性行为轻量化(Low footprint):适合 SRAM / TCM 等受限内存环境统一阻塞模型:基于的调度语义消息队列(k_msgq)正是在这一背景下,用于解决线程间定长消息传递问题的核心 IPC 原语。数据拷贝语义始终执行不支持零拷贝或 scatter/gather阻塞语义(对应 POSIXmq_sendK_NO_WAIT:非阻塞(O_NONBLOCK)timeout:绝对或相对超时调度可见性put 操作可能直接触发调度切换。
2026-01-18 11:47:39
608
原创 [技术宝库]之[QEMU]篇
QEMU 是一个通用的机器模拟与虚拟化框架,用于在一台主机上运行不同架构或不同系统的软件。它既可以通过软件方式模拟处理器和硬件,也可以结合硬件虚拟化技术提供接近原生性能的虚拟机环境。从工程角度看,QEMU 的核心价值在于三个方面:跨架构执行、整机系统仿真以及虚拟化前端。六、Machine 与平台抽象。二、QEMU 的主要能力概览。三、QEMU 的三种运行模式。四、QEMU 的整体架构理解。十一、工程中的典型使用方式。一、QEMU 是什么。
2026-01-14 09:15:44
599
原创 [技术宝库]之[renode]篇
它的核心目标不是高性能运行操作系统,而是以可控、可观测、可复现的方式模拟 SoC 及其外设行为,用于固件、RTOS 和多核嵌入式软件的开发与测试。这一点决定了 Renode 在时间建模、外设行为和自动化测试方面与传统虚拟机工具存在显著差异。在 Renode 中,外设更像是“硬件规格的可执行版本”,而不仅是驱动适配层。这种方式的优势在于 SoC 结构清晰、可维护、可复用,适合复杂芯片系统。Renode 的测试能力是其设计的一部分,而不是事后补充。十二、QEMU 与 Renode 的定位对照。
2026-01-14 09:14:12
407
原创 [操作系统接口]之[同步]篇
同步机制“什么时候可以继续执行?它并不关心“谁独占资源”,而关心:事件是否发生条件是否满足数据是否就绪等待(wait / pend)通知(signal / post / wakeup)
2026-01-09 09:18:50
454
原创 [缩略语大全]之[X86 CPU]篇
x86 架构自 16 位时代发展至今,形成了一套层次清晰、功能高度细分的寄存器体系。寄存器不仅用于通用计算,还广泛承担地址计算、特权控制、中断管理、浮点运算、向量计算、虚拟化及系统安全等职责。本文系统性梳理 x86 CPU 中常见的寄存器类别与缩略语,涵盖用户态与内核态,兼顾历史兼容性与现代扩展。
2025-12-27 10:57:59
677
原创 [缩略语大全]之[ARM CPU]篇
ARM 处理器的寄存器体系是理解指令执行、异常处理、上下文切换以及用户态与内核态切换的基础。无论是在 Linux 内核、RTOS(如 Zephyr)、Bootloader,还是在裸机系统中,寄存器都是连接软件与硬件的关键接口。本文以 ARMv7 与 ARMv8-A 架构为主,对 ARM CPU 寄存器进行系统梳理,并整理一份寄存器相关缩略语大全,便于工程实践查阅。
2025-12-27 10:56:01
863
原创 [缩略语大全]之[SYSTEMV]篇
消息队列用于不同进程间发送和接收消息消息类型可用于消息分类与优先级管理共享内存允许多个进程访问同一块物理内存提供高效的进程间数据交换手段信号量Semaphore用于进程间的同步与互斥可以管理计数资源或实现互斥锁。
2025-12-25 22:39:22
419
原创 [缩略语大全]之[POSIX]篇
POSIX.1:基础定义与系统接口(进程、文件、信号等)POSIX.1c:线程接口(POSIX Threads,pthread)POSIX.1b:实时扩展(调度、定时器、实时 IPC)POSIX.2:Shell 与命令行工具规范在现代操作系统中,POSIX.1、POSIX.1c 与 POSIX.1b 是应用最为广泛、工程价值最高的部分。
2025-12-25 22:34:33
897
原创 [缩略语大全]之[INTEL]篇
了解一个领域最快的方式就是先了解一些缩略语,今天我们一起学习一下老牌厂商intelz计算机领域留下的一些缩略语。
2025-12-19 21:41:10
692
原创 ResNet 原理与结构详解
ResNet 通过一个简单的思想 ——残差连接,成功解决了深度网络退化问题,使得训练百层、千层网络成为可能。它的价值体现在:结构简单可扩展性强易于训练各类视觉任务中表现稳定是众多现代模型的基础模块如果你正在学习深度学习,ResNet 是必须搞懂的第一个经典网络之一。
2025-12-07 14:31:43
1329
原创 zephyr init 启动原理
在 Zephyr 中,系统初始化流程(system initialization)是整个 RTOS 功能正常运行的基础,包括设备驱动初始化、内核子系统初始化以及应用级别的初始化阶段。在驱动或系统模块里写的:看起来像一个函数注册,但背后做了三件事:把传入的 init 函数放到一个 带优先级的 init 段通过构造一个 把 init 信息描述下来链接时自动排列,运行时依次调用核心定义在 :► 关键点: SYS_INIT 本质上是一个 放入特定 section 的结构体。也就是说,不是“注册表”或“链表”,而是
2025-12-07 14:17:26
968
multi_pose_dla_3x.pth
2020-01-17
dla34-ba72cf86.pth
2019-12-11
WiFi_21.90.3_Driver64_Win10.zip
2020-07-30
OpenCV-Python-Toturial-中文版.pdf
2019-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅