登录社区云,与社区用户共同成长
邀请您加入社区
网络设备驱动(Network Device Driver)是操作系统内核与网络硬件(物理网卡或虚拟网卡)之间的软件桥梁,负责屏蔽不同硬件的实现细节,并为提供统一的数据收发接口。驱动不属于网络协议栈,驱动属于对接物理层和数据链路层的内容。网卡由三部分组成:PHY,MAC控制器,变压器与RJ45接口。
本文介绍基于GD32H759I-EVAL开发板与RT-Thread v5.2.2操作系统的工控开发环境搭建,选用VS Code + GCC工具链+ SCons构建体系,实现点灯实验。重点对比了RT-Thread与Linux在驱动与线程调度上的差异,强调其在工控场景下的实时性、确定性及工程效率优势,为后续复杂应用开发奠定基础。
云手机并非简单的"远程桌面",而是一套涵盖 ARM 硬件虚拟化、容器编排、GPU 分片、低延迟音视频串流的复杂系统工程。本文从四层架构模型出发,深入剖析云手机的核心技术栈,并附带 Python 端云交互示例代码,帮助开发者理解其工作原理。云手机的技术栈横跨操作系统虚拟化、GPU 驱动、音视频编解码、网络协议四大领域,是一个典型的系统工程问题。核心设计目标是在保证实例间安全隔离的前提下,最大化 GP
摘要:本文详细介绍如何使用QEMU搭建RISC-V CPU模拟环境,涵盖环境准备、用户态模拟、全系统模拟、GDB调试与性能监控等核心内容。通过安装QEMU与RISC-V交叉编译工具链,读者可在无真实硬件的情况下编译并运行RISC-V程序,甚至启动完整的Debian RISC-V虚拟机,为嵌入式开发、操作系统研究与性能优化提供便捷的验证平台。
AI视觉开门柜→Linux(功能+AI推理+GUI,牺牲实时性和资源)传统弹簧机/低成本设备→RTOS(实时+低成本+低功耗)高要求场景→Linux主控+RTOS协处理器混合架构选型需根据设备功能复杂度、成本预算、实时性要求综合权衡。以智购科技为例,其AI视觉开门柜搭载系统,传统机型可选配低成本方案。产品已出口至全球100多个国家和地区,售后网络覆盖国内外600多个城市、30000多个网点。本文基
在Cortex‑M、TrustZone安全隔离、边缘物联网项目中,FreeRTOS是全球使用最广泛的实时操作系统内核;而`CMSIS‑FreeRTOS`作为ARM官方封装适配层,打通了CMSIS‑RTOS2标准API与原生FreeRTOS内核。很多嵌入式团队在选型时,只会参考官方文档与Demo案例,**缺少一份从源码快照出发、可复现、证据闭环的静态工程画像**。选型阶段盲目引入,后期极易出现构建适
Mbed OS作为Arm官方面向Cortex-M物联网设备的经典开源嵌入式RTOS,曾是IoT联网设备、低功耗终端、嵌入式安全设备的主流操作系统方案。本文基于固定可复现源码快照(d723bf9e),通过纯静态源码工程审计,全景拆解Mbed OS代码架构、模块职责、工程治理能力、运行机制与潜在落地风险。同时结合Arm官方2026年7月EOL终止维护关键公告,补充项目生命周期判定、生产使用边界、迁移选
本文带您从零开始写一个最小操作系统内核。文章首先解释了手写OS的意义(理解计算机本质、面试加分、极客掌控感),然后以传统BIOS为主线,梳理了“BIOS引导 → Bootloader加载 → 内核初始化”三步启动流程。核心代码展示了一个C语言编写的最小内核,直接操作VGA显存地址(0xB8000)打印“Hello, My OS!”,无需任何库函数。同时用Python模拟了启动过程,并给出了在QEM
RT-Thread 是 2006 年诞生的国产开源实时操作系统(12.1k Star,Apache 2.0),最小内核 Nano 版仅 3KB Flash + 1.2KB RAM。本文对比 RT-Thread 与 FreeRTOS 的架构差异(设备框架、DFS 文件系统、网络协议栈、FinSH Shell),给出 QEMU 零成本上手步骤,并列出功能安全认证、团队迁移成本等选型边界。
逐层封装:Linux 网络协议栈:网卡是计算机里的一个硬件,专门负责接收和发送网络包,当网卡接收到一个网络包后,会通过 DMA 技术,将网络包写入到指定的内存地址,也就是写入到 Ring Buffer ,这个是一个环形缓冲区,接着就会告诉操作系统这个网络包已经到达。最简单的一种方式就是触发中断,也就是每当网卡收到一个网络包,就触发一个中断告诉操作系统。但是,这存在一个问题,在高性能网络场景下,网络
本文摘要:操作系统是管理软硬件资源的程序集合,为程序提供执行环境。进程作为程序运行的实例,由PCB和代码数据组成,具有运行、睡眠、停止等状态,通过优先级和调度算法分配CPU资源,并保持独立性。用户程序通过系统调用间接访问硬件。
本文介绍了一个面向国产化统信UOS服务器的PXE自动化部署平台解决方案。该平台支持x86_64、aarch64、loongarch64三种硬件架构,兼容BIOS和UEFI启动模式,通过集成DHCP、TFTP、HTTP服务和Kickstart无人值守脚本实现操作系统全自动安装。部署脚本自动完成镜像下载、挂载、服务配置等步骤,提供BIOS/UEFI双引导支持,并内置密码加密、网络配置自动转静态IP等功
摘要:GNSS接收机软件是接收机的核心"灵魂",其架构呈现分层模块化设计。操作系统选型遵循"够用原则":简单接收机用裸机,中等复杂度采用RTOS,高端设备运行嵌入式Linux。编程语言以C为主(占比70-80%),因其性能可控、确定性高且生态成熟;C++用于复杂算法模块,Python/Matlab仅用于辅助工具。软件架构分为7层,从底层的硬件驱动到顶层的用户接口,每层通过标准化接口通信,实现高内聚
本文深入解析了ARM Cortex-M内核中的SysTick定时器,揭示了其双重角色:既是HAL库延时函数的基础,也是实时操作系统(RTOS)的任务调度核心。文章指出SysTick的24位计数器特性决定了其最大定时周期(72MHz时钟下约233ms),并重点讨论了时钟切换导致的延时精度问题、中断优先级冲突、RTOS与HAL库的兼容性问题等关键陷阱。同时提供了微秒级延时实现方案和低功耗模式下的注意事
官网搜「Kylin USB Maker」或「麒麟启动盘制作工具」,Windows 下打开 → 选 ARM64 ISO → 选 U 盘 → 开始。官网试用页:https://www.kylinos.cn/support/trial/download/另一台电脑(Win / Linux / macOS 都行)用来做启动盘。选「全盘安装 / 自动分区」→ 勾选格式化整个磁盘 → 下一步。密码:≥8 位,
很多嵌入式入门小白都会陷入一个误区:把Linux嵌入式开发等同于“会敲几句ARM汇编、会用开发板点灯”。入门阶段靠着例程跑通几个简单外设,就以为掌握了核心,可一旦遇到项目裁剪、驱动调试、系统卡顿、性能优化等实际问题,立刻无从下手。本质上,Linux嵌入式开发不是简单的硬件编程,而是一套“硬件适配+系统移植+内核驱动+应用开发”的完整软硬件协同体系。和裸机单片机开发不同,Linux嵌入式依托成熟的操
文章摘要: 本文介绍了Linux系统的核心概念与发展历程。Linux本质上是内核,负责管理硬件资源和核心功能;结合GNU工具链和用户空间程序后形成完整操作系统;发行版(如Ubuntu)则整合组件并提供维护策略。Linux的诞生源于Unix哲学和GNU项目对自由软件的追求,1991年Linus Torvalds发布首个版本后,依托GPL许可和开源协作迅速发展。关键里程碑包括支持SMP、移动设备(An
对比维度ARM 平台(麒麟 V10)x86 平台(Ubuntu 16.04)架构aarch64x86_64操作系统麒麟 V10(RHEL 系)Ubuntu 16.04(Debian 系)包格式RPMDEB包管理器dnfapt仓库包命名驱动主包nvidia-460管理工具包(需单独安装)已包含在nvidia-460中关键步骤安装仓库包 →安装仓库包 →apt update→GPG 密钥导入自动处理需
从结果上看,编译增加array-widen-compare选项之后运行时间缩减约80%,同时最终结果保持一致,表明该优化选项在此类场景下能够取得显著提升。经过优化之后在arm64平台上能够使能ccmp指令。步骤 3 对test.c 进行添加选项编译。步骤 2 对test.c原生编译为汇编代码。步骤 2 对test.c进行原生编译。步骤 5 执行test_ after。步骤 4 使用ccmp指令优化
分区表描述存储设备(eMMC、NAND、SD卡)上各区域的位置和大小,为U-Boot提供寻址依据(如内核在哪个分区、设备树在哪个分区)。常见分区信息包括:分区名称、起始地址、大小、文件系统类型、分区编号。因此需要分阶段加载,先用小体积的SPL初始化DDR,再将完整的U-Boot加载到DDR中运行。重定位的目的:将U-Boot放到DDR的高端地址,把低端内存留给内核使用,避免地址冲突。分区表本身不直
调度”是计算机科学中普适的抽象,从 CPU 时间片到数据库连接池,从任务队列到网络请求分发,底层逻辑惊人地一致。
由于默认cgroup v1版本,而k8s1.35+要求v2版本,本文手动调整了它的版本。本文主要以离线方式部署,适用于在线和离线两种状态,两条命令即可搞定一个集群的部署。不论x86还是arm,不论在线还是离线,不论国际还是国产操作系统,使用kt工具和对应的离线安装包,安装k8s和kubesphere 更加的快和简单。注:ks4.*版本开源协议变更,商业使用请购买官方授权。
万象奥科基于RK3576推出了HD-RK3576-UGFC金手指核心板、HD-RK3576-B2B板对板核心板和RK3576 CM5 兼容板 板对板核心板,以适配不同的产品结构、底板设计及接口扩展需求。下文将从连接形态、板卡尺寸、内存与存储配置、网络通信、视频接口、工业接口、工作温度及操作系统等维度,对万象奥科RK3576系列核心板的主要参数进行介绍,帮助用户根据产品空间、算力需求、接口资源和部署
NOR Flash 像内存一样可以直接读取和执行代码,适合存放启动程序;NAND Flash 容量大、成本低,适合存放操作系统、文件系统等大块数据。
深入操作系统 Socket 底层:套接字控制块、FD映射、阻塞IO核心完整实现
安全方面,CubeSandbox 的核心价值是给每个 AI Agent 提供独立、安全的执行环境——Agent 执行代码时不会影响宿主服务器,也不会干扰其他 Agent。AI Agent 沙箱尤其复杂——它不是普通的应用软件,而是一个为每个 Agent 创建独立运行环境的底层系统,涉及操作系统内核、网络隔离、安全防护等最基础的计算能力。双方经过近两个月的深度联合开发,攻克了 AI Agent 沙箱
操作系统已经崩得连内核转储都来不及写,网卡驱动的内存结构全乱了,凭什么这台机器还能接到你的“开机”指令,又老老实实地把电源接通?答案全在主板上那颗极其低调的芯片上——基板管理控制器,BMC。
云手机是移动虚拟化与云端算力融合的创新产物,通过将操作系统、算力运算等迁移至云端服务器,突破传统手机的硬件限制。其核心技术包括ARM架构虚拟化、vGPU图形加速、低延迟传输和分布式资源调度,实现高性能、高安全的云端移动体验。云手机具有突破硬件上限、续航限制和规模化成本优势,已广泛应用于云游戏、企业办公等领域。未来随着边缘计算等技术的发展,云手机将持续优化性能,成为移动终端的重要补充,推动产业数字化
UEFI 启动流程描述的是一台机器从上电到进入操作系统的完整生命周期。
本文是RT-Thread操作系统的入门学习笔记,主要介绍了RT-Thread的特点、版本选择以及与FreeRTOS的对比,并详细记录了将RT-Thread Nano版本移植到STM32开发板的过程。RT-Thread是一款国产开源嵌入式实时操作系统,具有丰富的中间件、高度可裁剪性和活跃的中文社区等优势。作者通过对比RT-Thread的三个版本(Nano、标准版和Smart版),分析了各自的适用场景
在2026年嵌入式培训机构鱼龙混杂的市场中,金橙智能凭借 “研发公司+培训机构”的双重身份、已量产的商业项目池、10年以上经验的导师团队以及与高校的深度产教融合,形成了区别于纯培训机构的独特竞争力。更重要的是,嵌入式岗位具有刚需属性:智能家电、智能家居、新能源汽车、工业机器人、安防设备等领域持续扩招,岗位需求稳定。自学的确是一条路,但嵌入式涉及硬件、软件、操作系统、通信协议等多个领域的交叉知识,学
本文介绍了计算机网络的发展背景、协议概念及TCP/IP协议簇。计算机网络从ARPANET萌芽,经历了标准化、普及和移动互联网三个阶段。网络协议是计算机通信的规则,采用分层设计(如OSI七层和TCP/IP五层模型)以解耦复杂度、便于维护和标准化。TCP/IP协议簇统一了全球通信标准,屏蔽底层差异,由操作系统内核实现。数据传输涉及封装与分用过程,局域网依赖MAC地址和交换机,跨网络则通过IP地址和路由
云手机技术解析与应用前景 云手机是基于ARM服务器虚拟化的云端安卓设备,通过网络实现远程操控,依托ARM架构原生兼容性、低延迟传输、弹性资源调度和系统定制四大核心技术,显著优于传统X86模拟器。其应用覆盖手游托管、新媒体矩阵运营、企业办公及测试开发等场景,但面临带宽依赖、算力成本及功耗优化等挑战。未来,随着ARM硬件升级和AI压缩技术发展,云手机在性能与成本平衡上将进一步提升,为个人和企业提供高效
本文系统阐述了嵌入式与系统级软件架构设计的核心要素和实践方法论。全文分为十个部分,从基础架构设计到前沿技术趋势,全面覆盖了嵌入式系统开发的各个关键环节。主要内容包括:1.分层架构设计(HAL/BSP/OSAL)和操作系统选型策略;2.高质量编码规范与内存安全管理;3.设计模式在嵌入式领域的应用实践;4.通信协议栈、中间件等核心组件;5.AI工具在开发全流程中的应用;6.安全关键系统设计要点;7.高
CodeStats。资深底层技术爱好者,专注计算机体系结构、操作系统内核与Java虚拟机实现原理。一个能“自洽运转”的内核,指不依赖任何外部程序,仅凭自身代码和硬件交互,就能无限稳定运行的核心模块集合。socket()系统调用时内核执行:分配socket结构体分配file对象,分配文件描述符,挂到进程fd表text【启动阶段】一次性线性执行通电 → BIOS → Bootloader → 内核初始
这一篇把sup暂时放到一边,开始为更底层的网络协议实现做准备。前面依赖 Windows ICMP API 的方式已经能完成 ping,但那仍然是操作系统在替我们说 ICMP。要真正往下挖,就必须自己面对网络接口和原始数据包。为了自己发包,需要先知道从哪张网卡发。rawsock可以列出 Npcap 暴露的所有接口,但列表里可能有大量有线、无线、虚拟、WAN、loopback 接口,不能靠猜。系统路由
课件参考:《ARM Cortex-M4嵌入式应用技术——基于STM32F407、STM32CubeMX与Proteus》 张营教材。《ARM Cortex-M4嵌入式应用技术——基于STM32F407、STM32CubeMX与Proteus》全套PPT课件。第8章模数转换器与数模转换器.pp。第1章 嵌入式系统概述.ppt。第3章通用輸入输出口.pptx。第7章直接存储器存取.pptx。第9章嵌入
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。硬件层:嵌入式处理器、存储器(ROM/RAM/Flash)、外设接口、电源模块等软件层:板级支持包(BSP)、嵌入式操作系统(可选)、应用程序标准库(StdPeriph Library):ST早期推出的固件库,直接操作寄存器封装的函数库,代码执行效率高,用户需要手动配置
LXC容器型ARM云手机是一种基于ARM架构服务器和Linux容器技术的高效云端安卓解决方案。其核心优势在于:1)采用原生ARM架构服务器,避免X86模拟器的性能损耗;2)利用轻量级LXC容器技术实现高密度部署,单台服务器可运行上百隔离的安卓实例;3)作为无实体设备,支持远程流式访问。典型应用包括手游多开、企业移动办公(数据不落地)和自动化测试等场景,具有成本低、性能高、可扩展性强的特点。
本文深入浅出地讲解了Windows内核的架构与核心组件。Windows内核采用混合架构,包含Executive服务层(提供进程、内存、I/O等系统服务)、Kernel核心层(处理线程调度和异常)、HAL硬件抽象层等关键部分。文章通过架构图、代码示例和实用命令,展示了Windows内核如何实现对象管理、注册表操作等核心功能,并与Linux内核进行了对比。Windows内核作为微软操作系统的核心引擎,
本文摘要介绍了Zephyr实时操作系统(RTOS)的核心架构和关键功能模块。主要内容包括: 系统架构 采用高度模块化设计,支持Kconfig配置和设备树(Devicetree) 多架构支持(ARM/x86/RISC-V等)和统一API接口 实时内核特性:抢占式调度、线程同步、中断管理 核心组件 设备驱动模型:基于设备树的解耦设计 内存保护:支持用户/内核模式分离 网络协议栈:TCP/IP、蓝牙、L
本文介绍了操作系统内核的核心概念与功能。内核作为硬件与应用程序之间的中间层,主要承担资源管理、任务协调、系统保护和基础服务提供四大角色。其核心功能包括进程/线程管理(任务调度与CPU分配)、内存管理(地址映射与内存保护)、文件系统(数据存储组织)、设备驱动(硬件接口统一化)以及中断与系统调用(硬件响应与用户态交互)。文章通过分层架构图展示了用户空间、内核空间与硬件层的关系,并详细解析了进程调度和内
服务器:云厂商:Oracle Cloud架构:ARM64(Ampere)系统:Oracle Linux 7.9。
🎬 HoRain云小助手:个人主页 🔥 个人专栏: 《Linux 系列教程》《c语言教程》⛺️生活的理想,就是为了理想的生活!专栏名称专栏介绍《C语言》本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。《网络协议》本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!《docker容器精解篇》全面深入解析 d
Linux 内核是现代操作系统基础设施中最复杂、最关键的开源项目之一。无论是服务器、云平台、Android 手机、嵌入式设备,还是容器、虚拟化、网络转发、存储系统,其底层都离不开 Linux 内核的支撑。这些目录并不是简单的源码分类,而是 Linux 内核按照职责划分出来的核心子系统。理解这些目录之间的关系,相当于拿到了阅读内核源码的“地图”。