smarc

大聪明-PLUS11 小时前
linux·嵌入式·arm·smarc
硬件断点:它们在 Linux 中的用途和工作原理大家好!我是大聪明-PLUS!有一天,我们遇到了一个任务:在 Linux 内核和 OpenSBI 中实现对硬件触发器的支持。这促使我开展了一个研究项目,在这个项目中,我从调试器的角度研究了硬件触发器的含义、设计以及它们在观察点和断点中的应用。我还参与了 RISC-V Linux 和 OpenSBI 对硬件触发器支持的改进工作。
大聪明-PLUS1 天前
linux·嵌入式·arm·smarc
如何修补 Linux 内核:完整指南大家好!我是大聪明-PLUS!在这个项目中,我今年夏天接到了一个颇具挑战性的任务:在Linux内核中实现以太网接口的PROTO_DOWN选项。内核默认仅支持vxlan和macvlan接口的PROTO_DOWN选项,而以太网接口是否支持则取决于网络设备驱动程序。
大聪明-PLUS1 天前
linux·嵌入式·arm·smarc
Docker 内部机制:深入剖析大家好!我是大聪明-PLUS!首先是物理服务器——价格昂贵且效率低下。后来出现了虚拟机,使得在单个硬件上运行多个相互隔离的操作系统成为可能。但隔离的成本仍然很高:需要完整的操作系统副本、数GB的磁盘空间,以及几分钟的启动时间。
大聪明-PLUS1 天前
linux·嵌入式·arm·smarc
常见的 Docker 问题及解决方法大家好!我是大聪明-PLUS!Docker 已成为我们生活中不可或缺的一部分,并成为应用容器化的事实标准。它承诺提供一个“本地运行,本地部署”的环境,而且在大多数情况下,它确实做到了。但迟早,每个开发者或运维工程师都会遇到这种“魔法”失效的情况:容器无法启动,应用程序之间无法通信,服务器磁盘莫名其妙地被占满。
大聪明-PLUS3 天前
linux·嵌入式·arm·smarc
Linux 系统中的电池衰减大家好!我是大聪明-PLUS!我们都知道电池寿命有限。没关系——你可以去服务中心更换旧电池,然后继续使用设备。但查看当前的电池健康状况也很有用。这是 macOS 的标准功能,我们当然也可以在 Linux 中实现。让我们一起来看看吧!
大聪明-PLUS13 天前
linux·嵌入式·arm·smarc
C++编程中存在的问题大家好!我是大聪明-PLUS!C++ 有不少特性都可能存在潜在危险——设计上的缺陷或粗心的编码很容易导致错误。其中一些可以追溯到它艰难的 C 语言背景,一些可以追溯到过时的 C++98 标准,但另一些则是现代 C++ 本身固有的特性。让我们来看看其中几个主要问题,并尝试提供一些建议来减轻它们的负面影响。
大聪明-PLUS14 天前
linux·嵌入式·arm·smarc
C++中的复制语义和资源管理大家好!我是大聪明-PLUS!资源管理是 C++ 程序员必须持续关注的问题。资源包括内存块、操作系统内核对象、多线程锁、网络连接、数据库连接,以及任何在动态内存中创建的对象。资源通常通过句柄访问,句柄通常是指针或其别名(HANDLE例如 `int`、`int` 等),有时也可能是整数(例如 UNIX 文件句柄)。使用后,资源必须被释放;否则,迟早有一天,未释放资源的应用程序(以及其他应用程序)会耗尽资源。这个问题非常棘手;.NET、Java 和其他一些平台的关键特性之一就是基于垃圾回收的统一资源管理系统。
大聪明-PLUS15 天前
linux·嵌入式·arm·smarc
在 C++ 中开发接口类大家好!我是大聪明-PLUS!接口类是一种不包含任何数据且主要由纯虚函数构成的类。这种方案实现了实现与接口的完全分离:客户端使用接口类,而其他地方则创建一个派生类,在该派生类中重写纯虚函数并定义一个工厂函数。实现细节对客户端完全隐藏。这实现了真正的封装,而普通类则无法做到这一点。接口类也称为协议类。
大聪明-PLUS16 天前
linux·嵌入式·arm·smarc
在 C++/CLI 中开发描述符类大家好!我是大聪明-PLUS!C++/CLI 是 .NET Framework 的语言之一,但很少用于开发大型独立项目。它的主要用途是创建程序集,以实现 .NET 与原生(非托管)代码之间的互操作性。因此,C++/CLI 广泛使用句柄类——一种托管类,其成员包含指向原生类的指针。通常,句柄类拥有相应的原生对象,这意味着它必须在适当的时候将其删除。将此类设置为可释放类(即实现 `Dispose` 接口)是很自然的做法System::IDisposable。在 .NET 中实现此接口必须遵循一种称为基本释放
大聪明-PLUS16 天前
linux·嵌入式·arm·smarc
FFmpeg 组件 - 用途、输入/输出数据、配置大家好!我是大聪明-PLUS!作者长期以来一直致力于为 Windows 应用程序开发多媒体支持。最初,他使用 DirectShow,但后来接触到了 FFmpeg 项目,其强大的功能、多功能性和灵活性深深吸引了他。在使用 FFmpeg 的过程中,他编写了大量代码:一个用于 FFmpeg API 的 C++ 封装器,以及一些用于 .NET 的实用工具和 GUI 解决方案。当这些成果达到一定成熟度后,他希望与编程社区分享,同时阐述他对 FFmpeg 架构以及计算机多媒体的理解。
大聪明-PLUS16 天前
linux·嵌入式·arm·smarc
如何提高 FFmpeg 中的视频流解码速度大家好!我是大聪明-PLUS!随着 4K(超高清)等大型视频格式的出现,视频流解码效率问题变得尤为紧迫。在普通计算机上,必须采取特殊措施才能实时处理此类视频流。本文探讨了在基于 FFmpeg 的解决方案中提高视频流解码速度的可能方法,并展示了测量 H264 和 HEVC (H265) 编码的 4K 视频流解码速度的实验结果。
大聪明-PLUS16 天前
linux·嵌入式·arm·smarc
如何向 FFmpeg 添加编解码器大家好!我是大聪明-PLUS!FFmpeg 是一个庞大的开源项目,堪称多媒体百科全书。它能够解决大量的计算机多媒体问题。然而,有时我们需要扩展 FFmpeg 的功能。通常的做法是修改项目代码,然后编译新版本。本文将详细介绍如何添加新的编解码器,并介绍一些将外部函数连接到 FFmpeg 的方法。即使您不需要添加编解码器,本文也有助于您更好地理解 FFmpeg 编解码器的架构及其配置。本文假设读者熟悉 FFmpeg 架构、FFmpeg 编译过程以及使用 FFmpeg API 的编程经验。本说明适用于 2019
大聪明-PLUS17 天前
linux·嵌入式·arm·smarc
C++ 中的引用和引用类型大家好!我是大聪明-PLUS!我们继续推出“C++ 深度解析”系列文章。本系列旨在尽可能详细地介绍各种语言特性,其中一些特性相当专业。本文是该系列的第五篇文章;之前的文章列表位于第六节末尾。本系列面向具有一定 C++ 编程经验的程序员。本文重点介绍 C++ 中的引用和引用类型。
大聪明-PLUS17 天前
linux·嵌入式·arm·smarc
C++中的恒定性大家好!我是大聪明-PLUS!我们继续推出“C++ 深度解析”系列文章。本系列旨在尽可能详细地介绍各种语言特性,其中一些特性相当专业。本文是该系列的第七篇文章;之前的文章列表位于第 10 节末尾。本系列面向具有一定 C++ 编程经验的程序员。本文重点介绍 C++ 中的常量概念。
大聪明-PLUS17 天前
linux·嵌入式·arm·smarc
C++中变量的声明和初始化大家好!我是大聪明-PLUS!我们继续推出“C++ 深度解析”系列文章。本系列旨在尽可能详细地介绍各种语言特性,其中一些特性相当专业。本文是本系列的第六篇文章;之前的文章列表位于第七节末尾。本系列面向具有一定 C++ 编程经验的程序员。本文将介绍变量声明和初始化。
大聪明-PLUS1 个月前
linux·嵌入式·arm·smarc
编程语言保证是安全软件开发的基础大家好!我是大聪明-PLUS!计算机编程错误早在编程语言发明之前就已出现。事实上,编程语言的发明正是为了简化程序编写,并最大限度地减少程序中的错误。
大聪明-PLUS1 个月前
linux·嵌入式·arm·smarc
在 Linux 上使用实时调度策略运行应用程序大家好!我是大聪明-PLUS!2025年10月,举行的“工业自动化:向开放式ICS过渡”论坛上,我与同事们就带有实时补丁的Linux进行了一次有趣的讨论。我们探讨了各种有趣的话题,包括使用虚拟机管理程序、核心分配以及与QNX的区别。我们还讨论了供应商何时会推出针对此类嵌入式系统的解决方案。我向同事们保证,基于Linux的操作系统开发人员会关注并处理所有社区请求,但正如常有的情况一样,工作量超出了团队的能力范围。
大聪明-PLUS1 个月前
linux·嵌入式·arm·smarc
Linux 系统中的 CPU。文章 2:平均负载大家好!我是大聪明-PLUS!在之前的文章中,我们讨论了 CPU 整体利用率。然而,在 Linux 世界中,还有另一种常用的系统负载监控方法,它也与 CPU 消耗相关。不过,它的工作方式不同,它不仅显示 CPU 利用率,还显示整体负载,使我们能够评估系统的当前状态以及其随时间变化的动态变化。这种方法称为负载平均值。
大聪明-PLUS1 个月前
linux·嵌入式·arm·smarc
Linux 中的 CPU。文章 1. 利用率大家好!我是大聪明-PLUS!中央处理器(CPU)是任何计算机系统的核心。高效的CPU使用直接影响应用程序和整个系统的性能。即使您的服务器处理的任务并非计算密集型(例如存储每月仅供用户访问一次的文件存档),没有CPU也无法运行。
大聪明-PLUS1 个月前
linux·嵌入式·arm·smarc
Rsync:管理员详细指南 第2部分大家好!我是大聪明-PLUS!在第一部分中,我介绍了基础知识 rsync:语法、关键选项和 SSH 操作。这些方面可以帮助你在基础层面上有效地使用该实用程序。在本文中,我们将深入了解它,学习如何微调整个同步过程并诊断性能问题……