自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【VSCode】VSCode或者Trae的扩展文件夹以及用户设置文件夹的路径更改到指定位置以及配置Trae的clangd插件

安装VSCode或者Trae后,他们的插件文件夹以及用户设置文件夹的路径默认是在C盘的,注意这里是用户安装版本的vscode版本。以及这里的trae是国际版本(trae.ai),下载地址是,因为国际版可使用国外AI模型。clangd简单来说就是一个语言服务器程序,在这个服务器上安装配置编译器工具链(含 clang 解析器)这种编译器和解析器,即可解析项目代码工程。

2026-03-26 19:37:15 787

原创 【Embedded Development】基于蓝牙模块+VOFA的无线调参方法以及开启蓝牙虚拟串口COM的方法

如果你的系统是重新装的,导致你发现蓝牙设置里扫描设备始终无法扫描到HC05 JDY-31-SPP蓝牙模块设备,你也就无法开启蓝牙虚拟串口COM。如果使用自己或者其他的一些PC端蓝牙小工具,开启的电脑蓝牙功能,在扫描蓝牙设备就可以找到,还可以连接上,但是为什么电脑上就是不显示相应的设备?其实这个功能在这种情况下,需要自己去找到开启。

2026-03-20 15:53:38 37

原创 【随笔】重装系统后开机十几次的同时磁盘的不安全关机计数同步增长的解决方法

在重装系统后,连续几天的开机使用发现,固态磁盘的不安全关机计数同步增长,最后发现是win11的默认功能——快速启动导致的二次开机,导致固态磁盘的不安全关机计数一直增加。解决方法:在控制面板,找到电源里的快速启动选项,将其关闭。不要勾选快速启动就是了。

2026-03-20 15:26:23 47

原创 【随笔】在Notepad官网的Notepad++安装

可直接下载,如果要选择特定版本,请翻页。

2026-03-15 22:30:05 91

原创 【随笔】嵌入式的实验记录——单片机驱动电调以及无刷电机

起初是,不了解电调行情,以至于作者购买了史上勇敢者的电调——拉烟电调(XXD新西达30A无刷电调),以下则是记录驱动这类无刷电调的方法。

2026-02-28 23:11:03 338 1

原创 【SOC】【Linux】基于全志F133+Linux内核的嵌入式Linux开发的学习过程记录

本文介绍了Linux内核开发的基础知识和实践方法,主要包括模块开发、常用数据结构(IDR、链表、红黑树、bitmap、kfifo)以及并发控制机制(互斥锁、自旋锁、信号量、顺序锁、原子操作)。文章详细讲解了线程操作、工作队列、tasklet和等待队列的实现,并提供了完整的代码示例。作者建议学习Linux驱动开发需要C语言和单片机基础,通过B站视频快速入门,强调要掌握独立分析Linux源码和驱动开发的能力。

2026-01-19 23:52:35 770

原创 【FreeRTOS】【MCU】【APM32】基于APM32标准库+FreeRTOS的APM32工程搭建

注释掉三个中断,因为FreeRTOS里已经实现,同时核心时钟SysTick会交接给FreeRTOS。

2026-01-04 23:15:17 916 1

原创 【Embedded Development】【STM32】STM32CubeProgrammer的使用方法介绍以及解决STLink连接后只有一个字符而无法正常连接

使用 STM32CubeProgrammer 连接ST-Link 时,点击连接后仍然未连接,报错 “UR connection mode is defined with the HWrst reset mode”。

2026-01-02 23:19:51 598

原创 【Linux】基于Imx6ull Pro开发板和platform_device+platform_driver框架的LED驱动设计以及上机测试

本文介绍了Linux内核驱动开发的三种设计方式:原始写法、总线设备驱动模型和设备树模型。重点阐述了基于BUS总线+platform_device+platform_driver框架的驱动开发流程,通过LED驱动实例展示了如何实现硬件资源、驱动逻辑和应用接口的三层解耦。具体包括:1)使用platform_device注册物理设备资源;2)编写字符设备驱动提供用户接口;3)通过platform_driver实现驱动与设备的匹配。

2025-12-21 20:41:49 565

原创 【Embedded Development】嵌入式相关编程技巧

