农产品网站策划,微信扫码登录wordpress,买网站平台名字吗,wordpress集成幻灯目录
引言
关于SDK
安装步骤
1. 更新并安装基本依赖
2. 设置 Python 3.8 为默认版本
3. 安装 Python 依赖
4. 安装有冲突的包
5. 设置工作目录
6. 设置环境变量
7. 下载预构建文件以及安装编译工具
8. 编译工程
nearlink_dk_3863
设置编译产品
编译 制品存放路径…目录
引言
关于SDK
安装步骤
1. 更新并安装基本依赖
2. 设置 Python 3.8 为默认版本
3. 安装 Python 依赖
4. 安装有冲突的包
5. 设置工作目录
6. 设置环境变量
7. 下载预构建文件以及安装编译工具
8. 编译工程
nearlink_dk_3863
设置编译产品
编译 制品存放路径
nearlink_dk_3863_xts
设置编译产品
编译
制品存放路径
build_xtstrue 的解释
磁盘空间占用
结语 引言
前段时间我参加了星闪开发者体验官的活动对星闪WS63E开发板进行了测试相关的过程都发表在博客上了。当时使用的是海思提供的SDK有关环境配置参见【星闪开发连载】WS63E开发板Windows环境的构建_hispark studio-CSDN博客。润和也提供了OpenHarmony的SDK不过当时没有测试接下来做一些测试工作。
关于SDK
目前润和的OpenHarmony SDK还没有对外公开需要的可以向润和的客服索要。我测试的版本是oh_sdk_20241022.tar.gz。据说润和马上就要对外公布OpenHarmony SDK。这个SDK是基于OpenHarmony 5.0x的因为只有OpenHarmony 5.01以上的版本才支持星闪芯片。相对于海思的SDK而言OpenHarmony SDK其实要复杂的多整个SDK大概有1.6GB里面有星闪用不到的代码但是没有被删除解压后大概9GB多一些。
安装步骤
下面在一个全新的Ubuntu 20.04系统上搭建开发环境。我专门租用了华为的ECS服务器Ubuntu 20.04系统来完成这个工作考虑到OpenHarmony SDK庞大的尺寸我选择了有100GB的配置实际上可能用不了那么多但是确保系统有40GB的空余空间应该是必要的因为安装之前还会下载很多库非常庞大。
我刚开始曾经想用OpenHarmony官方的轻量级Docker来做这个工作不过事实证明这个Docker编译星闪WS63E问题很多所以就放弃了。估计这个Docker对于OpenHarmony 5.0x的支持有问题。
下面的安装步骤参考了海思论坛上的介绍海思社区并根据自己的操作经验进行了修订。
1. 更新并安装基本依赖
首先更新您的包管理器并安装一些基本的依赖项
sudo apt-get update
sudo apt-get install -y software-properties-common apt-utils
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install -y \cmake binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev-i386 libc6-dev \lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc \gnutls-bin python3.8 python3-pip ruby genext2fs device-tree-compiler make libffi-dev e2fsprogs pkg-config perl openssl \libssl-dev libelf-dev libdwarf-dev u-boot-tools mtd-utils cpio doxygen liblz4-tool openjdk-8-jre gcc g texinfo dosfstools \mtools default-jre default-jdk libncurses5 wget scons python3.8-distutils tar rsync git-core libxml2-dev lib32z-dev grsync \xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools pcmciautils quota ppp libtinfo-dev \libtinfo5 libncursesw5 libstdc6 vim ssh locales libxinerama-dev libxcursor-dev libxrandr-dev libxi-dev
sudo apt-get clean
sudo rm -rf /var/lib/apt/lists/*
2. 设置 Python 3.8 为默认版本
为了确保系统使用 Python 3.8华为的ECS上的Python版本是3.8.10请运行以下命令第二个命令在华为ECS上可以省略
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 13. 安装 Python 依赖
安装 pycparser 和 cmake
python3 -m pip install pycparser cmake4. 安装有冲突的包
某些包需要单独安装
sudo apt-get update
sudo apt-get install -y gcc-multilib g-multilib
sudo apt-get clean
sudo rm -rf /var/lib/apt/lists/*5. 设置工作目录
假设您的 SDK 路径为 /path/to/your/sdk。为了使每次执行都能自动找到SDK路径可以将其添加到环境变量中。在 ~/.bashrc 文件中添加以下行
echo export SDK_PATH/path/to/your/sdk ~/.bashrc
source ~/.bashrc之后您可以更改工作目录到SDK路径
cd $SDK_PATH6. 设置环境变量
为了使编译工具链和其他工具可用需要将它们添加到 PATH 中
echo export PATH$SDK_PATH/device/soc/hisilicon/ws63v100/sdk/tools/bin/compiler/riscv/cc_riscv32_musl_100/cc_riscv32_musl/bin:$PATH ~/.bashrc
echo export PATH~/.local/bin:$PATH ~/.bashrc
echo export PATH$SDK_PATH/prebuilts/clang/ohos/linux-x86_64/llvm/bin:$PATH ~/.bashrc
echo export LC_ALLC ~/.bashrc
echo export LANGC ~/.bashrc
source ~/.bashrc注意海思论坛原文给出的路径是 $SDK_PATH/device/soc/hisilicon/ws63v100/sdkv100/tools/bin/compiler/riscv/cc_riscv32_musl_b090/cc_riscv32_musl/bin。不过我的SDK的路径是上面写的估计这是因为使用的SDK版本不同导致的。所以您在测试时建议看看自己的SDK中的习惯路径。
建议在执行完以上的语句后执行riscv32-linux-musl-gcc -v以确保路径设置正确。如果正确应该是类似下面的输出
rootnear-link:~/near_link_sdk# riscv32-linux-musl-gcc -v
Using built-in specs.
COLLECT_GCCriscv32-linux-musl-gcc
COLLECT_LTO_WRAPPER/root/near_link_sdk/device/soc/hisilicon/ws63v100/sdk/tools/bin/compiler/riscv/cc_riscv32_musl_100/cc_riscv32_musl/bin/../libexec/gcc/riscv32-linux-musl/7.3.0/lto-wrapper
Target: riscv32-linux-musl
Configured with: /devcloud/workspace/cc_source/build/cc_riscv32_musl/../../open_source/cc_riscv32_musl_build_src/gcc/configure --buildx86_64-pc-linux-gnu --hostx86_64-pc-linux-gnu --targetriscv32-linux-musl --with-archrv32imc --prefix/devcloud/workspace/cc_source/build/cc_riscv32_musl/riscv32_elf_musl_build_dir/cc_riscv32_musl --disable-multilib --disable-__cxa_atexit --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-libgomp --enable-libssp --disable-threads --enable-shared --with-abiilp32 --enable-poison-system-directories --enable-symversgnu --with-pkgversionbuild ver102.010 2024-04-2 --enable-languagesc,c --with-headers/devcloud/workspace/cc_source/build/cc_riscv32_musl/riscv32_elf_musl_build_dir/cc_riscv32_musl/sysroot/usr/include --with-sysroot/devcloud/workspace/cc_source/build/cc_riscv32_musl/riscv32_elf_musl_build_dir/cc_riscv32_musl/sysroot --with-build-sysroot/devcloud/workspace/cc_source/build/cc_riscv32_musl/riscv32_elf_musl_build_dir/cc_riscv32_musl/sysroot --with-gmp/devcloud/workspace/cc_source/build/cc_riscv32_musl/riscv32_elf_musl_build_dir/obj/host-libs/usr --with-mpfr/devcloud/workspace/cc_source/build/cc_riscv32_musl/riscv32_elf_musl_build_dir/obj/host-libs/usr --with-mpc/devcloud/workspace/cc_source/build/cc_riscv32_musl/riscv32_elf_musl_build_dir/obj/host-libs/usr --with-isl/devcloud/workspace/cc_source/build/cc_riscv32_musl/riscv32_elf_musl_build_dir/obj/host-libs/usr --with-build-time-tools/devcloud/workspace/cc_source/build/cc_riscv32_musl/riscv32_elf_musl_build_dir/cc_riscv32_musl/riscv32-linux-musl/bin --libdir/devcloud/workspace/cc_source/build/cc_riscv32_musl/riscv32_elf_musl_build_dir/cc_riscv32_musl/lib --disable-libitm --with-system-zlib
Thread model: single
gcc version 7.3.0 (build ver102.010 2024-04-2)
7. 下载预构建文件以及安装编译工具
此处做了一点简化运行以下命令下载必要的预构建文件及安装编译工具
$SDK_PATH/build/prebuilts_download.sh
python3 -m pip install --user $SDK_PATH/build/hb || (python3 -m pip uninstall -y ohos-build python3 -m pip install --user $SDK_PATH/build/hb)$SDK_PATH/build/prebuilts_download.sh会在和SDK父目录下建立openharmony_prebuilts目录然后现在很多工具由于部分工具非常庞大1GB以上所以现在过程很长。我不确定这些工具都是必须的感觉上只有llvm编译器是必须的。我没有尝试修改这个脚本有兴趣的朋友可以看看。
这个脚本执行会失败错误如下
start npm install, please wait.
Traceback (most recent call last):File /root/near_link_sdk/build/prebuilts_download.py, line 430, in modulesys.exit(main())File /root/near_link_sdk/build/prebuilts_download.py, line 407, in mainresult, error _npm_install(args)File /root/near_link_sdk/build/prebuilts_download.py, line 263, in _npm_installraise Exception({} not exist, it shouldnt happen, pls check....format(full_code_path))
Exception: /root/near_link_sdk/developtools/ace_ets2bundle/compiler not exist, it shouldnt happen, pls check...
失败的原因是SDK里面没有developtools/ace_ets2bundle/compiler但是这个错误可以忽略不影响后面的步骤。
通过以上步骤您应该已经成功搭建了开发环境。请根据具体项目的需求进行进一步的配置和调试。
8. 编译工程
nearlink_dk_3863
设置编译产品
hb set -p nearlink_dk_3863编译
hb build -f编译还算快最后看到这些就成功了
…………
[OHOS INFO] Filesystem: tmpfs, Size: 5.0M, Used: 0, Available: 5.0M, Use%: 0%, Mounted on: /run/lock[OHOS INFO] Filesystem: tmpfs, Size: 3.7G, Used: 0, Available: 3.7G, Use%: 0%, Mounted on: /sys/fs/cgroup[OHOS INFO] Filesystem: tmpfs, Size: 757M, Used: 0, Available: 757M, Use%: 0%, Mounted on: /run/user/0[OHOS INFO] Filesystem: overlay, Size: 99G, Used: 36G, Available: 59G, Use%: 38%, Mounted on: /var/lib/docker/overlay2/272189b968d8efeb63b7735f7814da21356df63d8b0a2ca37ae571389fc21ee3/merged
[OHOS INFO] nearlink_dk_3863 build success
[OHOS INFO] Cost Time: 0:01:10 制品存放路径
编译完成后制品存放在以下路径
out/nearlink_dk_3863/nearlink_dk_3863/ws63-liteos-app/这个目录下的fwpkg文件就是用来烧录的。
rootnear-link:~/near_link_sdk# ls out/nearlink_dk_3863/nearlink_dk_3863/ws63-liteos-app/
ws63-liteos-app_all.fwpkg ws63-liteos-app_load_only.fwpkg
nearlink_dk_3863_xts
设置编译产品
hb set -p nearlink_dk_3863编译
hb build -f -b debug --gn-args build_xtstrue制品存放路径
编译完成后制品存放在以下路径
out/nearlink_dk_3863/nearlink_dk_3863_xts/ws63-liteos-xts/build_xtstrue 的解释
在构建过程中build_xtstrue 参数用于启用扩展测试套件XTS。该参数指示编译系统包含额外的测试模块、工具或调试信息。这对于需要更全面测试和验证的开发场景非常有用。
磁盘空间占用
编译完成之后看了一下磁盘的占用情况其中near_link_sdk大概20GBopenharmony_prebuilts大概4.1GB。
结语
除了上文提到的问题总体来说编译过程还算顺利。后面会尝试烧写和写点测试程序。