开发环境配置

本章节用于指导在 Windows 上搭建 Solution 的基础开发环境,并完成常用编辑器(Source Insight / VS Code)的工程索引配置。

小技巧

路径规范(强烈建议):全英文、无空格、无特殊符号(括号等)、路径尽量短,例如 D:\Solution / D:\SiFli\env

原因:可避免工具链/脚本在处理空格、非 ASCII 字符时出现“找不到文件”“编译失败”“路径过长”等问题。

1. 获取 Solution 软件包

获取 Solution 软件包后,解压到你希望存放的目录。

备注

建议将 Solution 解压到磁盘根目录附近,例如 D:\Solution

警告

若解压时报错或文件缺失,常见原因包括:

  • 路径过深导致 Windows MAX_PATH 限制触发;

  • 杀毒软件/企业管控软件拦截了解压过程。

处理建议:换到更短的路径重新解压,并将目录加入白名单后重试。

2. 安装 SiFli-ENV 工具包

点击下载 SiFli-ENV 工具包,下载完成后解压到你希望存放的目录(建议与 Solution 分开存放)。

备注

建议路径全英文、无空格且不要太深,例如 D:\SiFli\env

3. 安装 Keil uVision5(可选)

备注

安装 Keil 的目的是使用 ARMCC / ARMCLANG 编译器。

如果你的 Solution 工程支持 GCC 编译,可以选择仅使用 GCC,此时可以不安装 Keil。

请根据 Arm Keil 官网指引安装。

警告

请安装 V5.32.0.0 并完成注册/授权。其他版本可能出现编译报错或兼容性问题。

5. 安装 Visual Studio(可选:PC 仿真/Windows 编译)

备注

安装 Visual Studio 的目的是使用 PC 仿真环境开发;如无该需求可不安装。

  • 下载 VisualStudioSetup.exe

  • 运行安装器并按需选择组件。

    • 建议安装:“使用 C++ 的桌面开发(Desktop development with C++)”

Visual Studio 安装界面示例

6. 安装 Visual C++ 可再发行程序包(可选)

备注

如果你已按第 5 节安装 Visual Studio(且能正常运行/编译),通常可跳过本步骤。

Visual C++ 可再发行程序包用于安装 Microsoft C/C++(MSVC)运行时库,许多由 Visual Studio 工具链生成的程序依赖该运行时。

  • 可从 Microsoft 官网下载页 获取最新版本。

  • 建议按系统情况同时安装 x64x86 版本(部分工具仍可能依赖 32 位运行时)。

7. 配置第三方工具路径(Butterfli)

  • 双击打开 Solution 代码包 \solution\tools\sifli_develop\Butterfli\Butterfli.exe

  • 在工具界面右键点击 第三方工具(图中①),选择 设置环境路径(图中②)。

    • 若未弹出设置窗口,请直接运行同目录下的 EnvSetting.exe

  • 按页面说明填写各工具路径后,点击 设置(图中⑥)保存。

  • 保存成功后关闭设置页面,并重启 Butterfli.exe

备注

  • 图示③的四项内容与编译相关,必须设置

  • 图示④为 J-Link 路径:仅在需要 J-Link 烧录/调试且已安装 J-Link 时配置。

  • 图示⑤为 Visual Studio 相关路径:仅在需要 PC 仿真且已安装 Visual Studio 时配置。

小技巧

常见问题排查:

  • “路径配置后仍找不到工具”:确认路径中无中文/空格,且目录实际存在;保存后务必重启 Butterfli.exe

  • “设置界面打不开”:尝试右键以管理员身份运行 EnvSetting.exe

Butterfli 环境路径设置界面

8. 客户加密策略环境(如适用)

针对研发环境带加密策略的客户:使用 SiFli 提供的一键集成开发工具 Butterfli.exe 时,需要将下图所示工具加入加密策略白名单/解密策略范围内。

加密策略环境下需要放行的工具示例

9. 代码编辑器工程配置

9.1 Source Insight

  1. 打开 Butterfli.exe,选择目标工程并执行一次编译。

  2. 编译完成后,在工程的 hcpu 子目录下会生成 si_filelist.txt

  3. 使用 Source Insight 打开项目工程时,按以下步骤导入文件列表:

    • 打开 Source Insight

    • 菜单栏选择 ProjectNew Project,填写工程名与工程文件保存路径;

    • Add Files and Remove Project Files 窗口点击 Add from list

    • 选择工程 hcpu 目录下的 si_filelist.txt 并打开;

    • 点击 Close 完成工程配置。

9.2 VS Code + clangd(Solution V2.5及以上版本支持,推荐)

  1. 打开 Butterfli.exe,选择目标工程并执行一次编译。

  2. 编译完成后,在工程的 hcpu 子目录下会生成 compile_commands.json(供 clangd 做索引/跳转/补全)。

  3. VS Code 扩展建议:

    • clangd(LLVM 官方,推荐作为主要补全/跳转引擎)

    • (可选)C/C++(Microsoft,主要用于调试/任务等;若只用 clangd 可关闭其 IntelliSense)

    • (可选)Clang-Format(格式化)

  4. 配置 VS Code 的 settings.json(位于 Solution 根目录/.vscode/settings.json):

  {
      "clangd.arguments": [
          "--compile-commands-dir=${workspaceFolder}/solution/examples/watch/project/ec_lb567_nand_builtin_res/hcpu",
          "--header-insertion=never",       // Disable auto header insertion (prevent invalid includes in embedded projects)
          "--completion-style=detailed",    // Enable detailed code completion (better for peripheral register hints)
          "--background-index",             // Enable background indexing (faster response for large codebases)
          "--log=error"                     // Only log errors (reduce noise in embedded development)
      ],
      
      /* keep other settings */  
  }

备注

  • ${workspaceFolder} 表示 Solution 根目录。

  • 示例默认指向 watch 产品的 ec_lb567_nand_builtin_res 工程;如需切换工程,请将 --compile-commands-dir 改为对应工程的 hcpu 目录(路径分隔符建议使用 /)。

  • 若右键菜单中没有“转到定义/声明”等:

    • 确认 clangd 已安装并配置正确。如果代码文件中右键没有看到「定义」、「声明」等跳转,大部分的原因是clangd没有安装成功

    • 确认 compile_commands.json 已生成;

    • 在 VS Code 命令面板执行 clangd: Restart language server,必要时重启 VS Code。

  • 如果需要在Solution V2.5以前的版本使用 VS Code + clangd,请将以下两个文件放入对应位置:

    • 下载SConstruct,覆盖 solution\framework\__template__\project\hcpu\SConstruct

    • 下载settings.json,覆盖 Solution 根目录 .vscode\settings.json