版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
©NXROBO2023鸿蒙开发的环境搭建课程说明开源鸿蒙系统介绍开源鸿蒙系统的开发环境©NXROBO20232开源鸿蒙系统介绍©NXROBO20233鸿蒙和开源鸿蒙系统©NXROBO20234鸿蒙(HarmonyOS)是华为公司在2019年8月发布的可穿戴设备、智能家居、汽车、手机、平板电脑等设备上的新一代操作系统。它可以提供更安全、更平滑、更智能的使用体验,也支持多端统一开发,可以应对不同设备之间的互联互通。鸿蒙还可以通过分布式技术支持设备之间的协同工作,实现智能化互联,更好地满足人们的需求。开源鸿蒙(OpenHarmony)是华为公司于2019年8月发布的一个开源的分布式操作系统。它是一个全场景的、可裁剪化的系统内核,可以支持手机、电视、PC、车载、数码仪器等设备。同时,开源鸿蒙也支持多端统一开发,帮助开发者更方便地创建跨设备、跨平台的应用。开源鸿蒙(OpenHarmony)是鸿蒙操作系统(HarmonyOS)的开源版本。开源版本的推出,意味着开发人员可以更加自由地对鸿蒙进行二次开发,从而促进技术创新和产品价值的提升。而鸿蒙操作系统(HarmonyOS)作为商业发行版,则可以为各种终端设备提供更加高效和智能的操作体验,为智能化设备之间的互联互通提供技术支持,使人们能够更好地享受数字化、智能化时代带来的便利。鸿蒙和开源鸿蒙系统©NXROBO20235开源鸿蒙通过模块化实现操作系统给功能解耦合,不同设备可实现弹性部署。OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统>子系统>组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的组件。内核子系统:采用多内核(Linux内核或者LiteOS)设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层(KAL,KernelAbstractLayer)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。开源鸿蒙(OpenHarmony)是鸿蒙操作系统(HarmonyOS)的开源版本。开源版本的推出,意味着开发人员可以更加自由地对鸿蒙进行二次开发,从而促进技术创新和产品价值的提升。而鸿蒙操作系统(HarmonyOS)作为商业发行版,则可以为各种终端设备提供更加高效和智能的操作体验,为智能化设备之间的互联互通提供技术支持,使人们能够更好地享受数字化、智能化时代带来的便利。开源鸿蒙系统的基本架构©NXROBO20236开源鸿蒙系统的基本架构©NXROBO202371内核层内核层包含了内核子系统和驱动子系统。其中,LiteOS是华为针对物联网设备发布的轻量级操作系统,其内核也为微内核,最小存储容量仅为6KB。驱动子系统包含了鸿蒙操作系统驱动框架(HarmonyOSDriverFoundation,HDF)。HDF为多种不同的硬件提供了统一的访问接口。2系统服务层与框架层系统基本能力子系统集、基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集横跨了系统服务层和框架层,为应用层程序提供了API。其中,系统基本能力子系统集最为重要,主要包含了4个部分:(1)方舟多语言运行时子系统:方舟编译体系包含方舟编译器和方舟多语言运行时子系统。(2)分布式框架:分布式软总线、分布式数据管理、分布式任务调度为鸿蒙分布式操作系统提供系统服务层基础,为分布式应用运行、调度、迁移操作提供基础能力。(3)用户程序框架、UI框架、Ability框架:这一部分构建了应用程序的主要框架模型,为应用程序的界面开发、Ability能力开发等提供API基础。(4)公共基础库子系统等重要子系统:除了公共基础库子系统以外,多模输入子系统、图形子系统、安全子系统和AI子系统均属于重要的基础子系统。3应用层应用层是指鸿蒙操作系统中各种系统应用和第三方应用。开发模式简介©NXROBO20238通常在嵌入式开发中,很多开发者习惯于使用Windows进行代码的编辑,比如使用Windows的VisualStudioCode进行OpenHarmony代码的开发。但当前阶段,大部分的开发板源码还不支持在Windows环境下进行编译。因此,需要使用Ubuntu的编译环境对源码进行编译。在以上的设备开发场景中,可以搭建一套Windows+Ubuntu混合开发的环境,其中使Windows平台的VisualStudioCode可视化界面进行相关操作,通过远程连接的方式对接Ubuntu下,对Ubuntu下的源码进行开发、编译等操作。开源鸿蒙系统的开发环境©NXROBO20239环境要求©NXROBO202310硬件要求Windows工作环境:用于代码编辑,下载程序等。Linux环境:用于代码下载,编译。SPARK-HM-PI开发板USBType-C线软件系统要求Linux编译服务器:Ubuntu16.04及以上64位系统版本,服务器或者虚拟机都可以,建议使用Ubuntu20.04镜像Windows工作台:WindowsXP/Windows7/Windows10/Windows11,需安装VisualStudioCode虚拟机环境搭建©NXROBO2023111.下载Ubuntu20.04镜像:/20.04/ubuntu-20.04.6-desktop-amd64.iso.torren2.下载安装VMwareWorkstationPlayer软件:/cn/products/workstation-player.html3.创建新的虚拟机打开VMwareWorkstationPlayer软件,选择“创建新的虚拟机”,在弹出的向导中选择“典型(推荐)”模式,并点击下一步。4.选择Ubuntu20.04镜像在接下来的界面中,选择使用ISO镜像文件安装操作系统。然后点击浏览按钮,找到你下载的Ubuntu20.04ISO镜像文件,并选中它。确定后继续。5.设置虚拟机的名称和存储位置。虚拟机环境搭建©NXROBO202312虚拟机环境搭建©NXROBO2023136.设置磁盘容量大小,建议不少于30GB。7.自定义硬件配置可根据需要配置,完成虚拟机创建8.启动虚拟机,并按照提示进行安装操作系统的过程即可虚拟机环境搭建©NXROBO202314Ubuntu开发环境搭建©NXROBO202315软件要求开发板需要的工具如下表所示。开发工具用途SCons3.0.4+编译构建工具python模块:setuptools、kconfiglib、pycryptodome、six、ecdsa编译构建工具gcc
riscv32编译构建工具gn编译构建工具ninja编译构建工具说明如果没有Ubuntu系统,可在Windows系统中通过虚拟机方式搭建Ubuntu系统,具体请参考Ubuntu系统安装指导。Ubuntu开发环境搭建©NXROBO2023161将UbuntuShell环境修改为bash1)执行如下命令,确认输出结果为/bin/sh->bash。如果不是,请根据步骤2,将shell修改为bash。2)打开终端工具,执行如下命令,输入密码,然后选择
No,将Ubuntushell由dash修改为bash。$ls-l/bin/sh$sudodpkg-reconfiguredashUbuntu开发环境搭建©NXROBO2023172安装远程SSH服务1)在Ubuntu系统中,打开终端工具,执行如下命令安装SSH服务。2)执行如下命令,启动SSH服务。$sudoapt-getinstallopenssh-server$sudosystemctlstartssh---说明如果执行该命令失败,提示openssh-server和openssh-client依赖版本不同,请根据CLI界面提示信息,安装openssh-client相应版本后(例如:sudoapt-getinstallopenssh-client=1:8.2p1-4),再重新执行该命令安装openssh-server。*执行如下命令,启动SSH服务。Ubuntu开发环境搭建©NXROBO2023182安装远程SSH服务3)执行如下命令,安装网络查询工具,通过ifconfig获取当前用户的IP地址,用于Windows系统远程访问Ubuntu环境记录下这里的IP地址,后面远程连接需要用到。$sudoaptinstallnet-tools$ifconfigUbuntu开发环境搭建©NXROBO2023193安装编译工具1)安装Scons$sudoaptinstallscons运行如下命令,安装SCons安装包。运行如下命令,查看是否安装成功。如果安装成功,查询结果下图所示。$scons-vSCons安装成功界面,版本要求3.0.4以上Ubuntu开发环境搭建©NXROBO2023203安装编译工具2)安装python环境及模块$cd/usr/bin$sudormpythonpython需使用python3.7以上版本,以python3.8为例,Ubuntu20.04会默认装python3.8。首先需要将"/usr/bin"下的python删掉。输入python--version查看python版本。$sudoln-s/usr/bin/python3.8python若提示无法删除'python':没有那个文件或目录,说明原来就没有python这个文件夹,无须处理此问题,继续下一步操作需要将回显路径链接到"/usr/bin/python"Ubuntu开发环境搭建©NXROBO202321①
运行如下命令,安装python模块setuptools。$pip3installsetuptools若遇到Nomodulenamedpip,运行如下命令安装pip:sudoaptinstallpython3-pip$sudopip3installpycryptodome②安装GUImenuconfig工具(Kconfiglib),建议安装Kconfiglib13.2.0+版本,这里选择命令行方式安装:$sudopip3installkconfiglib③
安装pycryptodome,任选如下一种方式。安装升级文件签名依赖的Python组件包,包括:pycryptodome、six、ecdsa。安装ecdsa依赖six,请先安装six,再安装ecdsa。④安装six$sudopip3installsix--upgrade--ignore-installedsix⑤安装ecdsa$sudopip3installecdsaUbuntu开发环境搭建©NXROBO2023223)安装gcc_riscv32(WLAN模组类编译工具链。/link?target=https%3A%2F%2F%2Fharmonyos%2Fcompiler%2Fgcc_riscv32%2F7.3.0%2Flinux%2Fgcc_riscv32-linux-7.3.0.tar.gz下载以下交叉编译工具链:$tar-xvfgcc_riscv32-linux-7.3.0.tar.gz-C~将压缩包解压到根目录:设置环境变量:vim~/.bashrc提示没有vim就可以执行sudoaptinstallvim安装vim将以下命令拷贝到.bashrc文件的最后一行:exportPATH=~/gcc_riscv32/bin:$PATH生效环境变量:source~/.bashrcShell命令行中输入如下命令,如果能正确显示编译器版本号,表明编译器安装成功。$riscv32-unknown-elf-gcc-vUbuntu开发环境搭建©NXROBO2023234)安装gn打开Linux编译服务器终端。gn工具位于源码application/NXROBO/SPARK-HM-PI/tools目录下跳转到该目录下解压gn安装包至~/gn路径下:tar-xvfgn.1523.tar-C~设置环境变量:vim~/.bashrc将以下命令拷贝到.bashrc文件的最后一行exportPATH=~/gn:$PATH生效环境变量:source~/.bashrc5)安装ninja打开Linux编译服务器终端ninja工具工具位于源码application/NXROBO/SPARK-HM-PI/tools目录下解压ninja安装包至~/ninja路径下:tar-xvfninja.1.9.0.tar-C~设置环境变量:vim~/.bashrc"将以下命令拷贝到.bashrc文件的最后一行:exportPATH=~/ninja:$PATH生效环境变量:source~/.bashrcUbuntu开发环境搭建©NXROBO202324开发工具要求开发工具用途获取VisualStudioCode代码编辑工具,通过remote-ssh插件远程连接Linux/MobaXterm连接Linux服务器或者串口调试工具/CH341SER.EXEUSB转串口驱动/search?q=ch340g&t=downloadsHiburn开发板烧录工具/resource/29Ubuntu开发环境搭建©NXR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业培训中的团队凝聚力培养与音乐游戏
- 商业思维在学生时间管理中的应用
- 2025中国航天科工集团第十研究院校园招聘593人高频重点提升(共500题)附带答案详解
- 2025中国科学院紫金山天文台人才公开招聘6人(江苏南京市第2期)高频重点提升(共500题)附带答案详解
- 2025中国石化江苏油田分公司毕业生招聘10人高频重点提升(共500题)附带答案详解
- 2025中国电信股份限公司数字智能科技分公司社会招聘21人高频重点提升(共500题)附带答案详解
- 2025中国电信安全公司社会招聘高频重点提升(共500题)附带答案详解
- 2025中国核工业集团限公司校园招聘7000人高频重点提升(共500题)附带答案详解
- 2025中国兵器装备集团限公司总部招聘5人(北京)高频重点提升(共500题)附带答案详解
- 2025中化学国际工程限公司招聘32人高频重点提升(共500题)附带答案详解
- 大学美育(同济大学版)学习通超星期末考试答案章节答案2024年
- 2024年湖北省工业建筑集团有限公司招聘笔试参考题库含答案解析
- 10000中国普通人名大全
- 戴炜栋英语语言学概论Chapter 1
- 2020年广东省中考数学试卷
- 医学英语构词法讲座
- 公司管理制度-公司管理制度
- 广东省义务教育阶段学生学籍卡
- 疫情索赔公式及相应表格模板Excel
- 下肢动脉血栓相关知识
- 夏令营活动日程安排表
评论
0/150
提交评论