0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】第2章 OpenHarmony开发环境搭建

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-01 15:26 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文来源电子发烧友社区,作者:ouxiaolong, 帖子地址:https://bbs.elecfans.com/jishu_2283575_1_1.html


开发环境:
开发系统:Ubuntu 20.04
开发板:Pegasus物联网开发板
MCU:Hi3861
OpenHarmony版本:3.0.1-LTS

本文将介绍如何搭建OpenHarmony开发环境,OpenHarmony主要在Linux平台上开发,因此需要使用Linux环境开发,要想使用Linux开发环境,可以选择安装Linux系统,也可在Windows上安装虚拟机,笔者就是使用的该方式,这种方式的好处是可以随时拷贝,非常方便。

笔者的虚拟机使用的是VMwareWorkstation,Linux系统使用的是Ubuntu 20.04,关于VMwareWorkstation的安装和Ubuntu的安装笔者这里就不在赘述了,笔者默认大家已经装好VMwareWorkstation和Ubuntu。

2.1安装依赖包
更新主机的源列表:
$ sudo apt-get update
安装依赖包:
$ sudo apt-get install build-essential gcc g++ make zlib*libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-devlibelf-dev libc6-dev-amd64 binutils binutils-dev libdwaRF-dev u-boot-tools mtd-utilscpio device-tree-compiler git git-lfs curl python3-pip tree

值得注意的是,如果Ubuntu Shell环境如果不是bash,则需要修改为bash。检测命令如下:
$ ls -l /bin/sh
pYYBAGJL0mSAF9xaAABt0UebS0o775.png

打开终端工具,执行如下命令:
$ sudo dpkg-reconfigure dash
然后选择No,即可将Ubuntu shell由dash修改为bash。
2.2获取源码
OpenHarmony的最新版本是3.1(2022-03-30),关于OpenHarmony的所有版本的更新信息请参看Release Notes。
Release Notes:
https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/Readme.md

pYYBAGJ3C6WAMXjGAAFKah_R2mM636.png

1.检查Python环境
首先检查下Python版本。
pYYBAGJ3C8eAT8r0AACUMSV_cUI644.png

可以看到,Ubuntu 20.04默认的Python版本是3.8.10。因此,无需升级Python。
值得注意的是,如果无法使用python命令,可做一个软链接,命令如下:
$sudo ln -s /usr/bin/python3.8 /usr/bin/python
2.配置Git
配置Git用户信息:
$git config --global user.name "yourname"
$git config --global user.email"your-email-address"
如果想使用ssh下载源码,还需要配置ssh。
关于如何配置gitee的SSH公钥,请参看gitee的帮助中心

3.安装repo
新建目录:
$ mkdir OpenHarmony
$ cd OpenHarmony
接下来安装码云repo工具,命令如下:
$sudo curlhttps://gitee.com/oschina/repo/raw/fork_flow/repo-py3-o /usr/local/bin/repo#也可下载至其他目录,并将其配置到环境变量中
pYYBAGKR3weAUiPsAAC-lQhTrpY911.png

$sudo chmod a+x /usr/local/bin/repo

pYYBAGKR3xmAGteXAADDf4svnXQ442.png
4.获取OpenHarmony源码
接下来获取源码OpenHarmony,OpenHarmony源码下载有两种方式:
方式一:通过repo + ssh下载(需注册公钥)。
$repo init -ugit@gitee.com:openharmony/manifest.git -bmaster --no-repo-verify
$repo sync –c #代码同步,时间还有点久,请耐心等待
$repo forall -c 'git lfs pull'

方式二:通过repo + https下载。
$repo init -uhttps://gitee.com/openharmony/manifest.git-bmaster --no-repo-verify

$repo sync -c
$repo forall -c 'git lfs pull'

pYYBAGKR3zCAS8LsAAPUbLD3sUw472.png
或者:
$repo init -uhttps://gitee.com/openharmony/manifest.git-bOpenHarmony-v3.0-LTS --no-repo-verify

笔者使用的是https下载。
源码下载完成后,其目录如下:
$tree -L 1

poYBAGKR3z-AUwwYAAFkY4Y45lY205.png

当然啦,如果觉得使用Git麻烦,那么就到华为的repo网站下载。

pYYBAGKR31KANcCmAAEkB_TavtE207.png

当然也可下载最新的版本(V3.1)。

官方手册:
https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-ide-lite-sourcecode-acquire.md