此篇文章专用于记录以及汇总嵌入式高级编程技巧。当然这里面就不会去再单独讲解一次合理使用一些关键词(比如const、static、volital)去优化程序代码的情况了。如有错误欢迎在评论区指出,或者有其他的小技巧,也欢迎在评论区分享,以便收录。

2025-12-16 21:51:22 437 2

原创 【STM32】【CLion】CLion中基于MCU串口的printf的重定向

【代码】【STM32】【CLion】CLion中基于MCU串口的printf的重定向。

2025-12-16 19:42:13 123

原创 【RTOS】【Debug】实时跟踪监控FreeRTOS的线程详细资源进行调试的方法推荐

Embedded IDE 扩展Cortex Debug 扩展Arm Assembly 扩展debug-tracker-vscode 扩展RTOS Views 扩展(重要)

2025-12-11 10:30:29 379

原创 【随笔】FreeRTOS视频学习记录点

如有侵权,请联系删除。

2025-12-09 20:39:17 225

原创 【随笔】基于立创天空星青春版STM32F407VET6的关于STM32CubeMX配置的串口的打印信息乱码的解决方法

默认配置的情况下,这里的外部高速晶振为25MHz,但是立创天空星焊接的外部高速晶振实际为8MHz,所以需要改变位8MHz。立创天空星焊接的外部高速晶振实际为8MHz。

2025-12-08 22:24:41 207

原创 【Embedded Development】嵌入式中C语言的重要关键字详解(精华版)

(a.c 中),仅 a.c 可见(加 static 则完全隔离),默认定义下的全局变量无跨文件访问能力。#define GPIOA_BASE 0x40020000 // 硬件地址#define BAUD_RATE 115200 // 波特率#define SYS_CLOCK 72000000 // 系统时钟。

2025-12-07 16:26:57 889

原创 【Linux】【Imx6ull Pro】基于Imx6ull Pro开发板的Linux-C-C++编程学习记录

基于Imx6ull Pro学习Linux开发

2025-12-07 10:36:35 931

原创 【Embedded Development】【bootloader】【IAP】基于MCU的bootloader详细介绍以及基于MCU串口的IAP实战详细教程

Bootloader(引导加载程序)是嵌入式系统中运行于 MCU(微控制器)复位后、应用程序执行前的核心底层软件,是 MCU 启动流程的 “第一道关卡”,其核心作用是初始化硬件、管理程序镜像的加载与更新,是实现嵌入式系统灵活升级、可靠启动的关键组件。注:这里以STM32为例,以boot0/1选择启动方式为主flash启动,在flash开始时就是用户自定义的bootloader开始运行,再调整中断向量表,再移动MSP到Flash的App区域。| 上电启动 |V| 初始化时钟、GPIO、串口 |V。

2025-12-07 10:27:30 929

原创 【Embedded Development】对于MCU的片内内存里的分布区域结构详解

│ FreeRTOS管理的堆空间(SRAM) ││ (由configTOTAL_HEAP_SIZE定义 → static uint8_t ucHeap[]) │││ 步骤2:分配TCB内存 │ │ 步骤3:分配任务堆栈内存 ││ (内核数据结构:任务控制块)│ │ (任务1的独立运行栈) │↓ │ ↓ ││ Task1的TCB │←─────────────┘ │ Task1的任务堆栈 │←───┘│ (存任务优先级、堆栈指针、任务名等)│ │ (存局部变量、函数栈帧等)││ │。

2025-12-07 01:46:33 813

原创 【Embedded Development】通信协议汇总表格记录

名称引脚双工时钟电平 / 信号特点UARTTX、RX(COM)全双工异步单端点对点I2CSCL、SDA半双工同步单端多设备SPI全双工同步单端多设备CAN半双工异步差分多设备USBDP、DM半双工异步差分点对点RS232TX、RX全双工异步单端点对点RS485A、B半双工异步差分多设备。

2025-12-06 15:58:32 245

原创 【Embedded Development】嵌入式面试问题汇总(仅供参考)

本文总结了嵌入式开发面试中的核心知识点,涵盖C/C++基础、嵌入式系统、网络通信和项目经验四个方面。

2025-12-06 00:19:35 1174

原创 【QT】【C++】基于QT的多线程分别管理GUI和运算任务

