|
| 1 | +--- |
| 2 | +id: env-setup-hpm |
| 3 | +title: HPM 环境配置 |
| 4 | +sidebar_position: 6 |
| 5 | +--- |
| 6 | + |
| 7 | +# HPM 环境配置 |
| 8 | + |
| 9 | +本文目前只覆盖 HPM 开发环境的基础配置,不包含 LibXR 自动代码生成部分。 |
| 10 | + |
| 11 | +先楫官方的快速入门手册配置比较麻烦且并无新建工程的操作,因此本文以这篇文章为基础进行介绍 |
| 12 | +[[HPM杂谈]你想要了解的先楫hpm_sdk开发都在这里系列 (二)](https://www.hpmicro.com/service-support/technical-articles/212) |
| 13 | + |
| 14 | +> 在阅读上述文章前,你需要先了解一点:当前仓库名为 `sdk_env`,其中已包含 `hpm_sdk`。另外,由于其中包含需要配置环境变量的内容,建议将其存放在固定且不易移动的位置。本文示例统一使用 `D:/HPM/sdk_env`。 |
| 15 | +
|
| 16 | + |
| 17 | +根据网络状况选择 `gitee` 或 `github` 源进行克隆。 |
| 18 | + |
| 19 | +```sh |
| 20 | + # gitee |
| 21 | + git clone https://gitee.com/hpmicro/sdk_env.git D:/HPM/sdk_env |
| 22 | + # github |
| 23 | + git clone https://github.com/hpmicro/sdk_env.git D:/HPM/sdk_env |
| 24 | +``` |
| 25 | + |
| 26 | +若终端可上网但 `git clone github` 失败,可先为命令行配置代理(示例端口 `7897`): |
| 27 | + |
| 28 | +```powershell |
| 29 | +git config --global http.proxy http://127.0.0.1:7897 |
| 30 | +git config --global https.proxy http://127.0.0.1:7897 |
| 31 | +``` |
| 32 | + |
| 33 | +此处以`hpm5301evklite`开发板为例,其余配置均保持默认 |
| 34 | + |
| 35 | +# 新建工程 |
| 36 | + |
| 37 | +自行创建一个`CMakeLists.txt`内容如下 |
| 38 | + |
| 39 | +```cmake |
| 40 | +# Copyright (c) 2021 HPMicro |
| 41 | +# SPDX-License-Identifier: BSD-3-Clause |
| 42 | +
|
| 43 | +cmake_minimum_required(VERSION 3.13) |
| 44 | +
|
| 45 | +find_package(hpm-sdk REQUIRED HINTS $ENV{HPM_SDK_BASE}) |
| 46 | +
|
| 47 | +project(user_app) |
| 48 | +
|
| 49 | +sdk_app_inc(inc) |
| 50 | +sdk_app_src(src/main.cpp) |
| 51 | +
|
| 52 | +``` |
| 53 | + |
| 54 | +加入`src/main.cpp`(为了方便融入LibXR,此处直接使用了main.cpp),内容如下: |
| 55 | +```cpp |
| 56 | +#include <stdio.h> |
| 57 | +#include "board.h" |
| 58 | + |
| 59 | +int main(void) |
| 60 | +{ |
| 61 | + board_init(); |
| 62 | + |
| 63 | + while(1) { |
| 64 | + ; |
| 65 | + } |
| 66 | + return 0; |
| 67 | +} |
| 68 | + |
| 69 | +``` |
| 70 | +
|
| 71 | +
|
| 72 | +>前提:已经设置好环境变量了。若使用 `sdk_env\hpm_sdk\env.cmd` 设置系统环境变量后又移动了 `sdk_env`,直接重新运行该脚本可能无法自动修复旧路径,需要手动到系统环境变量中改为最新路径。 |
| 73 | +> |
| 74 | +> **强烈建议一次配置完毕之后不要移动路径,重新配置系统变量非常麻烦** |
| 75 | +
|
| 76 | +示例工程文件结构如下 |
| 77 | + |
| 78 | +
|
| 79 | +> linkers可忽略,在gui配置时可配置为本地ld文件,若不配置则使用默认ld文件,此处为了高级开发保留了该目录,这些文件可从`sdk_env\user_template\user_app`获取 |
| 80 | +
|
| 81 | +然后运行`sdk_env\start_gui.exe` |
| 82 | +
|
| 83 | +按照下图配置 |
| 84 | + |
| 85 | +
|
| 86 | +其中框出的区域是刚刚新建工程的路径。为了方便 VSCode 配置,我们将`生成文件夹`设置为`build`而非默认的长字符串。 |
| 87 | +
|
| 88 | +然后点击`本地化SDK` |
| 89 | +
|
| 90 | +## VSCode 环境配置 |
| 91 | +
|
| 92 | +安装以下插件(或者直接创建`.vscode`文件夹,新建`extensions.json`,将下面内容粘贴,然后在扩展处安装工作区推荐插件) |
| 93 | +```json |
| 94 | +{ |
| 95 | + "recommendations": [ |
| 96 | + "llvm-vs-code-extensions.vscode-clangd", |
| 97 | + "ms-vscode.cmake-tools", |
| 98 | + "josetr.cmake-language-support-vscode", |
| 99 | + "hpmicro.hpm-pinmux-tool", |
| 100 | + ] |
| 101 | +} |
| 102 | +``` |
| 103 | + |
| 104 | +按下面步骤配置 |
| 105 | + |
| 106 | + |
| 107 | + |
| 108 | +找到 `sdk_env` 的路径(`D:/HPM/sdk_env`),然后选择文件夹 |
| 109 | + |
| 110 | + |
| 111 | + |
| 112 | +此时就可以找到`GCC 13.2.0 riscv32-unknown-elf`,选择后即可使用CMake插件进行管理 |
| 113 | + |
| 114 | +现在按`F7`即可完成编译 |
| 115 | + |
| 116 | + |
| 117 | + |
0 commit comments