- 博客(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
原创 【总结】关于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_2 Linux 字符设备访问流程(设备号、file、file_operations、inode)
Linux 字符设备访问流程(设备号、file、file_operations、inode)
2026-03-08 17:27:52
449
原创 【嵌入式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
原创 【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
原创 【环境配置 安装 】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预积分思路 思维导图
2024-07-04
C Primer Plus (中文版)第8章编程练习 参考答案(仅供参考~)
2023-12-18
牛顿迭代法c和matlab的代码 (分别为单个方程和多元非齐次线性方程的示例)
2023-11-24
思维导图-谢钢《GPS 原理与接收机设计》(1-6章)
2023-11-16
对于这个matlab的代码 为什么一样的系数 得到的结果不一样呀
2023-11-24
想问这个c语言bug在哪?
2021-07-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