Q_OBJECTpublic:signals:Q_OBJECTpublic:signals:Q_OBJECTpublic:private:signals:「继承 QThread 重写 run ()」→ 适合单一长期任务,多任务场景效率低、灵活性差;「QObject::moveToThread ()」→ 适合任务灵活、需解耦的场景,可一个线程串行处理多个任务,避免线程浪费;「moveToThread () + QThreadPool」→ 适合。

2025-12-03 21:03:39 1225

原创 【C】简易的环形缓冲区代码示例

环形缓冲区是一种,核心是用「数组 + 读写指针」模拟循环存储,解决普通线性缓冲区 “写满后无法复用已读空间” 的 “假满” 问题。

2025-12-03 19:14:18 315

原创 【Embedded Development】【IIC】【SMBus】原始IIC通信协议与SMBus的区别

SMBus(System Management Bus,系统管理总线)是 1995 年由 Intel、Duracell 等企业联合推出的低速率串行通信总线,核心定位是用于计算机及嵌入式系统中 “系统管理类设备” 的轻量通信,其底层基于 I2C(Inter-Integrated Circuit)总线协议,但在时序、电压、功能规范上做了针对性优化,属于 I2C 的 “子集 + 增强版”。在嵌入式开发中,

2025-12-02 22:20:15 1017

原创 【Embedded Development】【ARM】ARM架构的初步认识

ARM架构凭借RISC的精简特性与灵活的授权模式,在低功耗场景建立了绝对优势;X86架构依托CISC的兼容性与强大的单核性能,牢牢占据高性能计算领域;RISC-V则以开源免费的颠覆性优势,成为架构领域的“后起之秀”。三者并非完全替代关系,而是基于不同应用场景的互补。从发展趋势看,ARM正通过Cortex-X系列向桌面与服务器领域突破,X86架构不断优化能效比以适配移动场景,RISC-V则在物联网与定制化芯片领域快速扩张。理解三者的差异与特性,不仅能明晰芯片技术的发展逻辑,更能把握产业升级的核心方向。

2025-12-02 21:40:26 1044

原创 【Embedded Development】【TCP-IP】关于TCP-IP网络协议的学习记录以及基于TCP-IP网络协议的上层协议的初步理解

TCP-IP协议族采用分层设计思想,将复杂的网络通信流程拆解为多个独立的功能层,每层通过标准化接口为上层提供服务,同时调用下层的服务。这种设计既降低了单一层级的复杂度,又提升了协议的可扩展性和兼容性。通常将其归纳为四层模型(与OSI七层/五层模型对应,一般以五层来标识)。TCP/IP协议主要由网络层的IP协议 和 传输层的TCP协议组成。IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都属于 TCP/IP 协议,他们与 TCP 或 IP 的关系紧密。

2025-12-02 21:38:28 1287

原创 【Embedded Development】基于U-Boot源码+Imx6ull的U-Boot详细解析

摘要:U-Boot是嵌入式领域主流的开源引导程序,负责硬件初始化并加载操作系统。本文详细解析了U-Boot的架构、功能和启动流程。U-Boot采用模块化设计,支持多种嵌入式芯片和存储介质,提供硬件初始化、操作系统引导、环境变量管理等功能。文章以IMX6ULL开发板为例,介绍了U-Boot的编译流程,包括配置、编译和镜像生成过程。同时分析了顶层Makefile的结构和关键模块,说明其如何管理编译工具链和生成最终镜像。U-Boot在嵌入式Linux开发中扮演着核心角色,是连接硬件与操作系统的关键桥梁。

2025-12-02 12:02:57 814

原创 【Embedded Development】BootROM的详细分析以及Linux开发板的上电启动流程初步分析

它首先读取存储介质中的“IVT(Image Vector Table,镜像向量表)”,通过IVT定位到SPL(二级引导程序)的地址,将SPL加载到片内OCRAM(片上静态RAM)中执行,随后移交控制权。此外,SPL还会初始化简单的电源管理模块,确保硬件供电稳定。需要说明的是,若开发板硬件简单(如DRAM初始化逻辑简单、U-Boot体积小),也可省略SPL阶段,由BootROM直接加载完整U-Boot(如部分STM32MP157开发板),但主流中高端Linux开发板均会保留SPL以提升兼容性。

2025-12-01 21:21:54 1084

