分布式软总线是多种终端设备的统一基座,为设备之间的互联互通提供了统一的分布式通信能力,能够快速发现并连接设备,高效地分发任务和传输数据。分布式软总线示意图见。
HarmonyOS提供了用户程序框架、Ability框架以及UI框架,支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发、多端部署,提升了跨设备应用的开发效率。一次开发、多端部署示意图见图
HarmonyOS整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。HarmonyOS技术架构如图
我在自己的另一篇文章中详细讲解了怎么安装VM+Linux。
YC592-8VF55-M81AZ-FWW5T-WVRV0
FC78K-FKED6-H88LZ-0QPEE-QP8X6
UV1H2-AKWD2-H8EJZ-GGMEE-PCATD
AC310-0VG0P-M88CQ-YWY5Z-QPRG0
CG54H-D8D0H-H8DHY-C6X7X-N2KG6
ZC3WK-AFXEK-488JP-A7MQX-XL8YF
AC5XK-0ZD4H-088HP-9NQZV-ZG2R4
ZC5XK-A6E0M-080XQ-04ZZG-YF08D
ZY5H0-D3Y8K-M89EZ-AYPEG-MYUA8
19. 这里默认就好(默认的是Shanghai)点击【继续】。
20. 创建用户账号,点击【继续】。
21. 安装中。
22. 安装完成,点击【现在重启】。
23. 点击键盘上的回车【Enter】键。 24. 重启后不要有任何操作。 25. 点击【用户名】。 26. 输入密码,点击【登录】。
27. 安装完成
、
1、可以在本机和虚拟机之间拖拽文件 2、是虚拟机的屏幕充满VMware Workstations的窗口
这里以Ubuntu 16.04为例,其他的步骤都大致相同
开始安装之后见到yes,就输入yes。其他的就一路回车按(Enter)直到出现“Enjoy, –the VMware team”如下图,就表示安装成功了,然后手动重启虚拟机,虚拟机的屏幕充满VMware Workstations的窗口。
也可以在本机和虚拟机之间直接拖拽文件了
查看shell是否为bash,在终端运行如下命令
ls -l /bin/sh
1
如果显示为“/bin/sh -> bash”则为正常,否则请按以下方式修改:
方法一:在终端运行如下命令,然后选择 no。
sudo dpkg-reconfigure dash
1
方法二:先删除sh,再创建软链接。
sudo rm -rf /bin/sh
sudo ln -s /bin/bash /bin/sh
12
which python3.8
cd /usr/bin && sudo rm python && sudo ln -s /usr/local/bin/python3.8 python && python --version
12
命令行方式:
sudo apt-get install python3-setuptools python3-pip -y
sudo pip3 install --upgrade pip
12
安装包方式:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
12
pip3 install setuptools
1
命令行方式:
sudo pip3 install kconfiglib
1
安装包方式: 下载.whl文件(例如:kconfiglib-13.2.0-py2.py3-none-any.whl)。 下载路径:“https://pypi.org/project/kconfiglib#files”
运行如下命令,安装.whl文件。
sudo pip3 install kconfiglib-13.2.0-py2.py3-none-any.whl
1
安装升级文件签名依赖的Python组件包,包括:pycryptodome、six、ecdsa。安装ecdsa依赖six,请先安装six,再安装ecdsa。 命令行方式:
sudo pip3 install pycryptodome
1
安装包方式: 下载.whl文件(例如:pycryptodome-3.7.3-cp37-cp37m-manylinux1_x86_64.whl)。 下载路径:“https://pypi.org/project/pycryptodome/#files”。
运行如下命令,安装.whl文件。
sudo pip3 install pycryptodome-3.7.3-cp37-cp37m-manylinux1_x86_64.whl
1
命令行方式:
sudo pip3 install ecdsa
1
安装包方式: 下载.whl文件(例如:ecdsa-0.14.1-py2.py3-none-any.whl)。 下载路径:“https://pypi.org/project/ecdsa/#files”
运行如下命令,安装.whl文件。
sudo pip3 install ecdsa-0.14.1-py2.py3-none-any.whl
1
打开Linux编译服务器终端。 运行如下命令,安装SCons安装包。
sudo apt-get install scons -y
1
如果软件源中无法找到安装包,请按以下步骤处理:
下载源码包(下载路径:“ https://scons.org/pages/download.html ”,推荐SCons版本是3.0.4+)。 解压源码包到任意目录。 安装源码包:进入解压目录,运行如下命令:
sudo python3 setup.py install
1
运行如下命令,查看是否安装成功。如果安装成功,查询结果下图所示。
scons -v
1
如果后续通过“HPM组件方式”或“HPM包管理器命令行工具方式”获取源码,不需要安装gn、ninja、gcc_riscv32编译工具。
(推荐)如果后续通过“镜像站点方式”或“代码仓库方式”获取源码,需要安装gn、ninja、gcc_riscv32编译工具。 安装gn、ninja、gcc_riscv32编译工具时,请确保编译工具的环境变量路径唯一。
官网 打开Linux编译服务器终端。 下载gn工具。 解压gn安装包至~/gn路径下。
tar -xvf gn.1523.tar -C ~/
1
设置环境变量。
vim ~/.bashrc
1
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
export PATH=~/gn:$PATH
1
生效环境变量。
source ~/.bashrc
1
打开Linux编译服务器终端。 下载ninja工具。 解压ninja安装包至~/ninja路径下。
tar -xvf ninja.1.9.0.tar -C ~/
1
设置环境变量。
vim ~/.bashrc
1
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
export PATH=~/ninja:$PATH
1
生效环境变量。
source ~/.bashrc
1
须知 Hi3861平台仅支持使用libgcc运行时库的静态链接,不建议开发者使用libgcc运行时库的动态链接,会导致商业分发时被GPL V3污染。
打开Linux编译服务器终端。 下载gcc_riscv32工具。 解压gcc_riscv32安装包至~/gcc_riscv32路径下。
`tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~`/
1
设置环境变量
vim ~/.bashrc
1
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
export PATH=~/gcc_riscv32/bin:$PATH
1
生效环境变量。
source ~/.bashrc
1
riscv32-unknown-elf-gcc -v
1
打开设置环境变量
vim ~/.bashrc
1
在最下面添加这几行
export PATH=~/gn:$PATH
export PATH=~/ninja:$PATH
export PATH=~/gcc_riscv32/bin:$PATH
123
保存
source ~/.bashrc
1
现在可以查看这些环境变量
echo $PATH
12
开发者需要在Linux服务器上下载一套源代码,获取源码(下载链接)。更多源码获取方式,请见源码获取。
在Linux终端中输入
tar -xzvf code-1.0.tar.gz
1
在终端上输入
python build.py wifiiot
1
使用HarmonyOS IDE工具DevEco的终端工具连接Linux服务器。(HarmonyOS IDE工具DevEco集成了终端工具的能力,基本使用请参考指导文档) 依次点击“View”、“Terminal”,打开IDE终端工具。
在终端界面使用ssh命令连接linux服务器,如“ssh user@ipaddr”。
进入源码目录下,运行程序
输入 python build.py wifiiot
构建成功后,会在./out/wifiiot/路径中生成以下文件,至此编译构建流程结束。
出现这种问题的原因往往是python的软连接的问题
我的解决方法:
进入环境变量,删除错误的python环境配置,保存退出
然后 which python3
出现
/usr/bin/python
1
输入 python -v 出现 python 3.8.5 之后就可以运行成功了 本质就是把bin里面的python换成3.8的软连接