VSCode搭建STM32开发环境:从工具链配置到调试烧录全攻略
1. 为什么要在 VSCode 里折腾 STM32先看成本和体验如果你还在用 Keil MDK 或 IAR 做 STM32 开发每次新建工程、配置路径、处理报错都感觉有点繁琐那 VSCode 这套方案值得你花半小时试试。它解决的不是“能不能开发”的问题而是“能不能更顺手、更透明、更自动化”的问题。核心价值就三点免费、开源、可定制。Keil 正版授权费用不低而 VSCode 本身免费配合 GCC 工具链和开源插件零成本搭建完整开发环境。更重要的是整个编译、调试、烧录的“黑盒”被打开了你可以用自己熟悉的编辑器、版本控制Git、以及海量插件来提升效率。所谓的“AI 全自动修报错”和“串口调试闭环”本质是利用现代开发工具链把那些重复、琐碎的手动操作自动化让你更专注于代码逻辑。这套方案适合两类人一是学生和爱好者想用免费、强大的工具入门嵌入式二是有一定经验的开发者厌倦了传统 IDE 的笨重希望将嵌入式开发融入自己已有的高效工作流中。最该关注的点不是“功能全不全”而是“环境能不能一次配好后续会不会老出怪问题”。2. 环境准备别急着装插件先把地基打稳很多人一上来就搜“VSCode 开发 STM32”教程然后照着装一堆插件结果编译报错找不到头文件调试连不上芯片。问题往往出在最前面——工具链没装对。我建议按这个顺序来每一步都验证通过了再往下走。2.1 核心工具链三件套STM32 开发离不开编译器、调试器和包管理器。在 Windows 上我推荐用 MSYS2 环境来管理能减少很多路径问题。ARM GCC 编译器这是 Keil ARMCC 的免费替代品负责把 C/C 代码编译成 STM32 能跑的机器码。获取从 ARM 官网或 xPack 项目下载arm-none-eabi-gcc。建议选择较新的版本如 10.x 或 12.x并记住安装路径例如C:\xPacks\arm-none-eabi-gcc\10.3.1-2.3。验证打开命令行输入arm-none-eabi-gcc -v能显示版本信息就对了。OpenOCD这是一个开源的片上调试器充当桥梁连接你的调试器硬件如 ST-Link和 GDB 调试软件。它支持 ST-Link、J-Link 等多种调试探头。获取从 OpenOCD 官网或 xPack 下载预编译版本。验证命令行输入openocd -v即可。Make项目管理工具用于解析Makefile自动执行编译、链接、清理等命令。MSYS2 或 MinGW 里都自带。验证命令行输入make -v。注意务必把这三个工具的bin目录添加到系统的PATH环境变量中。这是后续所有步骤能正常工作的前提。添加后重启命令行终端再验证。2.2 VSCode 与必要插件安装好 VSCode 后插件不用多但要精。核心是以下几个C/C (Microsoft)提供代码智能提示、跳转、错误检查。这是必备基础。Cortex-Debug专为 ARM Cortex-M 系列芯片设计的调试插件功能强大支持查看外设寄存器、SVD 文件加载等是替代 Keil 调试视图的关键。ARM Assembly方便查看反汇编代码。GitLens如果你用 Git 管理代码这个插件能极大提升效率。先装好这几个其他如串口监视、中文语言包等可以根据需要后续再加。不要一上来就装几十个插件容易冲突。2.3 硬件连接与驱动确保你的 STM32 开发板和调试器如 ST-Link V2连接正确并且系统安装了正确的 USB 驱动。ST-Link 的驱动通常来自 STM32CubeProgrammer 安装包或独立驱动。在设备管理器中确认能看到STMicroelectronics STLink dongle或类似设备没有感叹号。3. 从零构建一个工程理解比复制更重要网上有很多现成的模板工程但直接套用容易知其然不知其所以然。我建议从 CubeMX 生成一个基础工程然后自己改造理解每个文件的作用。3.1 使用 STM32CubeMX 生成代码框架安装 STM32CubeMX选择你的芯片型号例如 STM32F103C8T6。配置时钟树RCC、GPIO比如点个 LED、串口USART1等基本外设。在Project Manager标签页将Toolchain/IDE选择为Makefile。这是关键一步它让 CubeMX 生成适用于 GCC 和 Make 的工程结构。生成代码。生成的目录里你会看到Makefile、Core/、Drivers/等文件夹。Makefile是指挥编译的核心文件。3.2 剖析与修改 Makefile用 VSCode 打开工程根目录。查看Makefile你需要关注并可能修改以下几个变量PREFIX arm-none-eabi-指定编译器前缀必须和你安装的 GCC 工具链匹配。CC $(PREFIX)gccC 编译器。C_INCLUDES ...包含头文件的路径。如果后续你添加了新的模块如传感器驱动需要在这里加上路径。CFLAGS ...C 编译选项如优化等级-Og、调试信息-g、MCU 型号-mcpucortex-m3等。LDFLAGS和LDSCRIPT链接选项和链接脚本路径。链接脚本.ld文件决定了代码、数据在芯片内存中的布局一般不用改但要确保路径正确。通常CubeMX 生成的Makefile可以直接用。你可以在 VSCode 的集成终端Ctrl里进入工程目录直接运行make命令。如果一切顺利会在build/目录下生成.elf可执行文件、.bin、.hex 等文件。第一次编译成功的标志终端输出显示生成了.elf文件并且没有error提示只有一些warning警告可以暂时不管。3.3 配置 VSCode 的智能感知为了让 VSCode 的 C/C 插件能正确提示代码和跳转需要配置c_cpp_properties.json。在 VSCode 中按CtrlShiftP输入C/C: Edit Configurations (UI)。在打开的界面中主要设置Compiler path浏览到你安装的arm-none-eabi-gcc.exe。IntelliSense mode选择gcc-arm。IncludePath这里需要添加所有头文件路径。一个简单的方法是把Makefile里C_INCLUDES变量列出的所有路径去掉-I前缀都加进来。通常包括Core/Inc、Drivers/STM32F1xx_HAL_Driver/Inc、Drivers/CMSIS/Include等。Defines添加芯片宏定义如STM32F103xB、USE_HAL_DRIVER。这些在Makefile的C_DEFS变量里也能找到。配置好后代码中的红色波浪线未定义标识符错误应该会消失并且可以F12跳转到函数定义。4. 实现“AI 全自动修报错”本质是智能提示与静态检查标题里的“AI 修报错”听起来很炫目前截至我知识截止日期并没有一个能完全自动修复任意编译错误的 AI 插件。但我们可以通过组合工具实现极强的错误预防和快速定位体验上接近“智能修复”。4.1 利用 C/C 插件的实时诊断VSCode 的 C/C 插件会基于你配置的c_cpp_properties.json在你敲代码时进行实时语义检查。这比 Keil 只在编译时才报错要快得多。未定义标识符红色波浪线鼠标悬停提示。类型不匹配绿色波浪线警告。无法打开源文件直接提示头文件路径错误。这能消灭掉大部分语法和简单的语义错误。4.2 集成编译任务与问题面板我们需要让编译错误直接显示在 VSCode 的“问题”面板里方便点击跳转。创建任务按CtrlShiftP输入Tasks: Configure Task然后选择Create tasks.json file from template-Others。会生成一个.vscode/tasks.json文件。修改tasks.json添加一个编译任务{ version: 2.0.0, tasks: [ { label: Build STM32 Project, type: shell, command: make, // 直接调用 make args: [-j4], // -j4 表示4线程并行编译加快速度 group: { kind: build, isDefault: true }, problemMatcher: [$gcc], // 关键使用 GCC 问题匹配器将编译输出解析到问题面板 detail: 使用 Makefile 编译 STM32 工程 } ] }现在按CtrlShiftB即可触发编译。任何编译错误如error: unknown type name ‘xxx’都会出现在 VSCode 底部的“问题”面板点击可以直接定位到出错文件的行列。4.3 进阶使用 Clangd 获得更快的分析C/C 插件有时对大型项目分析较慢。可以换用Clangd语言服务器。禁用 Microsoft 的 C/C 插件安装Clangd插件。在项目根目录创建.clangd配置文件内容大致如下CompileFlags: Add: [-DSTM32F103xB, -DUSE_HAL_DRIVER, -mcpucortex-m3, --targetarm-none-eabi] CompilationDatabase: build/ # 指向编译数据库目录让 Make 生成编译数据库修改Makefile或使用bear工具在编译时生成compile_commands.json文件。Clangd 会读取这个文件获得和编译时完全一致的宏定义、头文件路径从而实现极其准确的代码分析、补全和错误提示。这套组合拳下来代码编写阶段的错误几乎无处遁形效率远超在 Keil 里写半天然后编译看一长串错误。5. 调试与烧录告别“下载-复位-看现象”的循环在 Keil 里调试是一个集成环境。在 VSCode 里我们需要自己配置但换来的是更高的灵活性和透明度。5.1 配置 launch.json 进行调试在 VSCode 侧边栏选择“运行和调试”点击“创建 launch.json 文件”选择Cortex-Debug。这会生成一个初始配置我们需要修改它。一个针对 STM32F103 和 ST-Link 的配置示例{ version: 0.2.0, configurations: [ { name: Cortex Debug (ST-Link), cwd: ${workspaceFolder}, executable: ${workspaceFolder}/build/${workspaceFolderBasename}.elf, // 指向编译生成的 elf 文件 request: launch, type: cortex-debug, servertype: openocd, // 使用 OpenOCD 作为调试服务器 device: STM32F103C8, // 你的芯片型号 configFiles: [ interface/stlink.cfg, // OpenOCD 接口配置 target/stm32f1x.cfg // OpenOCD 目标芯片配置 ], runToEntryPoint: main, // 启动后运行到 main 函数 svdPath: ${workspaceFolder}/STM32F103xx.svd // SVD 文件路径用于查看外设寄存器 } ] }关键点解释executable必须指向带调试信息的.elf文件。configFiles指定 OpenOCD 使用的配置文件。你需要根据你的调试器ST-Link/J-Link和芯片型号修改。这些.cfg文件通常在 OpenOCD 的安装目录/scripts/下。svdPathSVD 文件是芯片外设寄存器的描述文件。可以从芯片官网或 CubeMX 包中找到。有了它在调试时可以在Cortex-Debug提供的SVD视图里直接查看和修改外设寄存器值和 Keil 的Peripheral窗口一样强大。配置好后按F5即可开始调试。你可以设置断点、单步执行、查看变量、查看调用栈和寄存器。5.2 一键烧录配置调试配置通常也包含烧录因为调试前需要把程序下载进去。如果你想单独创建一个烧录任务可以在tasks.json里添加{ label: Flash with OpenOCD, type: shell, command: openocd, args: [ -f, interface/stlink.cfg, -f, target/stm32f1x.cfg, -c, program build/your_project.bin verify reset exit 0x08000000 ], group: test, detail: 使用 OpenOCD 烧录 bin 文件并复位 }然后通过CtrlShiftP-Tasks: Run Task来选择执行。也可以绑定快捷键。6. 串口调试闭环让打印和交互无缝衔接串口打印是嵌入式调试的“眼睛”。在 VSCode 里实现闭环意味着你不需要在编辑器、串口助手、设备管理器之间来回切换。6.1 使用 VSCode 插件管理串口安装如Serial Monitor、Serial Port Helper这类串口监视插件。以Serial Monitor为例安装后在 VSCode 活动栏会出现一个串口图标。点击图标选择正确的串口号如 COM3和波特率如 115200。连接后会打开一个终端面板直接显示从单片机发来的数据你也可以直接输入字符发送给单片机。优势日志集成所有打印信息都在 VSCode 内部方便搜索、过滤。无需切换窗口编码、编译、调试、看日志都在同一个编辑器完成。可脚本化一些插件支持发送预定义命令序列方便自动化测试。6.2 在代码中集成高效打印除了简单的printf可以考虑使用更强大的日志库如EasyLogger (elog)。你可以在代码中定义不同日志级别Error, Warn, Info, Debug并在 VSCode 的串口监视器里根据颜色或前缀过滤关键信息。// 示例使用 HAL 库的串口发送 #include stdio.h // 重定向 printf 到串口 int _write(int file, char *ptr, int len) { HAL_UART_Transmit(huart1, (uint8_t*)ptr, len, HAL_MAX_DELAY); return len; } // 在代码中使用 printf([INFO] System started.\r\n); printf([ERROR] Sensor init failed: %d\r\n, error_code);在串口监视器里你可以清晰地看到带级别的日志快速定位问题。6.3 实现“发送-执行-反馈”闭环对于需要交互的调试你可以在代码中解析串口接收到的简单命令。// 简易命令解析示例 void UART_RxCpltCallback(UART_HandleTypeDef *huart) { if(huart-Instance USART1) { char cmd uart_rx_buffer[0]; switch(cmd) { case 1: LED_On(); printf(LED ON\r\n); break; case 0: LED_Off(); printf(LED OFF\r\n); break; case v: printf(Voltage: %.2fV\r\n, read_voltage()); break; default: printf(Unknown cmd: %c\r\n, cmd); } HAL_UART_Receive_IT(huart1, uart_rx_buffer, 1); // 重新开启接收中断 } }在 VSCode 的串口监视器里你输入1回车就能看到 LED 点亮并收到回复。这种即时反馈的调试体验比传统方式高效得多。7. 避坑指南与进阶优化环境配好了基础流程跑通了才算成功了一半。长期稳定使用还需要注意下面这些细节。7.1 常见编译与链接错误排查arm-none-eabi-gcc: command not found原因PATH 环境变量未设置或未生效。解决检查 PATH重启 VSCode 或整个系统。在 VSCode 终端里输入echo %PATH%(Win) 或echo $PATH(Linux/Mac) 查看。fatal error: xxx.h: No such file or directory原因头文件路径未包含。C_INCLUDESMakefile或includePathc_cpp_properties.json配置错误。解决仔细核对头文件实际路径确保在配置中正确添加。使用绝对路径或相对于工程根目录的正确相对路径。undefined reference toHAL_Init 等链接错误原因链接时找不到库函数的实现。通常是源文件.c没有被加入到编译列表中。解决检查Makefile中的C_SOURCES变量确保所有需要的.c文件特别是 HAL 库文件都被包含在内。CubeMX 生成的Makefile通常会自动包含但如果你手动添加了新的驱动文件需要在这里加上。程序大小超限regionFLASH overflowed by ... bytes原因代码或数据量超过了芯片 Flash 容量。解决优化代码减少全局变量检查是否开启了不必要的功能模块。在Makefile的CFLAGS中尝试使用-Os优化大小代替-Og优化调试。7.2 调试连接失败排查OpenOCD 报错找不到 ST-Link原因驱动问题、USB 线问题、板子供电问题、其他软件占用。解决检查设备管理器尝试拔插 USB 线确保板子供电正常关闭 Keil、STM32CubeIDE 等可能占用调试接口的软件。调试可以连接但无法暂停断点无效原因编译时未生成调试信息或优化等级过高。解决确保Makefile中CFLAGS包含-g选项。将优化等级暂时改为-Og或-O0。SVD 文件加载后外设寄存器视图为空原因SVD 文件路径错误或文件不匹配。解决检查launch.json中svdPath的路径。确保 SVD 文件型号与你的芯片完全匹配例如 STM32F103C8 对应STM32F103xx.svd。7.3 让开发更高效的进阶配置代码格式化与自动化安装C/C插件后可以使用Clang-Format来统一代码风格。配置.clang-format文件并设置保存时自动格式化。版本控制集成整个工程目录用 Git 管理。.vscode目录中的配置tasks.json,launch.json,c_cpp_properties.json也可以纳入版本控制方便在多台机器间同步开发环境。多工程管理如果你有多个 STM32 项目可以为每个项目创建独立的.vscode配置。也可以将通用的工具链路径设置到系统环境变量或用户级别的 VSCode 设置中。自定义构建脚本对于复杂项目可以编写 Python 或 Shell 脚本在tasks.json中调用实现更复杂的预处理、后处理如生成 CRC、合并 Bin 文件等流程。从 Keil 切换到 VSCode初期会花一些时间在环境配置和理解工具链上但一旦跑通这套高度自由、透明且强大的工作流带来的效率提升是长期的。它让你真正掌控了开发的每一个环节而不是被束缚在某个特定的 IDE 里。

相关新闻

负反馈技术进阶:噪声、线性度与阻抗的权衡艺术

负反馈技术进阶:噪声、线性度与阻抗的权衡艺术

1. 从“负反馈”到“性能跃迁”:一个被误解的放大器核心在模拟电路设计的圈子里,负反馈(Negative Feedback)是个老生常谈的话题。几乎每个工程师在入门时都会学到它,知道它能稳定增益、拓宽带宽、减少失真。但很多人&a…

2026/8/5 2:10:58 阅读更多 →
从零打造智能解压立方体:嵌入式开发与3D打印的趣味实践

从零打造智能解压立方体:嵌入式开发与3D打印的趣味实践

最近在社交媒体上刷到一个很有意思的话题:“我妈买的解压玩具VS我买的解压玩具”。点进去一看,简直是两个平行宇宙的碰撞。一边是妈妈们钟爱的指尖陀螺、捏捏乐、史莱姆,色彩鲜艳,玩法简单;另一边则是程序员、工程师们…

2026/8/5 2:10:58 阅读更多 →
AI时代产品思维变革:从心智管理到AI编程的范式转移

AI时代产品思维变革:从心智管理到AI编程的范式转移

1. 项目概述:一场关于产品思维的范式转移最近,Notion创始人Ivan Zhao的一篇深度长文在圈内引发了不小的讨论。他提出的核心观点,在我看来,精准地戳中了当下许多产品经理和创业者的思维盲区:我们不能再简单地用传统互联…

2026/8/5 2:10:58 阅读更多 →

最新新闻

Swagger接口测试实战:从文档生成到动态测试沙箱的深度整合

Swagger接口测试实战:从文档生成到动态测试沙箱的深度整合

1. 项目概述:为什么我们需要整合Swagger进行接口测试?如果你是一名后端开发者,或者正在和API打交道,那么“接口测试”这个词对你来说一定不陌生。从手动在Postman里敲请求,到写一堆自动化脚本,这个过程既繁…

2026/8/5 2:57:20 阅读更多 →
Linux虚拟化性能调优:Hugepage大页内存原理、配置与实战

Linux虚拟化性能调优:Hugepage大页内存原理、配置与实战

1. 从“分页”到“大页”:理解内存管理的效率瓶颈在Linux虚拟化环境里做性能调优,内存管理是绕不开的核心议题。我们平时聊的“调优”,很多时候是在和操作系统底层那些看不见的“摩擦”较劲。今天要聊的Hugepage(大页内存&#xf…

2026/8/5 2:57:20 阅读更多 →
Windows Defender安全中心白屏问题:从服务重置到注册表修复的完整解决方案

Windows Defender安全中心白屏问题:从服务重置到注册表修复的完整解决方案

1. 问题现象与根源剖析如果你在Windows 10或Windows 11上,满怀期待地点击那个盾牌图标,准备查看一下系统的安全状态,或者只是想调整一下实时防护的开关,结果却只等来一个空荡荡的白色窗口,或者一个无限旋转的加载圆圈&…

2026/8/5 2:57:20 阅读更多 →
041、YOLOv11损失函数自适应——自适应损失权重分配机制的即插即用模块设计与收敛加速验证

041、YOLOv11损失函数自适应——自适应损失权重分配机制的即插即用模块设计与收敛加速验证

041、YOLOv11损失函数自适应——自适应损失权重分配机制的即插即用模块设计与收敛加速验证 上个月调一个工业缺陷检测的场景,模型在训练到第80个epoch时,分类分支的loss突然崩了,定位分支却还在正常下降。翻看训练日志,发现分类分支的梯度范数在某个batch后直接跳了两个数…

2026/8/5 2:57:20 阅读更多 →
042、YOLOv11损失函数平衡——Focal Loss在正负样本不平衡场景下的调参指南与涨点效果

042、YOLOv11损失函数平衡——Focal Loss在正负样本不平衡场景下的调参指南与涨点效果

042、YOLOv11损失函数平衡——Focal Loss在正负样本不平衡场景下的调参指南与涨点效果 一、一个让我熬夜三天的调试问题 去年接了个工业质检项目,检测PCB板上的微小焊点缺陷。训练集里正样本(缺陷)只有800多个,负样本(正常焊点)接近12万。YOLOv11默认配置跑下来,mAP@0…

2026/8/5 2:57:20 阅读更多 →
MOXA NPort串口服务器配置实战:实现工业设备网络化与远程监控

MOXA NPort串口服务器配置实战:实现工业设备网络化与远程监控

1. 项目缘起:从一堆旧设备到网络化管理的需求最近在整理一个老旧的工业控制柜,里面塞满了各种PLC、触摸屏和传感器,它们之间大多通过RS-232或RS-485串口进行通信。这些设备本身运行稳定,但最大的问题在于数据孤岛和远程维护困难。…

2026/8/5 2:56:19 阅读更多 →

日新闻

Java缓存框架:JetCache

Java缓存框架:JetCache

TOC 一、简介 JetCache 是一个 Java 缓存抽象框架,为不同的缓存解决方案提供了统一的使用方式。 它提供的注解比 Spring Cache 更加强大。 JetCache 的注解支持原生 TTL、两级缓存以及在分布式环境中的自动刷新功能,同时你也可以通过代码直接操作 Cach…

2026/8/5 0:00:43 阅读更多 →
AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

需求:通孔焊盘 十字花;过孔 Via 实心直连;贴片焊盘按需设置 AD 测试版本AD24 很多工程师踩坑:全部统一十字,导致接地过孔阻抗高、大电流发热! 一、快捷键打开规则 PCB 界面按下:D R 展开…

2026/8/5 0:00:43 阅读更多 →
AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

AI素描转换技术深度拆解(2024最新论文+工业级落地代码):从Stable Diffusion ControlNet到LoRA微调全链路解析

更多请点击: https://kaifayun.com 第一章:AI生成素描效果 AI生成素描效果是计算机视觉与风格迁移技术融合的典型应用,其核心在于将彩色照片或RGB图像转换为具有手绘质感、明暗对比强烈、边缘清晰的单色素描图像。该过程通常依赖于深度学习模…

2026/8/5 0:00:43 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/4 11:41:39 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/4 5:26:40 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →