开发环境配置

本章节用于指导在 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,选择目标工程并完整编译一次。编译完成后,工程的 hcpu 目录会生成 compile_commands.json,供 clangd 做索引、跳转和补全。

  2. 安装 VS Code 扩展:

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

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

    • Clang-Format(可选,用于格式化)。

    如果 clangd 扩展在线安装失败,可按以下方式处理:

    • 优先检查网络代理或公司内网限制,确保 VS Code 可以访问扩展市场;

    • 在可联网电脑上打开 clangd 扩展下载页,点击页面右侧的 Download Extension 下载 .vsix 安装包,再拷贝到开发电脑;

    • 在 VS Code 中选择 Extensions...Install from VSIX...,选择 .vsix 文件离线安装;

    • 安装完成后重启 VS Code,并确认扩展列表中 clangd 处于启用状态。

  3. 配置 VS Code 的 settings.json(位于 Solution 根目录 .vscode/settings.json),将 --compile-commands-dir 指向当前工程的 hcpu 目录:

{
    "clangd.arguments": [
        "--compile-commands-dir=${workspaceFolder}/solution/examples/watch/project/ec_lb567_nand_builtin_res/hcpu",
        "--header-insertion=never",
        "--completion-style=detailed",
        "--background-index",
        "--log=error"
    ]
}

参数说明:

  • ${workspaceFolder} 表示 Solution 根目录;示例指向 watch 产品的 ec_lb567_nand_builtin_res 工程,切换工程时只需修改 --compile-commands-dir

  • --header-insertion=never:关闭自动插入头文件,避免嵌入式工程中生成不合适的 include。

  • --completion-style=detailed:使用详细补全信息,便于查看外设寄存器、结构体等提示。

  • --background-index:启用后台索引,提升大工程跳转和补全响应速度。

  • --log=error:仅输出错误日志,减少 clangd 日志干扰。

备注

若右键菜单中没有“转到定义/声明”等功能,通常是 clangd 扩展未安装成功、未启用,或 compile_commands.json 未生成。可按顺序检查:

  1. 确认 VS Code 扩展列表中 clangd 已安装并处于启用状态;

  2. 若扩展安装失败,改用上文的 .vsix 离线安装方式;

  3. 确认目标工程已完整编译,且 hcpu/compile_commands.json 存在;

  4. 确认 --compile-commands-dir 指向正确的 hcpu 目录;

  5. 在 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