HiSpark编程指南

- 使用说明
  - 贡献指南
- 开发环境
  - 环境搭建
  - 固件升级
- 软件平台
  - 软件FAQ

### 该页内容

- 1.按照《星闪实验指导手册》搭建windows环境结果是无法正常编译的（注意：用户名不包含中文路径，如果包含中文路径请参考HiSpark Studio工具下载及安装），报错如下：
- 2.如果在编译的过程中，出现如下报错“ninja：build stopped； subcommand failed flashboot start build”等字段，代表flashboot编译失败（（注意：用户名不包含中文路径，如果包含中文路径请参考HiSpark Studio工具下载及安装），报错信息如下：
- 3.如果在编译的过程中，出现如下报错，“no module named "_curses"
- 4. 如果在编译的过程中，出现如下报错“CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set.You probably need to select a different build tool.”等字段，代表Ninja没有加到环境变量（注意：用户名不包含中文路径，如果包含中文路径请参考HiSpark Studio工具下载及安装），报错信息如下：
- 5.如果在编译的过程中，出现如下报错“ccache:Failed to create directory c:\users\乱码\AppData\Local\ccache/tmp:Permission denied.”等字段，代表没有权限创建文件（注意：用户名不包含中文路径，如果包含中文路径请参考HiSpark Studio工具下载及安装），报错信息如下：
- 6.在编译过程中遇到如下报错出现ModuleNotFoundError: No module named 'utils.build_utils'
- 7.编译过程中报“riscv-linux-musl-gcc.exe:error：createprocess:no such file or directory”等字样
- 8.HiSparkStudio在编译过程，插件已经安装，但是打开系统配置时，报no module named 'kconfiglib'
- 9.在HiSpark编译W63代码时，碰到一个 “ninja:fatal: CreateProcess: The parameter is incorrect. (is the command line too long?)” 的错误
- 10.部分设备 HiSpark Studio 编译过慢的解决方案（Win11），Windows11系统，使用 HiSpark Studio 编译 WS63的 SDK 时（尤其是 “重编译”），有时非常慢，动辄十几分钟，更有甚者几十分钟。

# 环境搭建

## 1.按照《星闪实验指导手册》搭建windows环境结果是无法正常编译的（注意：用户名不包含中文路径，如果包含中文路径请参考HiSpark Studio工具下载及安装），报错如下：

解决方案：

- 步骤一：检查python版本是否安装以及正确，在“命令行窗口”输入Python查看版本号，如果版本号不正确或者python没有安装，参考HiSpark Studio工具下载及安装

- 步骤二： 下载kconfiglib下载链接

- 步骤三： 下载插件cmake下载

- 步骤四： 下载插件pycparser

- 步骤五： 下载插件windows_curses

- 步骤六：将kconfiglib、cmake、pycparser、windows_curses等文件存放在同一个目录下（任意目录即可），在目录文件夹上放输入“cmd”

- 步骤七：输入python -m pip install windows_curses-2.3.3-cp311-cp311-win_amd64.whl回车

- 步骤八：输入python -m pip install cmake-3.20.5-py2.py3-none-win_amd64.whl回车

- 步骤九：输入python -m pip install kconfiglib-14.1.0-py2.py3-none-any.whl回车

- 步骤十：输入python -m pip install pycparser-2.21-py2.py3-none-any.whl回车

- 步骤十一：在IDE中点击“编译”再次编译，编译成功。

## 2.如果在编译的过程中，出现如下报错“ninja：build stopped； subcommand failed flashboot start build”等字段，代表flashboot编译失败（（注意：用户名不包含中文路径，如果包含中文路径请参考HiSpark Studio工具下载及安装），报错信息如下：

解决方案：

- 步骤一 在电脑系统环境变量中，添加环境变量（这里以win10为例，如果是win11，可以在百度搜索如何添加环境变量），在此电脑鼠标“右键”，点击“属性”

- 步骤二：弹出系统属性框，点击“环境变量”

- 在系统环境变量，选择“Path”，双击进入

- 在编辑环境变量中添加“xxx\HiSpark Studio\tools\Windows\ninja”、“xxx\HiSpark Studio\tools\Windows\gn”、“xxx\HiSpark Studio\tools\Windows\cc_riscv32_musl_fp_win\bin”在几个环境变量（xxx代表HiSpark Studio安装目录），添加完成后，点击“确定”。

- 环境变量安装完成后，测试是否添加成， 在“命令行窗口分别输入“ninja --version”、“gn -version”、“riscv32-linux-musl-gcc -v”，出现如下图所示版本号代表成功

- 在IDE中点击“编译”再次编译，编译成功。

## 3.如果在编译的过程中，出现如下报错，“no module named "_curses"

解决方案：

- 步骤一：检查python版本是否安装以及正确，在“命令行窗口”输入Python查看版本号，如果版本号不正确或者python没有安装，参考HiSpark Studio工具下载及安装

- 步骤二：输入pip install windows_curses-2.3.3-cp311-cp311-win_amd64.whl回车

## 4. 如果在编译的过程中，出现如下报错“CMake Error: CMake was unable to find a build program corresponding to "Ninja". CMAKE_MAKE_PROGRAM is not set.You probably need to select a different build tool.”等字段，代表Ninja没有加到环境变量（注意：用户名不包含中文路径，如果包含中文路径请参考HiSpark Studio工具下载及安装），报错信息如下：

