开发板名称
NearLink_DK_WS63
模组名称
HH-SPARK-WS63
最初,拿到开发板,我最先找到润和官网,除了一个开箱视频和开发板以及模块的规格书(非常简易),并没有太多可以参考的资料。
当然,因为我并不经常用百度,所以一直都没有找到太多Nearlink-DK-WS63E的资料。
不断的搜索+AI提问,其实没有太好的答案。其间,还曾经试过安装DevEco Device Tool,强制安装了Python3.8和VS Code,搞得我的Host环境崩溃。从那时起,我就决定要用docker来做环境搭建,当然,这是我一直比较喜欢的做法,安全,试错成本低。也因为早已是深度的Linux开发者,所以就放弃了windows。最可悲的是搜索论坛时,发现其他人写的开发环境都是HiSpark Studio+ Windows。
资料找不到,我一直踉踉跄跄的找着,后来搜到海思的论坛,里面介绍了一个vmware的系统整个打包的案例,深感不方便。
看见https://gitee.com/hihopeorg_group/near-link/tree/master/OH-SDK,这里面的sdk readme赫然写着“WS63 OpenHarmony SDK 请联系淘宝客户获取, 获得SDK后,请在Linux环境下解压”
所以,找到 首页-润和芯片社区企业店-淘宝网
获得资料
按着这份sdk readme,一路编译下来,一直到“编译工程”之前,都能解决问题,但是进入到“编译工程”,无论如何遇到许多的errors,就是过不去了。
整个过程走下来,花了几十个小时是肯定有的。但是似乎一直在绕,这种绕多数是因为找不到官方的一些资讯。这种资讯,猜测会不会是因为它的玩法就不是针对个人开发者和C端客户的呢?虽然它的硬件配置按官方来说,非常强大,但是软件和开发方式则显得扑朔迷离。
- 到底哪里是官方的平台,如果星闪Nearlink是一种技术,是不是该属于发起技术的机构,而不是设备生产商,按逻辑来说,应该是这样,对吧。
- 还有,到底那么多概念,例如HiSpark/Nearlink/Hisilicon/Hi3861/Hi3863/WS63E/WS63/DevEco Device Tool/LiteOS/OpenHarmony,有没有一个比较权威的渠道可以找到一个tutorial。慢慢找当然也能找到,但是据目前来看,我看见说Windows+Linux都可以开发,但是所有答案都是清一色的Windows+HiSpark Studio,如此的同质化的根源到底是什么,应该都能想得到。sdk理论上应该是润和给,实际最后也是,但是他默认你知道他的一切资料得去代码仓库找,也默认你知道他的代码仓库就是在gitee,除此之外,没有别的地方了。官方网站好像是专门负责消音,连下一步的线索(例如提示:请前往gitee.com/xxx获取代码)也找不着。这无疑是毫无必要的增加了开发的难度。
- 这么强的技术背景和公司背景,但是做出来的的产品,却还有一定的提升空间。
以下是此次的dockerfile & compose.yml,抛砖引玉,也给自己留作记录,下一步更深度的了解这块板子之后的开发来使用
- Dockerfile
FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
WORKDIR /workspace
COPY oh_sdk_latest.tar.gz /workspace
RUN echo '\\\\
deb <http://mirrors.aliyun.com/ubuntu/> focal main restricted universe multiverse\\\\n\\\\
deb <http://mirrors.aliyun.com/ubuntu/> focal-security main restricted universe multiverse\\\\n\\\\
deb <http://mirrors.aliyun.com/ubuntu/> focal-updates main restricted universe multiverse\\\\n\\\\
deb <http://mirrors.aliyun.com/ubuntu/> focal-proposed main restricted universe multiverse\\\\n\\\\
deb <http://mirrors.aliyun.com/ubuntu/> focal-backports main restricted universe multiverse\\\\n\\\\
' > /etc/apt/sources.list
RUN mkdir -p /root/.pip && echo '\\\\
[global]\\\\n\\\\
index-url = <https://mirrors.aliyun.com/pypi/simple/\\\\n\\\\>
trusted-host = mirrors.aliyun.com\\\\n\\\\
timeout = 120\\\\n\\\\
' > /root/.pip/pip.conf
RUN set -ex \\\\
&& apt-get update \\\\
&& apt-get install -y \\\\
curl \\\\
wget \\\\
git \\\\
vim \\\\
python3.8 \\\\
python3.8-dev \\\\
python3.8-distutils \\\\
python3-pip \\\\
cmake \\\\
&& ln -sf /usr/bin/python3.8 /usr/bin/python3 \\\\
&& ln -sf /usr/bin/python3.8 /usr/bin/python
RUN curl -o- <https://gitee.com/mirrors/nvm/raw/master/install.sh> | bash \\\\
&& export NVM_DIR="$HOME/.nvm" \\\\
&& [ -s "$NVM_DIR/nvm.sh" ] && \\\\. "$NVM_DIR/nvm.sh" \\\\
&& [ -s "$NVM_DIR/bash_completion" ] && \\\\. "$NVM_DIR/bash_completion" \\\\
&& nvm install 22 \\\\
&& nvm install 20 \\\\
&& nvm alias default 22 \\\\
&& nvm use 22 \\\\
&& npm config set registry <https://registry.npmmirror.com>
RUN echo '\\\\
export NVM_DIR="$HOME/.nvm"\\\\n\\\\
[ -s "$NVM_DIR/nvm.sh" ] && \\\\. "$NVM_DIR/nvm.sh"\\\\n\\\\
[ -s "$NVM_DIR/bash_completion" ] && \\\\. "$NVM_DIR/bash_completion"\\\\n\\\\
' >> ~/.bashrc
WORKDIR /workspace/sdk
SHELL ["/bin/bash", "-l", "-c"]
CMD ["bash", "-l"]
- docker-compose.yml
services:
ws63-dev:
build:
context: .
dockerfile: Dockerfile
image: image_ws63
container_name: container_ws63
network_mode: "host"
volumes:
- ./sdk:/workspace/sdk
- ./src:/workspace/src
privileged: true
tty: true
stdin_open: true
environment:
- TERM=xterm-256color
entrypoint: >
/bin/bash -c "
cd /workspace &&
if [ ! -d /workspace/sdk/near_link_sdk ]; then
tar -axvf /workspace/oh_sdk_latest.tar.gz -C /workspace/sdk/;
cd /workspace/sdk/near_link_sdk &&
mkdir -p developtools/ace_ets2bundle/compiler &&
mkdir -p developtools/ace_js2bundle/ace-loader &&
mkdir -p third_party/jsframework &&
mkdir -p third_party/parse5/packages/parse5 &&
mkdir -p third_party/weex-loader &&
mkdir -p arkcompiler/ets_frontend/legacy_bin/api9 &&
mkdir -p arkcompiler/ets_frontend/legacy_bin/api8 &&
mkdir -p interface/sdk-js/build-tools &&
mkdir -p arkcompiler/ets_frontend/arkguard;
fi;
exec bash"
|