原创 【Embedded Development】RAM和Flash的存储介质区分以及对于XIP的分析

RAM与ROM/Flash存储器技术解析 RAM分为SRAM(高速缓存)和DRAM(主存),其中DRAM又衍生出DDR、LPDDR等类型。SRAM速度快但成本高,DRAM容量大性价比优。ROM/Flash包括NOR Flash(支持XIP执行代码)和NAND Flash(大容量存储),以及eMMC/UFS等封装形式。

2025-12-01 12:57:42 826

原创 【Embedded Development】CPU-MCU-MPU-SoC-DSP-FPGA-GPU-ECU的区别

摘要:本文系统介绍了CPU(通用处理器)、MCU(集成存储和外设的微控制器)、MPU(高性能嵌入式处理器)、SoC(高度集成的片上系统)、DSP(专用信号处理器)、FPGA(可编程逻辑芯片)和GPU(图形处理器)七类处理器的核心定义、特征及应用场景。重点对比了它们在集成度、工作方式、典型架构等方面的差异。

2025-12-01 00:27:39 1325

原创 【MySQL】【Python】Pycharm对接docker的MySQL的详细过程

本文关注 “物理机 PyCharm → 虚拟机 → Docker 容器 MySQL” 的三层架构,详细拆解从 Docker 端 MySQL 的端口映射、远程权限配置,到虚拟机网络适配,再到 PyCharm 的数据库连接与验证的完整流程,同时针对 “连接被拒、权限错误” 等高频问题提供排障方案,帮助开发者快速实现 PyCharm 对容器化 MySQL 的可视化操作与代码调用,打通开发环境的数据链路。

2025-11-27 22:09:07 755

原创 【Embedded Development】【MQTT】对于MQTT的初步认识并且基于EMQX+MQTTX的MQTT通信模拟

MQTT是一种轻量级发布-订阅消息协议,专为物联网场景设计。其发展经历了从1999年专有协议到2014年国际标准的演进,最新MQTT5.0版本支持自定义消息、共享订阅等高级功能。核心工作原理基于主题路由和QoS质量等级(0/1/2),通过Broker实现设备间解耦通信。MQTT优势包括:轻量级设计(仅2字节头部)、双向通信、有状态会话和TLS加密,特别适合资源受限设备和复杂网络环境。实践方面可通过Docker快速部署EMQX代理,配合MQTTX客户端进行消息收发测试,端口映射(1883/8883等)满足不同

2025-11-26 00:34:19 735

原创 【Embedded Development】【USART】USART通信协议的时序学习过程记录

摘要:UART/USART是嵌入式系统中最常用的异步串行通信协议,主要用于设备间低成本、近距离数据传输。UART通过TX、RX两根线实现异步通信,无需时钟线,依赖约定的波特率同步;USART兼容同步/异步模式,但嵌入式开发中通常仅使用其UART功能。核心配置包括8N1帧格式(8位数据、无校验、1位停止位)和波特率匹配(常用115200)。开发时需注意GPIO复用、电平转换(TTL/RS232)和共地连接,避免乱码和通信失败。

2025-11-25 13:46:00 842

原创 【Embedded Development】【SPI】SPI通信协议的时序学习过程记录

SPI是一种高速同步串行外设接口协议,采用全双工通信方式,通过SCLK、MOSI、MISO和SS四根信号线实现主机与从机之间的数据传输。其核心特点是时钟同步、传输速率高(1MHz-50MHz),支持四种工作模式(Mode0-3),通过CPOL和CPHA参数配置时钟极性和相位。SPI广泛应用于Flash、ADC、传感器等外设通信,优势在于结构简单、速率快,但缺乏内置应答机制,可靠性需额外保障。典型应用包括单主机多从机架构,通过SS片选信号控制设备选通。开发时需特别注意主机与从机的工作模式匹配。

2025-11-24 23:52:46 1251

原创 【Embedded Development】【IIC】IIC通信协议的时序学习过程记录

主机接收完从机发送的 1 个字节后,需要在第 9 个时钟周期向从机发送 1 位应答位 —— 告诉从机「我已经收到数据了,你可以继续发下一个字节(ACK=0)」或「我不需要更多数据了(NACK=1)」。即主机回应从机,如果是0(拉低电平),从机就会继续发数据主机向从机发送完 1 个字节后,需要在第 9 个时钟周期等待接收从机的应答位 —— 判断从机是否「成功接收」了自己发送的数据(比如从机地址匹配、数据写入成功)。

