自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解决嘉立创导出封装到PADS导出不全的问题

你每个都选一下一个一个导入PADS总有一个是可以的。你选择导出的时候,可以选择对象的。这是因为你选择的对象不对。

2025-12-31 11:26:10 205

原创 PADS 按下Ctrl + 滚轮会导致程序卡死的解决办法

这个问题常出现在Win10系统版本兼容问题上。右键中那个字或叫作右键输入法打开设置。往下滑找到兼容性把那个选中就行。是因为中文打字软件惹的祸。

2025-12-30 11:20:27 160

原创 Failed to start gdm.service - GNOME Display manager

如果你在启动虚拟机Ubuntu时,遇到“Failed to start gdm.service - GNOME Display manager”报错、图形桌面无法加载,甚至在修复过程中出现“gdm3.service not found”的问题,这篇指南会帮你一步步解决。2. 选择菜单中的**“Advanced options for Ubuntu”**(第二个选项),按Enter进入;虚拟机Ubuntu图形桌面启动失败:“gdm.service未找到”完整解决指南。步骤1:清理冲突的显示管理器。

2025-12-07 12:42:03 641

原创 BETAFLIGHT遇到一推动油门陀螺仪姿态直接乱转然后挂掉怎么办

我的是F405RGT6烧的是4.4.1的我换成4.4.2就可以了。先把你的配置预设导出来,然后换个固件烧录再导入预设就解决了。

2025-11-07 23:09:39 123

原创 I2C 多字节读写的规范与模板

