本帖最后由 HJ_Guang 于 2023-11-15 16:32 编辑
本文参考: 零基础搭建小安派Windows 开发环境 (出处: 物联网开发者社区-安信可论坛)
现有环境: VS code 代码编辑器 Git工具
环境搭建过程 1.克隆小安派源码工程——此步骤依赖Git工具 在想要存放源码工程的位置(建议最好不要有中文路径)点击鼠标右键选择Open Gitbash here即可打开Git工具。如下图所示。 接着输入指令(可以复制运行): - git clone <a href="https://gitee.com/Ai-Thinker-Open/AiPi-Open-Kits.git"><span style="color: windowtext; text-decoration-line: none;">https://gitee.com/Ai-Thinker-Open/AiPi-Open-Kits.git</span></a>
复制代码
如下图所示为右键粘贴所在位置,也可使用快捷键“shift+Ins”进行粘贴 开始克隆小安派的SDK。 等待进度到达100%即克隆完成 等到显示“$”可以进行下一步。
在拉取SDK之前,需要修改一下子模块的来源,不然可能会拉取失败。
进入AiPi-Open-Kits 中,用文本打开.gitmodules 文件url 参数中的 github.com 改成gitee.com。如下图所示。
3.子模块拉取 然后在git 工具中分别执行下列代码:(一行一行执行,执行完一行等待出现“$”)
在第三步指令输入后的等待时间可能会稍微较长,同样需要等待“$”出现才能进行下一步
2.接下来设置环境变量 需要将以下路径都设置进环境变量中(以下路径为工程内路径)(设置此步骤需要先确认以下三个路径是否存在,若不存在说明上一步拉取子模块失败,需要重新进行上一步) aithinker_Ai-M6X_SDK\toolchain_gcc_t-head_windows\bin aithinker_Ai-M6X_SDK\tools\make aithinker_Ai-M6X_SDK\tools\ninja
设置过程如下:
打开编辑系统环境变量(方法不止一种,这里采用win+s打字输入“环境变量”,搜索出对应结果回车) 然后会弹出下图所示界面,点击环境变量 选择下图中的系统变量中的Path变量选择编辑 然后选择新建,粘贴进上文中的3个相对应路径即可,如下图所示:
(需要是文件夹完整路径,从盘符开头见下下图) 4.验证是否成功设置 Win+R快捷键输入cmd后回车进入控制台 输入
成功则输出 - <p class="MsoNormal"><span lang="EN-US">Built for x86_64-w64-mingw32<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN-US">Copyright (C) 1988-2016 Free Software
- Foundation, Inc.<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN-US">License GPLv3+: GNU GPL version 3 or later
- <http://gnu.org/licenses/gpl.html><o:p></o:p></span></p><p class="MsoNormal"><span lang="EN-US">This is free software: you are free to
- change and redistribute it.<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN-US">There is NO WARRANTY, to the extent
- permitted by law.</span></p>
复制代码
输入 - riscv64-unknown-elf-gcc -v
复制代码
成功则输出 - <p class="MsoNormal"><span lang="EN-US">Using built-in specs.<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN-US">COLLECT_GCC=riscv64-unknown-elf-gcc<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN-US">COLLECT_LTO_WRAPPER=c:/users/hj-guang/</span>成品<span lang="EN-US">/git/aipi-open-kits/aithinker_ai-m6x_sdk/toolchain_gcc_t-head_windows/bin/../libexec/gcc/riscv64-unknown-elf/10.2.0/lto-wrapper.exe<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN-US">Target: riscv64-unknown-elf<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN-US">Configured with:
- /mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/./source/riscv/riscv-gcc/configure
- --target=riscv64-unknown-elf --host=i686-w64-mingw32
- --with-gmp=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/build-Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/lib-for-gcc-mingw
- --with-mpfr=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/build-Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/lib-for-gcc-mingw
- --with-mpc=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/build-Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/lib-for-gcc-mingw
- --with-libexpat-prefix=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/build-Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/lib-for-gcc-mingw
- --with-libmpfr-prefix=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/build-Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/lib-for-gcc-mingw
- --with-pkgversion='Xuantie-900 elf newlib gcc Toolchain V2.6.1 B-20220906'
- CXXFLAGS='-g -O2 -DTHEAD_VERSION_NUMBER=2.6.1 ' --enable-libgcctf
- --prefix=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/Xuantie-900-gcc-elf-newlib-mingw-V2.6.1
- --disable-shared --enable-threads=posix --enable-languages=c,c++
- --without-system-zlib --enable-tls --with-newlib
- --with-sysroot=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/build-gcc-riscv64-unknown-elf/Xuantie-900-gcc-elf-newlib-mingw-V2.6.1/riscv64-unknown-elf
- --with-native-system-header-dir=/include --disable-libmudflap --disable-libssp
- --disable-libquadmath --disable-libgomp --disable-nls
- --disable-tm-clone-registry --src=/mnt/ssd/jenkins_iotsw/slave/workspace/Toolchain/build-gnu-riscv/./source/riscv/riscv-gcc
- --enable-multilib --with-abi=lp64d --with-arch=rv64gcxthead
- 'CFLAGS_FOR_TARGET=-Os -mcmodel=medany'
- 'CXXFLAGS_FOR_TARGET=-Os
- -mcmodel=medany'<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN-US">Thread model: posix<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN-US">Supported LTO compression algorithms: zlib
- zstd<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN-US">gcc version 10.2.0 (Xuantie-900 elf newlib
- gcc Toolchain V2.6.1 B-20220906)</span></p>
复制代码
验证成功图如下:
编译源码
打开vscode软件,选择“文件-打开文件夹” 打开从git拉取的“AiPi-Open-Kits”文件夹,如图所示 随意选择一个文件夹(项目),右键选择“在集成终端中打开” 在下图中此处输入”make”,进行编译程序 此时显示如下问题:“系统找不到指定的文件” 解决这个问题我们首先把中文路径去除(将该工程源码剪切至纯英文路径,并修改系统变量,然后重新用vscode打开工程……所以最开始不要放在中文路径中)。 若此时还是出现这个问题,如下图。 那就需要找到下图文件AiPi-Open-Kits\aithinker_Ai-M6X_SDK\ 目录下的 project.build 并用文本文档打开。 打开之后找到如下图所示的三行文字,在其前面加入“#”号,保存退出。 如下图,重新输入make,此时我们发现工程正常编译了
大功告成!
|