2.3安装hb工具
hb是HarmonyOS2.0里新增加的编译构建命令行工具。需要Python 3.7.4及以上版本的支持,建议安装3.8.x。Ubuntu 20.04默认安装的是Python 3.8.10。
在源码根目录下执行:
$ cd ~/OpenHarmony
$python3 -m pip install --user build/lite

poYBAGKR32yAC81lAAGlPQcKy9I615.png

然后设置环境变量
$ vim ~/.bashrc
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
exportPATH=~/.local/bin:$PATH
执行如下命令更新环境变量。
$ source ~/.bashrc
执行hb -h有相关帮助信息,有打印信息即表示安装成功:

poYBAGKR34SACK_VAAFap9N-sFM918.png
卸载方法:
$ python3 -m pip uninstall ohos-build

官方手册:
https://gitee.com/openharmony/build_lite
2.4安装Python工具
1.安装Scons
运行如下命令,安装SCons安装包。
$ python3 -m pip install scons
运行如下命令,查看是否安装成功。如果安装成功,查询结果下图所示。
$ scons -v
pYYBAGJL0ymAQ9x0AAD61WRUJQs393.png

版本要求3.0.4以上。

2.安装python工具模块
运行如下命令,安装python模块setuptools。
$ pip3 install setuptools

3.安装Kconfiglib
安装GUI menuconfig工具(Kconfiglib),建议安装Kconfiglib13.2.0+版本,命令如下:
$ pip3 installkconfiglib

4.安装Python签名依赖的组件包
安装升级文件签名依赖的Python组件包,包括:pycryptodome、six、ecdsa。安装ecdsa依赖six,请先安装six,再安装ecdsa。
命令如下:
$ pip3 install pycryptodome
$ pip3 install six --upgrade --ignore-instalLEDsix
$ pip3 install ecdsa

2.5安装交叉编译工具链
下载以下交叉编译工具链:

将下载的压缩包拷贝到Ubuntu的/opt目录。
然后解压gcc_riscv32-linux-7.3.0.tar.gz:
$ sudo tar -xvf gcc_riscv32-linux-7.3.0.tar.gz
接着修改环境变量:
$vim ~/.bashrc
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
export PATH=/opt/gcc_riscv32/bin:$PATH
生效环境变量。
$ source ~/.bashrc
检查编译器信息,命令如下:
$ riscv32-unknown-elf-gcc -v
pYYBAGJL0zaAPnzxAAL6eY-QH_k642.png

表明编译器安装成功。


小贴士:UbuntuWindows互传文件-创建链接
1)虚拟机->设置->共享文件夹
poYBAGI_vgOALIwTAAEfJl9AXUU314.png

2)选择下一步,然后选择共享文件夹路径
pYYBAGI_vgyAWsM6AACINahWBHA957.png

