|
发表于 2025-7-4 17:00:14
|
显示全部楼层
详细的你现在直接问ai,步骤一个个详细全部给你说清楚的,这种这么简单的流程性东西,AI全部都搞得定又很快,下面是把我上面的内容复制给claude了,让它自动生成的详细步骤:
# HPM SDK + VSCode 开发环境配置教程 (Windows 11)
## 环境概述
本教程将指导您在Windows 11系统上搭建基于VSCode的HPM SDK开发环境,包含以下核心组件:
- **开发环境**: VSCode + CMake + clangd
- **调试工具**: Segger Ozone (需要JLink 11及以上版本支持RISC-V)
- **SDK**: HPM SDK (基于CMake)
- **编译器**: Andes nds32le-elf-mculib-v5d (优化性能)
## 第一步:安装基础工具
### 1.1 使用winget安装必要软件
打开PowerShell或命令提示符(以管理员身份),依次执行以下命令:
```powershell
# 安装VSCode
winget install Microsoft.VisualStudioCode
# 安装Git
winget install Git.Git
# 安装Python(用于构建脚本)
winget install Python.Python.3.12
# 安装CMake
winget install Kitware.CMake
# 安装Ninja构建系统
winget install Ninja-build.Ninja
```
### 1.2 安装VSCode扩展
启动VSCode后,安装以下扩展:
1. **C/C++ Extension Pack** - 提供C/C++开发支持
2. **clangd** - 语言服务器,提供智能补全和错误检查
3. **CMake Tools** - CMake项目管理
4. **CMake** - CMake语法高亮
5. **GitLens** - Git增强功能
6. **Code Runner** - 代码运行支持
可以通过VSCode的扩展市场搜索安装,或使用命令行:
```powershell
code --install-extension ms-vscode.cpptools-extension-pack
code --install-extension llvm-vs-code-extensions.vscode-clangd
code --install-extension ms-vscode.cmake-tools
code --install-extension twxs.cmake
code --install-extension eamodio.gitlens
code --install-extension formulahendry.code-runner
```
## 第二步:下载和配置SDK及工具链
### 2.1 下载HPM SDK
创建开发目录并下载HPM SDK:
```powershell
# 创建开发目录
mkdir C:\Development\HPM
cd C:\Development\HPM
# 克隆HPM SDK
git clone https://github.com/hpmicro/hpm_sdk.git
```
### 2.2 下载Andes工具链
1. 访问 https://github.com/andestech/Andes-Development-Kit/releases
2. 下载最新版本的工具链压缩包
3. 解压到 `C:\Development\HPM\toolchain\` 目录
4. 确保解压后的目录结构为:`C:\Development\HPM\toolchain\nds32le-elf-mculib-v5d\`
### 2.3 配置环境变量
通过系统设置配置环境变量:
1. 右键"此电脑" → "属性"
2. 点击"高级系统设置"
3. 点击"环境变量"
4. 在"系统变量"部分添加以下变量:
**新建系统变量:**
| 变量名 | 变量值 |
|--------|--------|
| `HPM_SDK_BASE` | `C:\Development\HPM\hpm_sdk` |
| `GNURISCV_TOOLCHAIN_PATH` | `C:\Development\HPM\toolchain\nds32le-elf-mculib-v5d` |
| `HPM_SDK_TOOLCHAIN_VARIANT` | `nds-gcc` |
**更新PATH变量:**
在系统变量的PATH中添加:
- `%GNURISCV_TOOLCHAIN_PATH%\bin`
- `C:\Program Files\CMake\bin`
- `C:\Program Files\Git\bin`
## 第三步:VSCode项目配置
### 3.1 创建项目工作空间
1. 在VSCode中打开HPM SDK目录:`C:\Development\HPM\hpm_sdk`
2. 创建`.vscode`目录(如果不存在)
3. 在`.vscode`目录中创建配置文件
### 3.2 配置tasks.json
在`.vscode`目录中创建`tasks.json`文件:
```json
{
"version": "2.0.0",
"tasks": [
{
"label": "构建调试版本",
"type": "process",
"command": "python",
"args": [
"${workspaceFolder}/tools/build.py",
"--board",
"${input:boardType}",
"--output",
"${workspaceFolder}/build"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": [],
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared"
}
},
{
"label": "CMake配置",
"type": "process",
"command": "cmake",
"args": [
"-GNinja",
"-DBOARD=${input:boardType}",
"-DCMAKE_BUILD_TYPE=Debug",
".."
],
"options": {
"cwd": "${workspaceFolder}/build"
},
"group": "build",
"problemMatcher": []
},
{
"label": "Ninja构建",
"type": "process",
"command": "ninja",
"args": [],
"options": {
"cwd": "${workspaceFolder}/build"
},
"group": "build",
"problemMatcher": []
},
{
"label": "清理构建",
"type": "process",
"command": "ninja",
"args": ["clean"],
"options": {
"cwd": "${workspaceFolder}/build"
},
"group": "build",
"problemMatcher": []
}
],
"inputs": [
{
"id": "boardType",
"type": "pickString",
"description": "选择目标板卡类型",
"options": [
"hpm6750evkmini",
"hpm6750evk",
"hpm6360evk",
"hpm5300evk",
"hpm6200evk"
],
"default": "hpm6750evkmini"
}
]
}
```
### 3.3 配置launch.json(调试配置)
在`.vscode`目录中创建`launch.json`文件:
```json
{
"version": "0.2.0",
"configurations": [
{
"name": "Segger Ozone Debug",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/output.elf",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "${env:GNURISCV_TOOLCHAIN_PATH}/bin/riscv32-elf-gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "构建调试版本"
}
]
}
```
### 3.4 配置c_cpp_properties.json
在`.vscode`目录中创建`c_cpp_properties.json`文件:
```json
{
"version": 4,
"configurations": [
{
"name": "HPM SDK",
"includePath": [
"${workspaceFolder}/soc/**",
"${workspaceFolder}/drivers/**",
"${workspaceFolder}/middleware/**",
"${workspaceFolder}/components/**",
"${workspaceFolder}/samples/**",
"${workspaceFolder}/cmake/**",
"${env:GNURISCV_TOOLCHAIN_PATH}/riscv32-elf/include/**"
],
"defines": [
"HPM_SDK",
"__riscv",
"_GNU_SOURCE"
],
"compilerPath": "${env:GNURISCV_TOOLCHAIN_PATH}/bin/riscv32-elf-gcc.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64",
"configurationProvider": "ms-vscode.cmake-tools"
}
]
}
```
### 3.5 配置settings.json
在`.vscode`目录中创建`settings.json`文件:
```json
{
"clangd.path": "clangd",
"clangd.arguments": [
"--compile-commands-dir=${workspaceFolder}/build",
"--header-insertion=never",
"--clang-tidy"
],
"C_Cpp.intelliSenseEngine": "disabled",
"cmake.buildDirectory": "${workspaceFolder}/build",
"cmake.configureOnOpen": true,
"cmake.generator": "Ninja",
"cmake.preferredGenerators": ["Ninja"],
"files.associations": {
"*.h": "c",
"*.c": "c"
},
"terminal.integrated.env.windows": {
"HPM_SDK_BASE": "C:\\Development\\HPM\\hpm_sdk",
"GNURISCV_TOOLCHAIN_PATH": "C:\\Development\\HPM\\toolchain\\nds32le-elf-mculib-v5d",
"HPM_SDK_TOOLCHAIN_VARIANT": "nds-gcc"
}
}
```
## 第四步:构建和调试配置
### 4.1 构建项目
1. 在VSCode中按下 `Ctrl+Shift+P` 打开命令面板
2. 输入 `Tasks: Run Task` 并选择
3. 选择 `构建调试版本`
4. 选择目标板卡类型(例如:hpm6750evkmini)
或者使用快捷键 `Ctrl+Shift+B` 直接构建。
### 4.2 安装和配置Segger Ozone
1. 从Segger官网下载并安装Ozone调试器
2. 确保JLink驱动已正确安装(JLink 11及以上版本)
3. 启动Ozone,创建新项目:
- Target Device: 选择对应的HPM芯片
- Target Interface: SWD
- Program File: 选择构建生成的.elf文件
### 4.3 调试工作流程
1. **构建项目**: 使用VSCode的构建任务生成ELF文件
2. **启动Ozone**: 打开Segger Ozone调试器
3. **加载程序**: 在Ozone中加载生成的ELF文件
4. **连接目标**: 连接到目标硬件
5. **开始调试**: 设置断点并开始调试
## 第五步:开发工作流程
### 5.1 日常开发流程
1. **项目导航**: 使用VSCode的资源管理器浏览项目文件
2. **代码编辑**: 利用clangd提供的智能补全、错误检查等功能
3. **构建项目**: 使用预配置的构建任务快速编译
4. **调试程序**: 使用Segger Ozone进行硬件调试
### 5.2 快捷键总结
| 快捷键 | 功能 |
|--------|------|
| `Ctrl+Shift+B` | 构建项目 |
| `Ctrl+Shift+P` | 打开命令面板 |
| `F5` | 开始调试 |
| `Ctrl+F5` | 运行而不调试 |
| `Ctrl+Shift+F` | 全局搜索 |
### 5.3 故障排除
**常见问题及解决方案:**
1. **环境变量未生效**: 重启VSCode或系统后重试
2. **工具链路径错误**: 检查PATH环境变量中的工具链路径
3. **clangd无法找到头文件**: 确保compile_commands.json文件已生成
4. **构建失败**: 检查环境变量HPM_SDK_BASE和GNURISCV_TOOLCHAIN_PATH是否正确设置
## 总结
通过以上配置,您将拥有一个完整的HPM SDK开发环境,支持跨平台开发(Windows、Linux、macOS),并集成了现代的AI编码辅助工具。该环境提供了出色的开发体验,包括智能代码补全、实时错误检查、便捷的构建流程和强大的调试功能。
开发环境的核心优势包括:
- 统一的CMake项目管理
- 高效的clangd语言服务
- 灵活的构建任务配置
- 专业的Ozone调试支持
- 完整的跨平台兼容性 |
|