解决方案：

- 步骤一 在电脑系统环境变量中，添加环境变量（这里以win10为例，如果是win11，可以在百度搜索如何添加环境变量），在此电脑鼠标“右键”，点击“属性”

- 步骤二：弹出系统属性框，点击“环境变量”

- 在系统环境变量，选择“Path”，双击进入

- 在编辑环境变量中添加“xxx\HiSpark Studio\tools\Windows\ninja”、“xxx\HiSpark Studio\tools\Windows\gn”、“xxx\HiSpark Studio\tools\Windows\cc_riscv32_musl_fp_win\bin”在几个环境变量（xxx代表HiSpark Studio安装目录），添加完成后，点击“确定”。

- 环境变量安装完成后，测试是否添加成， 在“命令行窗口分别输入“ninja --version”、“gn -version”、“riscv32-linux-musl-gcc -v”，出现如下图所示版本号代表成功

- 在IDE中点击“编译”再次编译，编译成功。

## 5.如果在编译的过程中，出现如下报错“ccache:Failed to create directory c:\users\乱码\AppData\Local\ccache/tmp:Permission denied.”等字段，代表没有权限创建文件（注意：用户名不包含中文路径，如果包含中文路径请参考HiSpark Studio工具下载及安装），报错信息如下：

解决方案：

- 步骤一：找到HiSpark Studio图标，并鼠标右键

- 步骤二：选择以管理员身份打开

- 步骤三：在IDE中点击“编译”再次编译，编译成功。

## 6.在编译过程中遇到如下报错出现ModuleNotFoundError: No module named 'utils.build_utils'

================================ [CLEAN SUCCESS] Took 0.00 seconds ================================

================================ [Python环境正常] ================================

Traceback (most recent call last):

File "d:\hispark\fbb_ws63\src\build.py", line 45, in

from cmake_builder import CMakeBuilder

File "D:\hispark\fbb_ws63\src\build\script\cmake_builder.py", line 10, in

from utils.build_utils import exec_shell, root_path, output_root, sdk_output_path, pkg_tools_path

ModuleNotFoundError: No module named 'utils.build_utils'

================================ [FAILED] Took 1.56 seconds ================================

解决方法：

- 步骤一：检查python版本，是否为3.11.4

- 步骤二：如果不属于将python版本更换为3.11.4

## 7.编译过程中报“riscv-linux-musl-gcc.exe:error：createprocess:no such file or directory”等字样

解决方法1：

- 步骤一：找到SDK根目录Cmakelist文件，文件相对路径SDK根目录CMakeLists.txt

- 步骤二：屏蔽掉19-22行内容，重新编译即可

解决方法2：

如果上面方法还是没有解决你的问题，请参考如下方法：

- 步骤一：在G盘或者D盘等目录下新建一个hispark文件夹，将src目录下的所有文件复制到hispark文件夹中，例如将G/fbb_ws63/src目录下的内容，复制到G/hispark文件

- 步骤二：复制完成后，将.hiproj文件删除，.vscode删除

- 步骤三：重新通过HiSpark Studio新建工程导入，工程路径和软件包选择G/hispark目录，重新编译即可

## 8.HiSparkStudio在编译过程，插件已经安装，但是打开系统配置时，报no module named 'kconfiglib'

解决方法:

- 步骤一：检查python版本是否安装以及正确，在“命令行窗口”输入Python查看版本号，如果版本号不正确或者python没有安装

- 步骤二：python版本正确，则输入pip list查看安装的包和版本号

- 步骤三：在python安装目录查找是否有kconfiglib-14.1.0.dist-info这个文件夹，如果没有，则使用python -m pip install kconfiglib=14.1.0

- 步骤4：版本有没有问题情况下，检查一下HiSpark Stuido 的版本号，是否为1.0.0.10及以上版本，如果不是，可以在 https://developers.hisilicon.com/devCenter/index?id=9dfafc50-7189-4fb4-a下载最新版本即可

## 9.在HiSpark编译W63代码时，碰到一个 “ninja:fatal: CreateProcess: The parameter is incorrect. (is the command line too long?)” 的错误

解决方法1:

- 步骤一：把源代码的路径名改短，原来的路径名为: D:\fbb_ws63-master\src 改为: D:\ws63\src这种方法，我试了可行。

解决方法2：

- 第一种把cmake的版本降低，在我编译出现上面这个错误时，我发现我的 cmake版本比较高，版本：3.31.6，然后把 cmake的版本降低到 3.20.5 就解决这个问题了。cmake版本降低的方法比较简单，你把python卸载掉，然后再把HiSpark卸载掉。再重新安装HiSpark会自动安装python 和 需要的 cmake版本。 或者其他方法也可以。

## 10.部分设备 HiSpark Studio 编译过慢的解决方案（Win11），Windows11系统，使用 HiSpark Studio 编译 WS63的 SDK 时（尤其是 “重编译”），有时非常慢，动辄十几分钟，更有甚者几十分钟。

- 步骤一 ：打开 `Windows` 安全中心，点击 “威胁和病毒防护”。

- 步骤二：打开 “病毒威胁和防护设置” 的 “管理设置”，下滑找到 “排除项”， 点击 “添加或删除排除项”。

- 步骤三：在 “排除项” 中添加我们的 `SDK` 目录。