2025-11-24 20:53:53 2383

原创 【VSCode】VSCode的个人习惯设置--个人记录

VS Code实用配置指南:包含窗口缩放(Ctrl+鼠标)、括号对齐、空格显示、自动保存等基础设置,以及头文件切换、光标位置导航等快捷键操作。这些功能可显著提升编码效率,适合开发者快速配置使用环境。

2025-11-21 22:22:47 263

原创 【VSCode】使用 VSCode + EIDE插件 的开发STM32的超详细教程

摘要:本文介绍在STM32嵌入式开发中使用VSCode配合EIDE插件替代传统Keil/IAR工具的方法。重点阐述了插件安装配置流程,包括C/C++环境、MCU开发IDE、调试等必备插件的安装,以及工具链路径、芯片类型、烧录工具等关键配置步骤。同时详细说明了如何导入STM32CubeMX生成的Keil工程,并完成编译、烧录和调试全过程。该方案充分利用VSCode跨平台优势,结合EIDE插件的工程管理能力,为STM32开发提供了更灵活高效的解决方案,文中还指出了可能出现的编译警告及解决方法。

2025-11-21 21:29:07 2245 2

原创 【Web】【hexo】基于GitHub Pages+Hexo的个人博客网页页脚添加运行时长美化

E:\Node_Projects\Node_Programs_Workspaces\EX1_Hexo\hexo-blog\themes\fluid\_config.yml在fluid下的配置文件中找到页脚进行配置。首先在E:\Node_Projects\Node_Programs_Workspaces\EX1_Hexo\hexo-blog\themes\fluid\source\js 目录下新建一个。

2025-11-18 16:20:54 194

原创 【Web】【hexo】基于GitHub Pages+Hexo的个人博客网页搬家:CSDN的博客-->Hexo的个人博客 的超详细教程

本文介绍了将CSDN博客迁移到Hexo静态博客的过程。首先创建配置文件获取CSDN用户ID,使用npx工具通过CSDN API自动同步所有文章为Markdown格式。接着解决图片显示问题,通过Python脚本下载远程图片到本地并修改引用路径。最后调整Hexo主题配置,更换主页banner图和小图标,完成博客迁移。整个流程实现了从CSDN到Hexo的无缝迁移,包括文章内容和图片资源的完整转移。

2025-11-18 03:06:31 782

原创 【Source Insight】Source Insight的初步使用方法

SourceInsight是一款高效的代码分析工具,支持多种编程语言。本文简要介绍其使用方法:首先创建工程并导入源码,通过"Add"添加文件并勾选递归选项。使用View菜单调出窗口,同步解析文件建立关联。提供函数跳转(Ctrl+点击)和高亮(F8)功能,重点介绍了调用关系树状图的查看方式,适合快速理解代码结构。基础操作包括编码调整、多选文件等,为后续高级功能使用奠定基础。

2025-11-15 13:56:07 588

原创 【VSCode】【Clangd】Win下的基于LLVM/Clangd+Clangd插件+MINGW+CMake的VSCode配置C/C++开发环境的详细教程

LLVM 命名最早源自于底层虚拟机(Low Level Virtual Machine)的缩写,由于命名带来的混乱,LLVM就是该项目的全称。LLVM 核心库提供了与编译器相关的支持,可以作为多种语言编译器的后台来使用。能够进行程序语言的编译器优化、链接优化、在线编译优化、代码生成。LLVM的项目是一个模块化和可重复使用的编译器和工具技术的集合。LLVM是伊利诺伊大学的一个研究项目,提供一个现代化的,基于SSA的编译策略能够同时支持静态和动态的任意编程语言的编译目标。

2025-11-11 23:56:18 2104

该资源用于n1盒子的刷机的相关的操作,这个是刷机工具

该资源用于n1盒子的刷机的相关的操作,这个是刷机工具

2025-10-02

UAV基于PX4+Ubuntu24.04.3的无人机制作的开发环境搭建

PX4build过程日志

2025-09-06

空空如也

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

TA关注的人

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