自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 问答 (1)
  • 收藏
  • 关注

原创 【嵌入式linux学习_OV8858 bring up】L2_V4L2与Ov8858

本文介绍了Linux内核中V4L2框架的基本结构和驱动实现原理。

2026-08-02 23:05:30 315

原创 【嵌入式linux学习_OV8858 bring up】L1_从Sensor到RK3588发生了什么

本文主要介绍了在RK3588平台上调试OV8858摄像头模组的过程,重点分析了关键的设备树配置原理。

2026-08-02 21:26:22 319

原创 【xv6学习】L0_环境配置

xv6 环境搭建与学习笔记

2026-07-30 14:18:25 197

原创 【总结】关于ISP芯片小总结

本文总结了ISP芯片从需求定义到流片的完整开发流程:1)产品团队提出功能需求;2)算法团队设计图像处理模块;3)建立C参考模型;4)IQ工程师调优参数;5)RTL硬件设计;6)功能验证;7)FPGA原型验证;8)ASIC流片。整个流程围绕C Model展开,涉及算法设计、硬件实现、参数调优和软硬件协同验证,最终产出满足图像质量要求的ISP芯片。该流程强调各环节的衔接与验证,确保芯片功能正确性和稳定性。

2026-07-12 17:31:07 222

原创 【AI工具使用配置记录】claude本地安装和使用

本文提供了Claude AI工具的安装与使用指南。主要内容包括:1)Claude的安装教程,附图文文档和B站视频链接;2)多智能体协作功能的使用方法,展示如何创建包含3个不同任务角色的团队;3)技能安装指南,提供官方GitHub仓库地址和简化安装提示词。文章还包含多个相关技术博客链接,涵盖Claude的进阶应用技巧。

2026-05-10 22:40:22 76

原创 【工具使用——代码版本版本管理】Gerrit