再下一步->完成就可。
3)进行软链接
输入命令:
$ln -s /mnt/hgfs/share
好了,现在Ubuntu和Windows就能互传文件了。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • wi-fi
    +关注

    关注

    15

    文章

    2379

    浏览量

    128883
  • HarmonyOS
    +关注

    关注

    80

    文章

    2146

    浏览量

    35556
  • HiSpark
    +关注

    关注

    1

    文章

    156

    浏览量

    7683
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    浅谈Wi-Fi 6E与Wi-Fi 7的关键器件——BAW滤波器新技术

    作者: Qorvo 亚太区无线连接事业部高级行销经理林健富   2020年1月,Wi-Fi联盟正式宣布开放6GHz频段(5925MHz-7125MHz),并将其命名为Wi-Fi 6E。2020年4月
    发表于 09-19 18:29 1314次阅读
    浅谈<b class='flag-5'>Wi-Fi</b> 6E与<b class='flag-5'>Wi-Fi</b> 7的关键器件——BAW滤波器新技术

    如何更新 NuMaker IoT 板上的 Wi-Fi 模块固件?

    更新 NuMaker IoT 板上的 Wi-Fi 模块固件
    发表于 09-04 08:28

    基于 SSID 的 Wi-Fi 定位:与其他定位服务的性能比较

    ,我们将使用 nRF9160 DK、nRF7002 EK和 PPK2 执行并展示实际功耗和准确性测量,以比较 nRF Cloud 提供的不同定位服务的性能。 背景知识 Wi-Fi 定位服务 Wi-Fi
    发表于 08-31 21:01

    Texas Instruments CC335x SimpleLink™双频Wi-Fi® 6配套IC数据手册

    ) 和Wi-Fi 5 (802.11ac)。这些CC335x是Texas Instruments的10代连接组合芯片。因此,CC335x基于成熟的技术设计而成。这些器件非常适合配备运行TCP/IP的Linux或
    的头像 发表于 07-23 11:37 852次阅读
    Texas Instruments CC335x SimpleLink™双频<b class='flag-5'>Wi-Fi</b>® 6配套IC数据手册

    如何选择合适的芯科科技Wi-Fi开发

    您正在寻找适用于超低功耗物联网应用项目的Wi-Fi 开发板吗?本文将介绍Silicon Labs(芯科科技)推出的所有SiWx917 Wi-Fi 6和低功耗蓝牙5.4解决方案的Wi-Fi
    的头像 发表于 07-09 09:15 2266次阅读

    Wi-Fi 8:开启极高可靠性 (UHR) 连接的新纪元——2

    不连续的频谱 (non-continuous spectrum) 环境下,也能够执行前导码打孔操作。 图4 展示了Wi-Fi 7中MRU的显著效果,其能让RU将信号干扰所导致的可用频道损耗从75%降低
    发表于 06-13 11:15

    芯科科技推出新款Wi-Fi 6开发套件SiWG917Y

    问问任何一位Wi-Fi开发者,他们工作中最困难的部分是什么?你很可能会听到这样的回答:“设计天线以及应对全球射频(RF)法规认证。” 因应这一挑战,Silicon Labs (芯科
    的头像 发表于 06-12 14:42 1014次阅读

    [CYW4373] BT device_id正常,Wi-Fi device_id失败的原因?

    ID。 情况 B:如果在内核加载阶段而不是引导加载程序阶段检测到 CYW4373,则正确识别 USB 集线器 (04b4:bd30),并且成功检测到 BT 和 Wi-Fi 设备 ID。 2)内核日志
    发表于 06-05 06:07

    基于 Wi-Fi 的定位服务

    以下捕获使用 location_wifi_get 函数请求 Wi-Fi 定位服务。该事件的总功耗为 125.85mC,日志显示精确度为 30.0m。 Got location: method
    发表于 04-17 15:16

    nRF Cloud Wi-Fi 定位服务

    、Predictive-GPS、Single-Cell、Multi-Cell 和 Wi-Fi 定位。通过利用 nRF Cloud 的优化定位算法,基于 Nordic SoC 和 模组的产品可在定位用例
    发表于 04-17 15:07

    Wi-Fi 定位服务

    Wi-Fi 是一种著名的无线网络技术,用于设备的局域网和互联网接入。Wi-Fi 通过 Wi-Fi 网络为家庭、办公室和学校等环境提供便捷的无线互联网接入服务。
    发表于 04-17 15:01

    华为海思正式进入Wi-Fi FEM赛道?

    大家都知道了,2018年11 月离开锐迪科(RDA),前往福建晋江创立三伍微,专注于Wi-Fi射频前端芯片,从路由器Wi-Fi FEM,到手机Wi-Fi FEM,再到IoT FEM全覆
    发表于 12-11 17:42

    摩尔斯微电子发布Wi-Fi HaLow评估套件,加速物联网开发

    近日,全球领先的Wi-Fi HaLow解决方案提供商摩尔斯微电子正式推出一款开创性的评估套件——MM6108-EKH05。这款完全整合的开发平台,旨在推动各行业物联网解决方案的快速发展
    的头像 发表于 12-11 13:40 1050次阅读

    Wi-Fi 4到Wi-Fi 7:网速飙升40倍的无线革命

    Wi-Fi 6具有更高效率,适合密集设备环境,支持更低的延迟和更高的节能表现。   Wi-Fi 7 Wi-Fi 7是2024年发布的新一代标准,提供超高数据速率,支持
    的头像 发表于 12-09 10:10 1600次阅读
    从<b class='flag-5'>Wi-Fi</b> 4到<b class='flag-5'>Wi-Fi</b> 7:网速飙升40倍的无线革命

    村田开发适用于IoT设备且具有优异耐环境性的Wi-Fi HaLow™通信模块

    Wi-Fi®标准“Wi-Fi HaLow™*1”的通信模块“Type 2HK”和“Type 2HL”(以下简称“本产品”)。本产品配备了使用ARM® Cortex-M3处理器的NEWR
    发表于 12-06 14:41 1231次阅读