自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(496)
  • 收藏
  • 关注

原创 嵌入式LINUX驱动开发成长计划

嵌入式LINUX开发成长计划

2024-05-28 18:59:40 1643 1

原创 嵌入式MCU开发成长计划

单片机工程师的2年成长计划

2022-07-07 13:50:00 4480 7

原创 以Linux为例补充内存管理基础知识

虚拟内存技术通过 “

2025-08-05 11:50:09 572

原创 Linux内核入口head.S文件解析

该文件位于如下位置这个是ARM架构下Liunx内核的启动文件。在 ARM 架构的 Linux 内核中,head.S(通常位于)是内核启动的第一个执行文件,负责从硬件初始化到跳转到 C 语言内核()的关键过渡。一、明确head.S的核心作用head.S是内核的汇编入口点处理器识别与兼容性初始化(适配不同 ARM 核)。初始化核心寄存器(如栈指针、页表基地址寄存器)。创建初始页表(),为 MMU 使能做准备。切换处理器模式(如从 SVC 模式初始化其他模式栈)。

2025-08-05 07:38:43 597

原创 Linux定时器和时间管理源码相关总结

Linux 中定时器和时间管理机制涉及大量的数据结构、核心文件和关键函数,它们共同协作实现时间跟踪、定时任务调度等功能。一、核心数据结构1. 定时器相关(普通内核定时器)作用:描述一个基础定时器,用于毫秒级精度的定时任务。// 哈希表节点(临时存储)// 超时时间(jiffies 单位)// 超时回调函数u32 flags;// 标志(如 TIMER_IRQSAFE)(高精度定时器)作用:支持纳秒级精度的定时器,用于高精度场景(如音频处理)。

2025-07-29 20:54:34 770

原创 ARM汇编的一些编写和调用规范总结

2025-07-25 14:54:14 732

原创 ARM汇编常见伪指令及其用法示例

