Windows VS Code 写代码环境:openvela 的补全与跳转

本文只覆盖 编辑 + 自动补全 + 函数跳转。编译 / 烧录 / 断点调试的完整硬件链路见 Windows 下 openvela 的编译、烧录与调试;任务入口已在 .vscode/tasks.json / launch.json 预留为 scaffold。 正确架构(必须遵守) 1 2 3 4 5 6 7 8 9 10 11 12 ┌──────────────────────────────────────────────────────────────┐ │ VS Code Remote - WSL(唯一推荐的写代码窗口) │ │ │ │ 编辑 / 补全 / 跳转 → WSL 内 ms-vscode.cpptools │ │ + Linux arm-none-eabi-gcc │ │ + NuttX/openvela 真实头文件 │ │ │ │ 编译(后续) → 仍在 WSL 跑 openvela 工具链 │ │ 烧录(后续) → Windows CubeProgrammer + ST-LINK │ │ 调试(后续) → Windows OpenOCD + Cortex-Debug │ │ request: attach, loadFiles: [] │ └──────────────────────────────────────────────────────────────┘ 职责 跑在哪 为什么 源码编辑、补全、跳转 WSL NuttX 大量 Linux 绝对路径符号链接;Windows 本地 C/C++ 扩展会跟丢,并混用 Windows newlib 与 NuttX libc 固件编译 WSL openvela 官方工具链与 build.sh 是 Linux 路径 QSPI 烧录 Windows STM32H750 超 128 KiB 片内 Flash 时,用 CubeProgrammer External Loader 写外部 QSPI;OpenOCD 不负责下载 断点调试 Windows OpenOCD ST-LINK 由 Windows 访问;GDB 只 attach 符号,不再 load flash 不要把下面的 UNC 路径当普通 Windows 文件夹长期写代码: ...

August 11, 2026 · 3 min · 19y

Windows 下 openvela 的编译、烧录与调试(STM32H750B-DK)

写代码(补全 / 跳转)请先看 Windows VS Code 写代码环境。 本文侧重编译、QSPI 烧录与 Cortex-Debug;编辑窗口必须是 Remote - WSL。 方案边界 STM32H750XBH6 只有 128 KiB 片内 Flash。超过该容量的 openvela 镜像采用: ...

August 11, 2026 · 8 min · 19y

从空白工程到点亮 STM32H750B-DK 第一颗 LED

本文记录我们这一路从 openvela 竞赛模板走到 STM32H750B-DK 点亮第一颗 LED 的完整过程。 它不是只告诉你“改哪一行”,而是帮你建立一套迁移思维:你已经有 STM32HAL、FreeRTOS、LwIP、FatFs、Modbus 经验,那么学习 openvela/NuttX 时,最重要的是把已有经验映射到 NuttX 的概念上。 ...

August 11, 2026 · 12 min · 19y

STM32H750B-DK 的 QSPI-XIP 构建、烧录与启动机制

本文解释本项目在 STM32H750B-DK 上使用外部 QSPI 作为主镜像、片内 Flash 作为启动 stub 的完整链路。重点不是“执行哪条命令”,而是说明: 地址为什么是 0x08000000 和 0x90000000 两套空间; Kconfig 如何影响链接脚本,链接脚本如何影响 ELF、HEX 和 BIN; 为什么板上需要两个持久化镜像; STM32CubeProgrammer 的 External Loader 到底是什么; boot stub 如何把 QSPI 变成 CPU 可以直接取指的 XIP 地址; 烧录成功但不能启动时,应该从哪里开始定位。 本文对应我们在 openvela 项目中的实际实现,主要参考资料包括项目仓库里的 windows_build_openvela.ps1、windows_flash_cube.ps1、QSPI 补丁 openvela-qspi-boot-stm32h750b-dk.patch、boot stub 源码 stm32h750b_qspi_bootstub.c 与链接脚本 stm32h750b_qspi_bootstub.ld, 以及配套的 Windows 编译/烧录/调试指南。 ...

August 11, 2026 · 14 min · 19y

VelaGuard 架构决策记录:边缘网关的五条可靠性设计原则

VelaGuard 是我们在 openvela(NuttX)上为 STM32H750B-DK 开发的一款工业边缘网关:它通过 Modbus 采集现场数据,在本地完成规则判断与告警,再经由 MQTT 把关键信息上送云端,并借助 AI 助手完成诊断与配置建议。 ...

August 11, 2026 · 4 min · 19y

CubeMX关于刹车输入的一个小BUG

STM32CUBEMX在配置定时器PWM输出的刹车输入引脚时 要注意配置的刹车极性和对应引脚的上下拉模式是否相反 若不相反,则会导致复位启动时无法产生对应的波形。 ...

May 24, 2025 · 1 min · 19y

蓝桥杯嵌入式选择题部分错题集

[!NOTE] 关键字 inline 的作用 inline 是 C/C++ 中的关键字,用于建议编译器将函数内联展开(即在调用处直接插入函数代码,而非生成函数调用指令)。它的主要影响包括: ...

April 4, 2025 · 14 min · 19y

全场景md测试

Markdown 全格式测试文档 1. 标题与段落 这是普通段落,展示加粗、斜体、删除线和行内代码。 换行需在行尾添加两个空格或使用<br>标签。 2. 列表与任务 无序列表 苹果 香蕉 进口香蕉 本地香蕉 有序列表 打开IDE 创建项目 编写代码 任务列表 学习Markdown基础 掌握高级表格技巧 3. 代码与语法高亮 行内代码:print("Hello Markdown") ...

April 4, 2025 · 2 min · 19y

全格式测试

Markdown 全格式测试文档 1. 标题与段落 这是普通段落,展示加粗、斜体、删除线和行内代码。 换行需在行尾添加两个空格或使用<br>标签。 2. 列表与任务 无序列表 苹果 香蕉 进口香蕉 本地香蕉 有序列表 打开IDE 创建项目 编写代码 任务列表 学习Markdown基础 掌握高级表格技巧 3. 代码与语法高亮 行内代码:print("Hello Markdown") ...

April 4, 2025 · 2 min · 19y

Test

April 4, 2025 · 0 min · 19y