嵌入式

大聪明-PLUS1 小时前
linux·嵌入式·arm·smarc
如何使用 Docker 打包一个简单的应用程序:简易指南大家好!我是大聪明-PLUS!今天我将向大家展示如何使用这四个左手手指在 Docker 中构建应用程序(我们可是在进行严肃的研究,还能用别的方法吗?)。
大聪明-PLUS10 小时前
linux·嵌入式·arm·smarc
Docker 的底层工作原理大家好!我是大聪明-PLUS!今天,我们将深入了解其内部运作机制,探究这一切神奇之处背后的基本原理。对于这个未被提出的问题,我大胆地回答:不要害怕。当你理解了 Docker 的底层原理,你就不会再把它看作一个“神奇的黑盒子”,认为它能自动运行。你将能够胜任地诊断问题,有意识地选择工具,并最终构建出更可靠、更高效的系统。这种知识是一项高级技能,它区分了“了解 Docker 的管理员”和“理解其工作原理的架构师”。
阿源-1 天前
嵌入式·x86·固件
x86 架构的简单介绍目前主流的 CPU 架构主要分为两个阵营:以 x86 为核心的复杂指令集架构(CISC),以及以 ARM 和 RISC-V 为代表的精简指令集架构(RISC)。其中,x86 架构长期以来主导着桌面和服务器市场,代表厂商包括 Intel 与 AMD,其特点是指令集复杂、兼容性强、单核性能高,适合处理需要强大通用计算能力的场景。而 ARM 架构和新兴的 RISC-V 架构则以低功耗、高能效比、架构简洁为主要优势,广泛应用于移动终端、物联网及嵌入式设备领域。ARM 生态成熟、授权模式灵活;RISC-V 则凭借开
不脱发的程序猿2 天前
linux·嵌入式
嵌入式Linux:线程同步(读写锁)目录1、读写锁的初始化2、销毁读写锁3、读写锁加锁与解锁4、读写锁的属性在Linux中,读写锁(Read-Write Lock)提供了一种同步机制,允许多个线程并发读取共享资源,但只有一个线程可以对该资源进行写操作。读写锁相比互斥锁(mutex)或自旋锁(spinlock)具有更高的并行性,因为它有三种状态:读加锁状态、写加锁状态和不加锁状态。
阿源-3 天前
嵌入式·uefi·固件
BIOS/UEFI 与其分别使用的磁盘分区形式 MBR/GPT核心区别对比表格BIOS 的工作流程简单介绍如下。首先电脑通电之后会进行开机自检,检查 CPU、内存、硬盘等关键硬件是否正常。随后开始初始化硬件,加载显卡,硬盘等设备的驱动。最后按照设定的启动顺序读取硬盘的第一个扇区(MBR,512 字节),将控制权交给 MBR 里的引导程序(如GRUB、Windows Boot Manager),由引导程序去加载操作系统。
Pomelo_刘金3 天前
rust·嵌入式
Rust :裸函数 naked functions原文一、什么是“裸函数”(naked functions)二、为什么需要它(和 global_asm! 相比有什么优势) 过去如果你要写“完全由汇编控制的函数”,常见的做法是用 global_asm! 直接把一段全局汇编塞进目标文件。这样做有几个痛点:
rechol3 天前
嵌入式
调试原理[简要描述]相对于JTAG SWD的有效载荷会更高调试主机(Debug Host, PC)作为调试的发起端,通过USB 或以太网与 “调试接口硬件” 通信,发送调试指令(如设置断点、读取寄存器、下载程序等)。
阿源-3 天前
嵌入式·c/c++
C语言编译过程 & ELF文件加载过程解析bin 文件通常用于嵌入式裸机程序的烧录,elf 可执行文件通常运行在操作系统之上。bin 是扁平的二进制文件,没有任何说明,它假设加载它的环境(如嵌入式引导程序,BootRom)已经预先知道了代码存放的地址,代码的入口,数据段,代码段的地址。大家如果烧录过嵌入式裸机程序应该有所体会。
大聪明-PLUS4 天前
linux·嵌入式·arm·smarc
Linux 中 timeout、watch 和 at 的指南:管理命令执行时间大家好!我是大聪明-PLUS!您是否经常在终端中运行某些程序,结果却永远卡住了?或者相反:您需要每秒查看某些内容的变化,但却固执地按下了向上箭头和 Enter 键?又或者,您想在 5 分钟内安排一项任务,但 cron 实在太麻烦了?
阿源-5 天前
嵌入式·c/c++
嵌入式面试中常见的一些编程题目注:本文只是代码实现,并没有深入讲解实现原理,大家可以看一下主要会考什么,然后再具体针对性了解原理,也更有利于理解。
Evan_ZGYF丶5 天前
linux·驱动开发·嵌入式·bsp
深入解析CFS虚拟运行时间:Linux公平调度的核心引擎在操作系统的进程调度领域,公平性一直是一个难以完美解决的挑战。想象一下这样的场景:一个系统同时运行着用户交互程序、后台批处理任务和实时服务,如何确保每个任务都能获得合理的CPU时间份额?传统的固定时间片轮转调度虽然简单,但无法适应不同优先级任务的需求,而严格的优先级调度又可能导致低优先级任务饥饿。
大聪明-PLUS6 天前
linux·嵌入式·arm·smarc
Linux 上的 GitOps:使用 Git 进行无缝基础设施管理大家好!我是大聪明-PLUS!想象一下,每个服务器、应用程序和网络配置都使用 Git 精心编排,只需一次提交即可完成更新、审核和恢复。GitOps 开启了这些以及其他可能性。当它与 Linux 系统的多功能性相结合时,其威力尤为强大。我们如何才能变革 Linux 基础设施管理?Git 如何帮助我们在每次变更中保持清晰、可控和自信?
大聪明-PLUS6 天前
linux·嵌入式·arm·smarc
嵌入式 Linux 初学者指南 – 第 2 部分大家好!我是大聪明-PLUS!在第一篇文章中,我们介绍了基础知识:嵌入式 Linux 是什么、它与常规发行版有何不同、它由什么组成、如何启动以及可以使用哪些工具来构建它。
一枝小雨7 天前
stm32·单片机·嵌入式·ota·bootloader·固件升级·加密升级
【OTA专题】2 初级bootloader架构和基础工程移植目录1.初级架构硬件架构:软件架构:Bootloader:App:2.初阶Bootloader升级流程:
阿源-8 天前
嵌入式·cpp
CPP 学习笔记 & 语法总结秋招的时候(嵌入式方向)面试官常问到 C++,因此花了几天过了一下基础知识,本文为学习笔记。快速学习的经验:如果有其他语言基础的情况下,想要学习一门新语言,让 AI 帮你列一下这个语言的学习大纲或者目录,然后针对目录中的每个知识点让 AI 讲解并给出示例,这样非常快就能学完一门语言,当然这只是个人的速成经验,如果要熟练掌握一门语言还是要脚踏实地的一个个知识点去学习练习。
xskukuku8 天前
c语言·嵌入式
华为技术有限公司 C语言编程规范范围:本规范适用于公司内使用C语言编码的所有软件。本规范自发布之日起生效,以后新编写的和修改的代码应遵守本规范。
阿源-9 天前
嵌入式·uefi·edk2·固件
UEFI 启动的各阶段介绍系统固件开发学习系列:一、EDKII环境搭建 & QEMU虚拟机双平台安装二、EDKII工程结构介绍一、整体概念
大聪明-PLUS10 天前
linux·嵌入式·arm·smarc
io_uring:Linux 上的高性能异步 I/O大家好!我是大聪明-PLUS!io_uring 最初在 Linux 5.1 中引入,它显著改变了异步 I/O 的方式。与 epoll 或 AIO 等传统机制不同,io_uring 使用共享环形缓冲区在用户空间和内核之间交换请求和结果。这减少了系统调用次数,最大限度地减少了上下文切换,并实现了高吞吐量。在本文中,我们将深入探讨 io_uring 架构,解释其关键扩展,并演示如何基于它构建高性能网络服务。
Aevget10 天前
c++·qt·嵌入式·能源·界面控件·ui开发
QtitanNavigation助力能源数字化转型:打造清晰可控的系统导航体验QtitanNavigation 组件模拟Microsoft Dynamics CRM-2016 / Office 365导航界面和一组控件,来改善Qt.C ++应用程序的用户体验。QtitanNavigation结合用户界面构建“Ribbon UI”和“Side Bar”的各种示例,可以更好地在您的应用程序中导航,使用户更直观地访问应用程序的某些部分。因此,它允许同时显示更多的信息,并让您高效地查看所有实体(工作区域,网格或其他项目),滚动次数更少,点击次数更少。与我们的其他解决方案一样,QtitanN
大聪明-PLUS10 天前
linux·嵌入式·arm·smarc
从 C 到 C++20 协程编写方法的演变。第一部分:函数 + 宏 = 协程大家好!我是大聪明-PLUS!在我看来,协程是 C++20 标准中最难用的新特性。尽管网上有很多关于这个主题的文章(例如,一、二、三),以及大量的会议演示视频,但由于多种原因,学习 C++20 中的协程仍然面临诸多挑战。