用于在内存中定义数据(如整数、字符串、数组等)。用于划分程序的不同段(代码段、数据段等),便于内存管理。定义数据(.word.asciz等);划分内存段(.text.data等);控制符号与地址(.global=label等);优化内存对齐(.align灵活使用伪指令可使汇编代码更清晰、易维护,同时适配不同的硬件和内存布局需求。

2025-07-24 20:10:59 778

原创 在Ubuntu上使用QEMU仿真运行ARM汇编

QEMU 包含虚拟机功能:在 “全系统仿真” 模式下,它就是一款虚拟机工具,能模拟完整的计算机系统。QEMU 不止是虚拟机:它的 “用户模式仿真” 可以轻量地跨架构运行单个程序,且支持更多小众硬件架构,是开发者调试底层代码的重要工具。简单说,传统虚拟机更像 “一台虚拟电脑”,而 QEMU 更像 “一个万能的硬件模拟器”,虚拟机功能只是它的一部分。

2025-07-24 14:29:02 1011

原创 Linux内核中断源码相关总结

Linux 中断机制通过分层设计(硬件控制器→通用框架→底半部延迟处理)实现了高效、可靠的事件响应。其核心是在保证实时性的同时,平衡中断处理的效率和系统稳定性,是内核与硬件交互的关键纽带。

2025-07-24 10:21:24 561

原创 探讨下硬件电路是如何识别程序的

它的角色是 “编译器 / 汇编器的输出”,而非 “开发者的输入”。这一步是 “编程” 的核心 ——HDL 代码定义了电路的逻辑关系(比如 “当输入 A 为 1 且输入 B 为 0 时,输出 C 为 1”),而非直接描述电路的物理连接。因此,用汇编而非机器码,是在 “直接操作硬件” 和 “实际开发维护” 之间的最优选择 —— 既保留了对硬件的精确控制,又避免了机器码的可读性和可维护性灾难。这些代码是内核与硬件交互的 “直接翻译”,初期难懂是正常的,随着对架构细节和内核流程的熟悉,会逐渐理解其设计逻辑。

2025-07-23 13:14:55 765

原创 Linux内核中常用的函数/代码汇总

的工具,通过向编译器提示分支概率,帮助 CPU 减少流水线停顿,提升程序执行效率。它们的核心价值在于优化高频路径的执行性能,尤其在性能敏感的内核代码中应用广泛。是新进程 “诞生” 的最后一步,它将初始化完成的进程接入内核调度系统,使其从 “待启动” 状态变为 “可运行” 状态,是进程能够被 CPU 执行的关键触发点。看内核源码时,好多接口都不太清楚是什么意思,所以,这篇文章就是专门做个记录,记录那些内核中出现得比较频繁的内容。在 Linux 内核中,进程的 ID 并非简单的整数,而是通过。

2025-07-22 18:01:16 577

原创 Linux的进程管理源码相关内容梳理

2025-07-22 17:59:18 633

原创 Linux内核的目录结构

大概介绍:Linux 内核源代码的目录结构清晰且模块化,每个目录负责不同的功能模块或组件。理解这些目录的作用,有助于深入学习内核工作原理和进行开发。arch/:架构相关代码该目录包含与具体 CPU 架构相关的代码,是内核适配不同硬件平台的核心。每个子目录对应一种处理器架构(如 x86、ARM、RISC-V 等)。arch/x86/:x86 架构(32 位和 64 位)相关代码,包括启动程序、中断处理、寄存器定义等。arch/arm/:ARM 架构代码,支持手机、嵌入式设备等。

2025-07-21 19:56:24 1039

原创 Linux的系统调用机制总结

系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置定时器等。从逻辑上来说,系统调用可被看成是一个内核与用户空间程序交互的接口——它好比一个中间人,把用户进程的请求传达给内核,待内核把请求处理完毕后再将处理结果送回给用户空间。

2025-07-21 19:28:26 804

原创 认识下计算机视觉中的人脸识别

人脸识别技术已取得显著进展,但其应用需平衡技术能力与伦理责任。未来,随着算法优化、硬件升级和法规完善,人脸识别将在更多领域发挥作用,同时也需要社会共同努力确保其合法、公正地使用。

2025-07-14 17:25:58 1136 1

原创 使用Tensorflow和CNN进行猫狗图片训练的实战总结

依赖关系:现代图像识别系统(尤其是高精度系统)几乎都以 CNN 为基础架构,没有 CNN,就没有当前图像识别的实用化水平。本质作用:CNN 通过卷积、池化等操作,将高维度、强关联的图像数据转化为可用于分类 / 识别的抽象特征,让计算机能高效 “理解” 图像的语义信息。简单来说:图像识别是目标,CNN 是实现这一目标的最有效工具。

2025-07-10 19:45:49 742 2

原创 Netron的基本使用介绍

2025-07-10 19:42:25 1144

原创 Tensorflow的安装记录

CUDA (Compute Unified Device Architecture)是一套软硬件结合的解决方案,包括硬件架构(GPU 中的计算核心)和软件编程模型(API、工具链、库),旨在让开发者用类似 C/C++ 等主流语言编写并行计算程序,而非仅用于图形渲染。注意,这里说的不是哪个几点几的小版本号,而是Tensorflow分为两大类版本,CPU版本和GPU版本,它们在安装方式、依赖和性能上有明显区别。安装后建议通过示例代码验证环境,确保模型能正常训练和推理。同样,安装完成后可以在Python中导入。

2025-07-09 11:44:47 1250

原创 图像识别之图像的卷积

在图像处理中,卷积是一种重要的特征提取和处理手段。图像是一个二维的像素矩阵,卷积核(也叫滤波器)是一个小的二维矩阵。对图像进行卷积运算时,卷积核在图像上滑动,在每个位置,将卷积核与图像对应区域的像素值进行元素相乘,然后将结果相加,得到卷积后的输出像素值。作用:不同的卷积核可以实现不同的图像处理效果,比如使用高斯卷积核进行卷积运算,可以对图像进行平滑处理,减少噪声;使用边缘检测卷积核(如 Sobel 算子、Canny 算子),可以检测出图像中的边缘信息,突出物体的轮廓。

2025-07-08 18:03:46 614

原创 深度学习之迁移学习

迁移学习通过 “知识复用” 打破了传统机器学习 “每个任务孤立训练” 的限制,尤其适合数据有限或计算资源受限的场景。从预训练模型微调(如 BERT、GPT)到跨领域知识迁移,它已成为现代 AI 的核心技术之一,推动了医疗、自动驾驶、NLP 等领域的快速发展。未来,随着多模态预训练模型(如 CLIP、GPT-4)的兴起,迁移学习的应用范围将进一步扩大。

2025-07-08 07:48:22 727

原创 认识神经网络和深度学习

神经网络(Neural Network)是一种模仿生物神经系统(如大脑神经元连接方式)设计的计算模型,通过多层 “人工神经元” 的互联,实现对数据的非线性关系建模,是机器学习和人工智能的核心技术之一。其核心能力是从数据中自动学习规律(如分类、预测、特征提取),无需人工编写具体规则。一、神经网络的基本结构神经网络由多个 “层” 组成,每层包含若干 “神经元”(Neuron),神经元之间通过 “权重”(Weight)连接,形成类似生物神经网络的信号传递路径。

2025-07-08 07:43:17 821

原创 机器学习:无监督学习之聚类

Kmeans(K - 均值聚类)是机器学习中最经典的无监督学习算法之一,用于将无标签数据自动划分为 K 个不同的簇(类别)。核心思想:假设数据由 K 个高斯分布混合生成,通过 EM 算法估计每个分布的参数(均值、协方差),样本属于概率最高的分布对应的簇。核心思想:DBSCAN 的改进,通过计算 “可达距离” 生成聚类顺序图,可在不同密度下识别簇,减少对参数的依赖。“均值” 的含义: 每个簇的中心是该簇所有样本在特征空间中的平均值(例如二维空间中,质心是所有点的坐标平均值)。

2025-07-08 07:33:46 905

原创 机器学习:更多分类回归算法之决策树、SVM、KNN

决策树是一种强大且直观的机器学习算法,适合处理非线性关系和需要可解释性的场景。虽然它存在过拟合风险,但通过剪枝、集成学习等优化手段,决策树在实际应用中仍然表现出色,尤其是作为集成模型(如随机森林)的基础组件。

2025-07-08 07:28:52 1959

原创 机器学习之逻辑回归

逻辑回归(Logistic Regression)是一种用于解决分类问题的统计学习方法,尽管名称中带有 “回归”,但它本质上是一种分类算法,尤其适用于二分类问题(即结果只有两种可能,如 “是 / 否”“正 / 负”)。核心思想逻辑回归的核心是通过Sigmoid 函数(也称为 Logistic 函数)将线性回归的输出(连续值)映射到 [0,1] 区间,从而表示 “属于某一类别的概率”。与线性回归的区别适用场景。

2025-07-08 07:19:45 469

原创 机器学习之线性回归

适用于小规模数据且特征数较少的情况。

2025-07-06 19:52:48 831

原创 注意区分传统机器学习和深度学习

2025-07-05 13:37:05 1171 1

原创 CMake之CMakeLists.txt语法规则

而第三个参数则是一个数学运算表达式,支持的运算符包括:+(加)、-(减)、*(乘)、/(除)、%(求余)、|(按位或)、&(按位与)、^(按位异或)、~(按位取反)、<<(左移)、>>(右移)以及这些运算符的组合运算,它们的含义与 C 语言中相同。需要注意的是,源文件路径既可以使用相对路径、也可以使用绝对路径,相对路径被解释为相对于当前源码路径(注意,这里源码指的是 CMakeLists.txt 文件,因为 CMakeLists.txt 被称为 cmake 的源码,若无特别说明,后续将沿用这个概念!

2025-07-03 21:50:44 754

原创 Cmake简介与基本使用概述

大都数的 IDE 都有这个工具,譬如 Visual C++的 nmake、linux 下的 GNU make、Qt 的 qmake 等等,这些 make 工具遵循着不同的规范和标准,对应的 Makefile 文件其语法、格式也不相同,这样就带来了一个严峻的问题:如果软件想跨平台,必须要保证能够在不同平台下编译,而如果使用上面的 make 工具,就得为每一种标准写一次 Makefile,这将是一件让人抓狂的工作。还好每一个都不复杂!所以,意味着最终生成的库文件对应的名字会自动添加上前缀和后缀。

2025-07-03 21:48:24 842

原创 windows下安装和使用git

对于绝大多数用户日常使用的桌面电脑(Windows PC、传统 x86 架构的 Mac 等),x64 是当前的主流架构。只有少数特殊设备(如苹果 M 系列 Mac、部分 ARM 架构的轻薄本)采用其他架构,但整体占比不高。

2025-07-03 11:24:46 847

原创 在开发板I.MX6U上进行QT开发

选择 fsl-imx-x11-qt5 工具链:若开发 i.MX 平台的 Qt 应用,特别是需要硬件加速或 X11/Wayland 支持。选择 arm-linux-gnueabihf-g++:若开发简单 ARM 程序,或需自行控制所有依赖的编译过程。关键点:fsl 工具链是为 i.MX 平台深度定制的 “一站式” 解决方案,而。

2025-07-03 07:58:11 844

原创 QT常用类和模块

Qt 对数据库的基本操作流程大概是这样子,当然 Qt 提供了很多操作数据库的类,我们只讲解基本的与常用的就已经足够了。Qt SQL 模块里包含了很多个类,可以轻松实现数据库的连接、执行 SQL 语句,获取数据库里的数据与界面显示等功能,一般数据与界面之间会采用 Model/View架构,从而很方便的显示数据界面和操作数据库。绘图和图表的内容本章主要介绍绘图和图表的基本操作,以简单的例子呈现绘图与图表的用法,目的就是快速入门绘图与图表,关于绘图与图表详解最好是看 Qt 官方的帮助文档。

2025-07-03 07:44:33 717

原创 QT入门基础知识总结

Qt 是原生应用开发框架,通过 C++ 直接操作操作系统和硬件,适合高性能、深度定制的界面;前端是Web 生态的界面层,依赖浏览器或容器,适合快速迭代、跨平台部署的轻量级应用。二者虽都涉及界面交互,但技术路径和适用场景截然不同,选择取决于具体需求:若需开发桌面软件、嵌入式系统或高性能应用,选 Qt;若需开发网站、小程序或跨平台 Web 应用,选前端技术栈。

2025-07-03 07:15:02 691

原创 认识OpenCV视觉处理库

OpenCV(Open Source Computer Vision Library)是一个广泛用于计算机视觉任务的开源库,其核心代码主要使用 C++ 编写,同时提供了多种语言的接口。一、OpenCV 的底层语言:C++性能优先:C++ 是一种高性能语言,适合处理计算机视觉中的大量计算任务(如图像滤波、特征提取、深度学习推理等)。跨平台支持:C++ 代码可在 Windows、Linux、macOS、Android、iOS 等多种操作系统上编译运行。API 基础:OpenCV 的原生 API(如。

2025-06-24 17:22:36 670

原创 认识Scikit-learn/PyTorch/TensorFlow这几个AI框架

PyTorch 提供了。

2025-06-24 17:22:17 1265

原创 认识NumPy/Scipy/Pandas/Matplotlib这几个Python库

数据清洗(Data Cleaning) 是数据分析与机器学习流程中的关键步骤,指的是识别并纠正(或删除)数据集中的不准确、不完整、不一致或重复信息的过程。通俗来说,就是把 “脏数据” 变成 “干净数据”,为后续分析和建模打下基础。

2025-06-24 17:21:50 1185

原创 图像和视频处理基础知识总结

自然光线(含RGB三色) → 拜耳滤镜选择性过滤(仅允许单一颜色透过) → 感光二极管感知光强并产生电荷 → ADC转换为数字信号(单一颜色的强度值) → 插值算法根据相邻像素估算缺失色彩 → 合成完整RGB像素 → 色彩校正(白平衡、伽马变换等)→ 最终彩色图像核心结论:感光单元与光电效应是色彩记录的基础,但仅能提供单通道光强信号;色彩信息的完整记录依赖滤光片的分光作用和后期插值算法,二者缺一不可。

2025-06-19 11:04:51 827

原创 数字图像与视频压缩编码

2025-06-19 11:04:26 780

原创 RV1126开发之基础知识总结

MIPI 摄像头凭借高速、低功耗和抗干扰的特性,成为移动设备和嵌入式场景的主流选择;而其他接口(如 USB、GigE Vision、Camera Link 等)则根据传输距离、带宽需求、成本和应用场景的不同,在工业、医疗、消费电子等领域发挥作用。选择摄像头接口时,需结合设备尺寸、画质要求、传输距离和系统兼容性综合考量。

2025-06-19 11:04:20 1262

原创 AI应用:计算机视觉相关技术总结

计算机视觉通过融合传统算法与深度学习,从基础的图像特征提取发展到复杂的场景理解与推理,已广泛应用于各行业。未来,随着大模型、多模态技术的发展,计算机视觉将向更智能、更贴近人类认知的方向演进,同时在边缘计算、实时性等领域面临更多工程挑战。

2025-06-14 08:48:54 1159

原创 嵌入式AI?

嵌入式 AI(Embedded AI)是指将人工智能技术与算法集成到嵌入式系统中,使设备能够在本地(无需依赖云端服务器)实现数据处理、分析和决策的技术形态。它融合了嵌入式系统的实时性、低功耗特性与AI 的智能化能力,让传统硬件设备具备 “边端智能”,适用于对响应速度、隐私保护、网络依赖性要求高的场景。核心特点本地化运行无需联网即可完成数据处理和决策,避免网络延迟和断网风险(如自动驾驶汽车在隧道中实时避障)。保护用户隐私:敏感数据(如人脸、医疗信息)无需上传云端,直接在设备端处理。低功耗与轻量化。

2025-06-10 08:11:35 1263

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除