Gerrit代码评审系统使用指南 Gerrit是一个基于Git的强制代码评审系统,所有提交必须通过审核才能合入。核心特点包括: 使用Change和Patch Set管理修改(每个Change可包含多个Patch Set版本) 通过refs/for/*提交代码进入审核流程 与GitHub/GitLab不同,审核是强制性的 集成CI系统进行自动化验证 开发流程包括:克隆代码→创建分支→提交commit→push到refs/for/*→评审→修改→合入。关键操作包括: 使用rebase同步代码(避免merge c

2026-04-06 21:07:10 609

原创 【嵌入式linux学习】0_3位运算整理

本文总结了位运算的常见操作技巧,包括提取特定位段、替换位段、位翻转、循环右移

2026-03-23 10:18:39 337

原创 【嵌入式linux学习】0_2 Linux 字符设备访问流程(设备号、file、file_operations、inode)

Linux 字符设备访问流程(设备号、file、file_operations、inode)

2026-03-08 17:27:52 449

原创 【嵌入式linux】07_input子系统

嵌入式Linux输入子系统

2026-02-28 22:33:26 1032

原创 【嵌入式linux学习】06_02中断下半部

中断下半部机制在嵌入式Linux中的应用

2026-02-28 19:13:16 929

原创 【嵌入式linux学习】06_01中断子系统

嵌入式Linux中断子系统分析

2026-02-05 21:45:43 1166

原创 【嵌入式linux学习】01_1应用层open怎么到硬件控制

本文详细解析了从应用层调用open()到LED灯闪烁的完整过程。

2026-02-02 14:32:45 831

原创 【嵌入式linux学习】05_设备驱动 IO 控制原理

本文介绍了Linux设备驱动中ioctl接口的工作原理

2026-01-22 13:41:46 719

原创 【嵌入式linux学习】04_Pinctrl 和 GPIO子系统

本文介绍了Linux内核中的Pinctrl和GPIO子系统

2026-01-21 19:14:03 735

原创 【嵌入式linux学习】03_设备树

嵌入式Linux设备树简介

2026-01-20 16:51:14 810

原创 【嵌入式linux学习】02_Platform设备驱动 基于鲁班猫4 rk3588s

介绍了基于鲁班猫4 RK3588S平台的Platform设备驱动开发

2026-01-19 16:31:38 710

原创 【嵌入式linux学习】01_点亮led 基于鲁班猫4 rk3588s + 字符设备一般编写流程

本文介绍了在鲁班猫4 RK3588S开发板上通过GPIO驱动控制LED的方法。

2026-01-18 22:07:42 924

原创 【记录——驱动模块编译】

🌿回顾——首先我们要明白程序最终是运行在板卡上,可以在板卡上编译或者在pc上使用交叉编译器进行编译, 需要下载内核源码或对应内核的头文件(Kernel Headers),之后编译源码、编译驱动模块以及设备树等,最终将驱动模块和设备树拷贝到开发板上运行。驱动模块是具有独立功能的程序,它可以被单独编译,但不能独立运行, 在运行时它被链接到内核作为内核的一部分在内核空间运行。也因此想要我们写的内核模块在某个版本的内核上运行,那么就必须在该内核版本上编译它。❗️ 编译驱动之前需要注意的问题。学习驱动模块的编译的。

2026-01-08 09:19:00 853

原创 【记录——交叉编译】基于鲁班猫4 rk3588s

本文介绍了基于鲁班猫4 RK3588S开发板的交叉编译方法。主要内容包括:1)交叉编译的基本概念,即在PC上使用ARM64架构的交叉编译器编译内核源码,再拷贝到开发板运行;2)交叉编译的必要性,因开发板资源有限无法高效完成本地编译;3)具体操作步骤,包括获取内核源码、设置交叉编译工具链、编译内核等。

2026-01-06 11:09:58 1341

原创 【记录——内核模块加载到内核】基于鲁班猫4 rk3588s

本文记录了在鲁班猫4 rk3588s开发板上加载内核模块的过程。

2025-12-28 16:41:09 964

原创 【git学习】 个人代码版本管理——merge rebase squash

本文介绍了Git版本管理中的分支操作

2025-11-23 16:14:53 1255

原创 【C/C++学习应用】联合体实现字节移位(通信协议转换)

🌈 目前有一个通信协议的转换,需要把原有的帧头/长度/地址的8位扩展到32位,同时需要保证原有通信协议的不变,再将数据发送出去一种比较常用的做法就是把原来的8位先转为32位,然后一个字节一个字节移位,再重新赋值给一个数组,再发送出去。

2025-10-28 09:54:10 598

原创 【Yolov5学习】Yolov5识别流程(门外汉版)

每个尺度(80×80、40×40、20×20)都有预测结果;每层上每个格子有3个anchor;全部展开后可能产生上万个候选框;然后再通过NMS(非极大值抑制)去掉重复的框;剩下的就是最终的检测结果(框住猫、人、狗等)。想象有一张地图(特征图),分成很多小格(网格):每个格子是一个“小侦探”,负责自己那块区域;每个小侦探手里有3种放大镜(3个锚点),专门看不同大小的目标;每个侦探告诉你:“我看到一个猫耳朵形状的东西,在我格子中心偏右下 0.6 的地方,

2025-10-25 12:11:08 1043

原创 【C++】 类静态成员static

C++类静态成员(static)属于类而非对象,所有对象共享同一份拷贝。静态成员变量存储在静态区,生命周期为整个程序运行期。静态成员函数没有this指针,无法直接访问非静态成员。使用时需注意:1)访问控制受类作用域限制;2)线程安全需考虑并发控制;3)继承时可能隐藏基类同名成员;4)初始化顺序需谨慎处理。典型应用场景包括:类级计数器、工具函数、共享配置等需要类范围共享的数据或操作。

2025-10-22 14:10:15 767

原创 【记录 VSCODE +GCC+C++配置】问题解决——thread等C++进程函数用不了的问题

之前配置的gcc不够高 导致thread等C++进程相关的东西用不了 后面上网求证后才发现是因为gcc的版本不够。提供了安装包 把原来的包替换一下可以用啦~下载慢,所以一通查找 找到了这个。

2025-10-21 08:58:34 376

原创 【环境配置 】WSL2 +ubuntu20.04 +Qt配置+Kits配置

【环境配置 】WSL2 +ubuntu20.04 +Qt配置+Kits配置

2025-10-10 14:34:41 1402

原创 【C/C++ 学习】mutable关键字

mutable关键字学习记录

2025-10-08 13:28:30 1163

原创 【C/C++ 线程进程调度】生产者-消费者中 条件变量和互斥锁的使用

本文阐述了生产者-消费者模型中互斥锁和条件变量的配合使用。

2025-10-08 10:41:09 1206

原创 【环境配置 升级gcc】RK3588 Ubuntu20.04 gcc9升级为gcc10

我的系统当前使用的是。现在要升级到gcc10。

2025-10-06 10:19:27 389

原创 【环境配置 安装 】RK3588+Ubuntu20.04+cmake3.22+opencv4.54

RK3588+Ubuntu20.04+cmake3.22+opencv4.54 环境配置记录

2025-10-05 22:27:38 1659

原创 【环境配置bug解决 】opencv下载网络模型超时 fboostdesc_bgm vgg 等文件 -- wechat_qrcode: Download: detect.prototxt

背景是用RK3588+Ubuntu20.04进行配置 在配置opencv的时候出现的一些问题 具体可以看我前一篇blog相关的网络模型传到我的gitee上了包括 -face_landmark_model boost系列 vgg系列这个给提供了另一个思路。

2025-10-05 22:26:54 385

原创 【C/C++】 函数形参—指针传递

讲解了C/C++中函数参数传递的两种方式:值传递和指针传递。通过数值交换的代码示例,清晰地展示了二者的区别。值传递只能操作参数的副本,而指针传递通过解引用可以直接修改原变量的值。文中还通过内存示意图直观呈现了两种传递方式在栈帧中的不同表现,帮助读者理解参数传递的本质。对于C/C++初学者来说,这是理解函数参数传递机制的绝佳教程。

2025-10-02 13:34:53 422

原创 【问题解决】VMware +Ubuntu20.04创建用户后无法登陆的问题

摘要:本文解决了VMware+Ubuntu20.04创建新用户后无法登录的问题。通过分析发现,默认创建的/bin/sh基础shell导致图形界面登录失败。解决方案是使用sudo usermod -s /bin/bash username命令将用户默认shell修改为功能完整的/bin/bash。验证/etc/passwd确认修改成功后,即可正常登录。

2025-09-13 20:53:32 1058

原创 【debug 解决 记录】stm32 debug模式的时候可以运行,但是烧录没法执行

本文分享了STM32开发中遇到的下载程序后板子无反应但调试正常的解决方案。通过调整两个关键设置:1.在魔术棒->Debug->Settings中勾选Flash Download的Reset and Run选项;2.取消Pack->Debug Description的Enable选项。文中配有详细的操作截图指导,帮助开发者快速解决下载后程序无法运行的问题。该方法适用于使用SWD接口调试下载的情况,问题解决后即可正常烧录运行程序。

2025-08-12 10:34:42 1193 2

原创 【bug 解决】串口输出字符乱码的问题

摘要: 在使用STM32H7进行串口通信时,发现115200波特率下输出乱码,而9600波特率正常。经排查发现并非编码问题,而是时钟配置导致波特率误差。高速率下时钟微小偏差会被放大,导致采样错误。解决方案包括:1)使用外部晶振HSE而非内部HSI提高时钟精度;2)在CubeMX中检查USART1时钟源,确保使用PCLK2而非低速CSI。最终通过调整USART1时钟输入为PCLK2成功解决115200波特率乱码问题。该案例说明高波特率对时钟精度要求更高,需注意时钟源选择与配置。

2025-08-12 10:20:29 2092

原创 STM32H7 以太网配置引申的内存问题

本文总结了STM32H7以太网配置中的内存管理问题及其解决方案。由于STM32H7的高性能架构,CPU缓存(Cache)与DMA操作主内存(RAM)时会产生数据不一致问题。通过MPU(Memory Protection Unit)划定特定内存区域(如0x30004000起始的16KB空间),并将其配置为非缓存(Not Cacheable)、共享(Shareable)属性,确保CPU和DMA的数据同步。同时,在lwipopts.h中配置LWIP_RAM_HEAP_POINTER指向该区域,使LwIP协议栈使用

2025-08-10 12:19:57 1701

原创 【STM32 LWIP配置】STM32H723ZG + Ethernet +LWIP 配置 cubemx

本文介绍了STM32H723ZG微控制器与LAN8742以太网PHY芯片的配置方法,使用CubeMX和Keil MDK开发环境。主要内容包括:1)通过CubeMX获取官方例程快速搭建以太网配置;2)手动配置时的关键注意事项,包括DMA描述符和缓冲区的专用内存区域分配(需定位到0x30000000地址的SRAM1/2区域);3)MPU配置要点,强调将DMA区域设置为不可缓存以确保数据一致性。文中提供了具体代码示例和链接器脚本配置方法,并推荐了参考博客资源。该配置方案解决了STM32H7系列在以太网应用中常见的

2025-08-06 17:14:24 1940

原创 【printf重定向至串口】STM32 HAL库/LL库 printf重定向usart

用cubemx重新生成代码后,需要重新写入,很不方便很不方便,我就要累死。本blog记录一下STM32 HAL库 printf重定向usart。生成代码后在usart.c中的begin 和end之间写入如下代码。在usart.c里面加入。然后在main.h 加入。

2025-07-31 08:20:51 571

原创 【开发板基本环境配置】STM32H723ZGT6 Nucleo开发板点灯~记录

本文记录了H7开发板的使用初体验。首先从ST官网下载原理图了解板子结构,接着安装ST-LINK驱动并验证连接。在Keil开发环境中,需注意选择合适的软件支持包版本以避免兼容问题。文章还分享了多个代码仓库和参考博客资源,并演示了通过STM32CubeProgrammer烧录程序和点亮流水灯的过程。适合刚接触H7开发板的初学者参考环境配置和基础开发流程。

2025-07-25 21:45:22 670

原创 【bug解决】 esp32 在WSL-ubuntu20.04环境下找不到设备

在WSL环境下使用ESP32时出现设备识别问题,可通过安装usbipd-win工具解决。具体步骤包括:以管理员身份安装工具,列出USB设备并获取ESP32的BusID,将设备绑定并附加到WSL实例。过程中可能出现设备识别异常,重启后问题可能自行解决。最后即可正常使用idf.py flash命令进行烧录。

2025-07-24 09:09:01 569

IMU预积分思路 思维导图

IMU预积分思路 思维导图 预积分的核心思想是将IMU的观测数据(加速度计和陀螺仪的读数)在两个时间点之间的影响积累起来,形成独立于具体状态的增量。这样,这些增量只与IMU的观测数据相关,与初始状态无关,可以提前计算并重复使用。

2024-07-04

C Primer Plus (中文版)第8章编程练习 参考答案(仅供参考~)

C Primer Plus (中文版)第8章编程练习 参考答案(仅供参考~) 此编程练习参考答案为本人所写,如有错误欢迎大家批评指正~ ~ 如转载请说明来源~

2023-12-18

牛顿迭代法c和matlab的代码 (分别为单个方程和多元非齐次线性方程的示例)

包含两份代码的示例 (欢迎大家批评指正) 关于牛顿迭代法 1. 以c语言编写的牛顿迭代法(单个方程) 2. 以matlab编写的多元线性方程组(多元非齐次线性方程)

2023-11-24

思维导图-谢钢《GPS 原理与接收机设计》(1-6章)

该资源为 谢钢老师的《GPS 原理与接收机设计 》的思维导图~ 通过思维导图的形式可以了解整个知识大概的轮廓,便于记忆~ 免费公开 欢迎大家指正批评~

2023-11-16

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

TA关注的人

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