模板:I2C 多字节读写的基本流程为:以下从四个核心维度对比两组实现,揭示多字节读写的规范设计与常见错误。规范要求:I2C 协议中,主机通过应答信号控制从机的数据传输节奏:代码对比:早期版本(易错): 问题:依赖内部隐含的应答逻辑,未显式调用应答发送函数(如)。若底层函数实现有误(如未根据发送 NACK),会直接导致从机数据发送失控。规范版本: 优势:显式控制应答信号,完全符合 I2C 协议规范,无论底层函数如何实现,均能确保从机正确启停。易错点总结:规范要求:I2C 从机(如 MPU

2025-11-04 15:23:46 874

原创 MPU6050 DMP 移植中 mpu_run_self_test () 自检失败的原因与解决方法

多数 MPU6050 模块仅集成加速度计和陀螺仪,未包含磁力计(AK89xx)。但如果移植的 DMP 代码中默认定义了(即假设存在磁力计),自检逻辑会强制检测磁力计状态。由于实际硬件无磁力计,磁力计自检必失败(0x04 位无法置位),导致返回值永远无法达到 0x07,这是最易忽略的原因。

2025-11-04 15:08:22 343

原创 betaflight基于自制特殊固件配置文件的 F405 飞控固件升级与配置迁移指南(附 AI 沟通命令适配技巧)

“我使用 F405 飞控(型号 MATEKF405CTR),固件版本 Betaflight 4.5.1,上位机 Betaflight Configurator 10.10.0,需要配置 SD 卡存储,旧配置里的。通过以上方法,无论你的自制固件有多少特殊配置,都能通过 “版本信息 + AI 沟通” 精准适配命令,彻底解决固件升级中的配置兼容问题,让飞控按你的预期稳定工作。和 AI 沟通时,不能只问 “SD 卡命令叫什么”,必须带上 “版本信息包”,否则 AI 无法判断适配命令。

2025-11-02 13:39:08 1078

原创 固件能适配多种硬件的核心思想

传统固件适配模式是 “一对一绑定”(为特定硬件写死地址和驱动),而这种 “地址访问 + WHO_AM_I 验证” 的思想,本质是将 “固件与硬件的直接绑定” 转化为 “固件与硬件身份的逻辑关联”地址解决 “通信链路” 问题,确保固件能找到硬件;WHO_AM_I 解决 “硬件身份” 问题,确保固件能认清硬件;预存驱动解决 “适配逻辑” 问题,确保固件能正确控制硬件。

2025-10-29 10:16:01 923

原创 Betaflight 中如何能适配多种陀螺仪与地磁计

按地址找设备:根据设置的地址(如 28),在 I2C 总线上发送 “寻址信号”,找到对应设备;读 ID 确认型号:向找到的设备发送 “读取 WHO_AM_I 寄存器” 指令,根据返回的 ID 值,匹配内置的驱动列表(如 HMC5883L 对应0x48,QMC5883L 对应0xFF加载对应驱动:确认型号后,调用该型号的初始化函数(如设置量程、采样率)、数据读取函数,完成适配。

2025-10-29 10:13:01 718

原创 BETAFLIGHT CLI教程 带有串口软件进入cli模式教程

Betaflight 的 CLI(命令行界面)看似复杂,其实核心是 “”—— 比如硬件引脚重映射、批量参数修改、传感器适配等。下面从 “入门准备→进入 CLI→核心命令→实战场景→避坑指南” 一步步讲透,全程结合实例,新手也能跟着操作。

2025-10-28 23:42:47 1529

原创 手把手制作飞控:从 PCB 画板到 Betaflight 固件配置全流程(无需修改底层源码)

底层驱动标准化:主流 MCU 的 SPI/I2C 总线驱动、陀螺仪驱动已内置,无需重复开发;上层配置灵活化resource指令实现引脚映射,set指令实现总线声明,无需编译源码;新手友好化:地面站可视化操作,降低飞控制作门槛,让更多开发者能专注于硬件设计与功能优化。只要遵循 “硬件引脚对应标准化总线 + 地面站配置匹配硬件” 的原则,即使是新手,也能在 1-2 天内完成一款基础飞控的制作。后续若需适配其他陀螺仪(如 ICM42688P),仅需修改 CLI 指令中的。

2025-10-28 23:23:29 1689

原创 BETAFLIGHT固件如何更改陀螺仪引脚适配自己画的板子,带有教程实例

软件 SPI 依赖 CPU 手动模拟时序,速率仅几十 kHz(远低于硬件 SPI 的 MHz 级),且占用大量 CPU 资源,会导致陀螺仪数据延迟、姿态计算卡顿,甚至引发飞行失控。这些 SPI 总线是 “通用通信通道”,只要陀螺仪支持 SPI 协议,即可接入任意一个空闲的硬件 SPI 总线 —— 这是引脚方案改动的核心前提。软件配置只是 “指令”,最终需通过 PCB 接线落地,核心是 “陀螺仪的 SPI 引脚与飞控对应引脚一一连通”,同时规避硬件风险。” 的流程,确保软件配置与硬件设计完全同步。

2025-10-28 23:18:51 1179 4

原创 Linux 驱动开发中,主设备号和次设备号不同的两个驱动能否正常工作

在 Linux 驱动开发中,

2025-10-28 12:10:11 463

原创 Linux用户层函数本调用的是驱动层的实现函数但为啥参数不一样

是给应用程序开发者使用的 “接口”,目的是让用户能简单、统一地操作各种设备或文件(无论底层是磁盘文件、串口设备还是自定义驱动)。:是内核内部的 “实现函数”,负责具体处理设备的硬件操作或数据交互。内核需要更多底层信息来管理设备(比如设备的 inode、打开的文件实例、数据在用户空间的具体位置等),因此参数更复杂,包含内核管理所需的结构体。结构体,内核需要通过它们找到对应的设备,释放该文件实例占用的资源(如缓存、硬件状态等)。用户空间的系统调用参数和驱动回调函数参数之间的转换,是由内核的。

2025-10-27 22:22:10 917

原创 深入理解 Linux 内核中的 __iomem:I/O 内存访问的 “安全标签”

_iomem// 兼容模式下的定义(如部分编译器不支持扩展属性)但这只是表象。// 主流架构下的实际定义无论形式如何,__iomem的本质是一个用于标记 “I/O 内存指针” 的类型限定符。它不分配内存,不修改指针值,只为编译器和开发者提供 “类型元信息”。__iomem。

2025-10-27 18:10:09 1063

原创 Betaflight加装SD卡作为黑匣子教程

注意与FAT不一样。

2025-10-22 19:59:07 750

原创 阿尔法imax6ull报错:bus@02000000/ethernet@020b4000/mdio/ethernet-phy@2 node WARNING: could not set reg pro

你电源不够,导致网卡没有完全启动。

2025-10-22 19:50:17 126

原创 无人机电调协议解析与代码配置适用于PWM协议,betaflight固件内部PWM协议 适用于常见商用电调

如图就是启动PWM信号展示,其是周期2ms的PWM,50%占空比,这个信号既表示停止也代表不转,然后有效驱动占空比范围为50%-100%,一旦超出这个范围就会导致电机乱叫。周期2ms的PWM,50%-100%占空比代表最慢最快转速。启动信号就是周期2ms的PWM,50%占空比。时刻观察你的电源是否充足,不充足电调跑不满。

2025-10-20 15:05:34 437

原创 虚拟机与Linux板卡本来连接的好好的,突然网络是用不了了是为什么:

就是网络0与1的桥接换一下试试就好了。

2025-10-19 12:54:27 142

原创 为什么可执行文件与要烧录的bin文件的制作复杂程度差那么多?

维度可执行文件(ELF)烧录用 bin 文件(纯二进制)依赖环境有操作系统(如 Linux),依赖 OS 解析格式无操作系统,依赖 bootloader 直接加载包含信息机器码 + 符号表 + 段表 + 调试信息等仅机器码(无任何额外信息)生成工具gcc一站式处理(自动调用ld需gcc(编译)→ld(指定地址)→objcopy(转格式)典型用途在 Linux 系统中直接运行(如./print烧录到 Flash 或通过 U-Boot 加载(裸机程序)

2025-10-15 23:34:23 649

原创 嘉立创泰山派用户注意!启动一直亮白灯并报错Android image load failedAndroid boot failed, error -1.别急删系统,先查电流!

泰山派开发板对电源稳定性要求极高,电流不足是启动失败的最常见原因,而非 SD 卡文件损坏。遇到问题时,优先排查电源和外设,避免因误操作丢失宝贵数据。按照本文步骤逐步验证,90% 的启动故障都能轻松解决!如果本文对你有帮助。

2025-10-15 21:51:15 450

原创 开发板启动报错别慌删!这些故障真不是 SD 卡文件的锅

不少开发板用户(尤其是无 eMMC 的 SD 卡启动机型)遇到启动报错时,第一反应就是 “SD 卡文件坏了”—— 赶紧格式化删文件、重新烧录系统,结果不仅之前的资料全丢,新系统烧完还报同样的错。就像最近有用户遇到的“Could not find baseparameter partition” 等报错,反复烧录仍无效,才发现根本不是 SD 卡文件的问题。今天就结合这份典型启动日志,聊聊遇到这类故障该先做什么,避免白丢资料白忙活。

2025-10-15 21:42:21 1238

原创 Ubuntu 16.04 配置 Betaflight 源码编译环境完整指南

目录路径正确性确保存在(通过复制实现);所有make命令必须在根目录执行。MCU 型号匹配飞控型号需与对应的 MCU 配置一致(如对应STM32F405可通过软链接或编译参数MCU_SERIES关联配置。编译器与仓库警告处理高版本 GCC 需在 Makefile 中添加忽略特定警告;非 Git 仓库目录需通过git init初始化以消除版本信息警告。

2025-10-15 11:37:06 833

原创 嘉立创泰山派部署yolo ai 实例教程:泰山派嵌入式AI开发实战教程,嘉立创泰山派(RK3566)RKNN 模型部署实战教程

嘉立创泰山派搭载瑞芯微RK3566 处理器,内置 0.8TOPS 算力的嵌入式神经网络处理器(NPU),支持低功耗、高并行的神经网络运算,非常适合边缘端 AI 推理场景。RKNPU2:NPU 运行库与编程接口,负责板端模型推理;(安装在泰山派上):PC 端开发工具,支持模型转换(TensorFlow/PyTorch/ONNX 等→RKNN)、量化、性能评估;(安装在虚拟机上):板端轻量工具,用于部署 RKNN 模型并执行推理。本教程以。

2025-10-14 00:10:25 1466

原创 自用,正点Linux虚拟机系统文件概况

进入到虚拟机里的出厂系统文件系统目录下,解压压缩包后即可执行指令查看文件系统版。

2025-10-10 17:25:24 254

原创 自我记录,重新挂载指令

【代码】自我记录,重新挂载指令。

2025-10-09 14:32:42 433

原创 解决 VNC 远程连接无法复制粘贴的完整指南

在通过 VNC(如 TigerVNC、RealVNC、VNC Server for Linux)实现本地与远程设备(Linux 系统为主)的远程连接时,常出现 “本地复制文本 / 文件后,无法粘贴到远程端;通过以上步骤,可解决绝大多数 VNC 无法复制粘贴的问题,核心是确保 “配置启用同步 + 依赖组件齐全 + 服务重启生效”。VNC 的复制粘贴功能依赖两大核心:一是 VNC Server(远程端)需开启 “剪贴板同步” 配置,确保本地与远程的剪贴板数据互通;二是远程端需安装并运行剪贴板依赖组件(如。

2025-10-08 23:39:11 2064

原创 Linux(含嵌入式设备如泰山派)VNC 完整配置指南:含开机自启动(适配 Ubuntu/Debian 系)

手动启动 VNC 服务并加载图形桌面;VNC 服务 “开机自动运行”,重启后无需手动操作;远程设备(电脑 / 手机)可稳定连接 Linux 桌面。核心关键是systemd 服务配置—— 通过文件,将 VNC 注册为系统服务,确保其随系统启动而自动运行,彻底解决 “重启后 VNC 失效” 的问题。

2025-10-08 19:18:11 2127 1

原创 彻底解决 Linux 下「ERROR: [Errno 28] No space left on device」安装包失败问题

的本质是「目标分区空间不足」,嵌入式设备重点是激活闲置存储,通用系统重点是清理冗余 + 迁移临时目录。让安装过程中的「解压、缓存、临时文件」都放到空间充足的分区,而非挤在满溢的根分区。按本文步骤操作后,无论是安装 YOLO、OpenCV 还是其他大软件,都能彻底避开空间不足问题。

2025-10-08 18:19:36 934

原创 泰山派无 eMMC 版 + YOLO(Ultralytics)YOLO环境部署完整安装指南:解决 SD 卡空间浪费 + TMPDIR 永久配置

本文针对泰山派无 eMMC 版的硬件特性,先解决 “SD 卡空间浪费” 的根本问题,再通过 “TMPDIR+PYTHONPATH 永久配置” 确保环境稳定,最后安装 YOLO,形成 “硬件→环境→软件” 的完整闭环。所有大文件(安装包、临时文件、模型)都放到激活后的闲置分区,彻底摆脱根分区 5-6G 的限制,满足 YOLO 目标检测的存储需求。

2025-10-08 18:15:02 525

原创 Linux也分“C盘”“D盘”,如果你是SD卡开发,要有盘符意识

通过强制指定路径,再配置PYTHONPATH,就能让所有 Python 库安装到 20 多 G 的 “D 盘”,彻底避免根分区(C 盘)爆满。这种方法比 Windows 更灵活,无需修改系统盘分区,直接通过 “路径指定 + 软链接” 实现空间的灵活分配。后续安装任何 Python 库都用这个方法,根分区的空间会一直保持充足,系统也不会因空间不足而卡顿。

2025-10-08 14:26:04 774

原创 泰山派无 eMMC 版:嘉立创 Linux 镜像 “大 SD 卡资源浪费” 问题解析与解决

嘉立创 Linux 镜像的 “大 SD 卡资源浪费”,本质是 “兼容性优先的固定分区表” 导致,而非硬件或镜像损坏 —— 通过定位闲置大分区(p8)→ 格式化→ 挂载,即可让 32G 卡的空间完全可用,无需寻找第三方镜像。

2025-10-08 14:05:10 781

原创 嵌入式 Linux(以泰山派为例)忘记 SSH 密码怎么办?无需重装系统的重置方案

忘记嵌入式 Linux(泰山派)的 SSH 密码无需恐慌,核心是通过本地操作(显示器 + 键盘)重置密码—— 无论是root还是普通用户,都能通过 “可写挂载根分区 +passwd命令” 快速解决,无需重装系统,且不会破坏之前的系统配置(如 23.4G 大分区挂载、已安装的软件)。若后续想彻底避免 “忘记密码” 的麻烦,推荐配置 SSH 密钥登录,既安全又无需记忆密码,适合长期远程管理嵌入式设备。

2025-10-08 13:53:38 1115

原创 嵌入式Linux(以泰山派无 eMMC 版为例,嘉立创给的Linux镜像有问题!)系统报错磁盘不够但我用的是32G不可能不够怎么解决

问题现象根本原因解决方案32G SD 卡报磁盘不足根分区仅 5.9G,23.4G 大分区未识别格式化并挂载 mmcblk1p8 到 /mnt/large_storage根分区 100% 占用2.1G 无效 swapfile + 日志缓存累积删除 swapfile 和日志文件SSH 登录 Access deniedPermitRootLogin 默认禁止 root 密码登录修改 sshd_config 为 PermitRootLogin yes大分区挂载后显示 4M。

2025-10-08 13:50:11 1027

原创 Linux驱动开发与BuildRoot是什么关系与其的应用场景

Buildroot:嵌入式 Linux 系统的 “构建工具”,负责从源码编译出定制化的系统镜像,适合嵌入式产品开发;学习驱动没见过:因为学习阶段的重点是 “掌握驱动开发技术”,用的是现成的系统 / SDK,不需要自己构建系统,Buildroot 被封装或无需使用;后续用途:当你需要做 “定制化嵌入式产品”(如最小系统、集成自定义驱动)时,Buildroot 会成为核心工具之一。简单说:学习驱动时,你是 “用系统”;用 Buildroot 时,你是 “造系统”—— 场景不同,工具的必要性也不同。

2025-10-06 12:10:45 893

原创 市面上常见显示屏接口与对应的引脚

50Pin。

2025-10-05 18:18:26 1482

原创 Linux驱动开发详解,我们为什么要学imx6ull.泰山派.鲁班猫等的Linux开发案例

内核框架是核心:Linux 驱动开发的核心是 “调用内核接口”,而非直接操作硬件 ——I2C 底层时序、GPIO 配置等由芯片厂商的控制器驱动实现,你只需关注 “传感器的协议解析”;设备树是桥梁:通过设备树描述硬件,替代裸机开发中的 “硬编码引脚”,实现驱动与硬件解耦;驱动是内核模块:无 main 函数,通过insmod加载到内核,运行在内核空间,与用户态应用通过设备节点交互;区别于 STM32。

2025-10-03 00:31:03 867 1

原创 关于Linux开发的基本认识,我们为什么要学imx6ull.泰山派.鲁班猫等的Linux开发

角色核心工作依赖资源难度等级芯片厂商1. 适配芯片核心硬件(CPU、内存、控制器)2. 开发板基础外设驱动(屏幕、网卡)3. 提供 BSP 包(适配内核 + 设备树)芯片硬件手册、内核源码修改权限、定制工具链★★★★★普通开发者基于厂商接口,开发定制外设驱动(传感器、电机、摄像头)厂商 BSP 包、内核文档、社区案例★★★☆☆高级开发者修改厂商底层驱动(适配新屏幕、扩容内存、修复驱动 bug)厂商开放的完整驱动源码、详细硬件手册★★★★☆。

2025-10-03 00:21:58 761

原创 传感器级联的好处,EDA/ECL XDA/XCL到底起到什么作用

对比维度并行挂载(当前设计)级联挂载(MPU 转发)物理传输速率与总线时钟一致(如 400kHz)与总线时钟一致(无提升)主控通信交互次数2 次(分别访问 MPU、QMC)1 次(仅访问 MPU)总通信耗时两次指令帧 + 两次数据帧耗时一次指令帧 + 一次合并数据帧耗时(更短)主控资源占用需管理两个设备的 I2C 地址和时序只需管理 MPU,逻辑更简单额外延迟无(直接通信)微秒级转发延迟(通常可忽略)

2025-09-30 09:59:32 952

原创 FT5206GE1屏幕驱动 适配STM32F1 型号SLC07009A(记录第一次完全独自编写触摸板驱动)

链接: https://pan.baidu.com/s/1XEeFNl00n32Ar8rniFh9Ew?pwd=qjus 提取码: qjus。其实驱动就是iic时序也简单,只是这个屏幕和实际的引脚不同,而且没有内置上拉,只能你自己外接一个。根本不是文档里面的那个屏幕引脚,这个是我照着灯看着芯片引脚和排线一根一根算出来的,真是可恶的商家。剩下的代码就是时序不一样,他比正常的iic之间多了一个stop。通过网盘分享的文件:FT5206GE1屏幕驱动.zip。首先,用到的几个文件和STM32代码在这里。

2025-09-17 23:16:51 380

stm32f103zet6部署lvgl到4.3寸spi屏幕 芯片为ILI9488 SKU:MSP3520

stm32f103zet6部署lvgl到4.3寸spi屏幕 芯片为ILI9488 SKU:MSP3520

2025-02-24

电赛小车四驱五路红外加超声波

电赛小车四驱五路红外加超声波

2024-06-22

空空如也

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

TA关注的人

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