diff --git a/zh-cn/device-dev/get-code/Readme-CN.md b/zh-cn/device-dev/get-code/Readme-CN.md index 82da2d561e3ade5ee95dbe4c1411c4114ad6ad2b..ea4020a0a3cfe84188d95fecc38be5247316a77a 100755 --- a/zh-cn/device-dev/get-code/Readme-CN.md +++ b/zh-cn/device-dev/get-code/Readme-CN.md @@ -1,9 +1,7 @@ # 获取源码 -- [获取源码](sourcecode.md) - - [源码获取](sourcecode-acquire.md) - -- [获取工具](gettools.md) - - [Docker编译环境](gettools-acquire.md) - - [IDE](gettools-ide.md) - +- [源码获取](sourcecode-acquire.md) +- 工具 + - [工具概述](gettools-overview.md) + - [Docker编译环境](gettools-acquire.md) + - [IDE](gettools-ide.md) diff --git a/zh-cn/device-dev/get-code/gettools-overview.md b/zh-cn/device-dev/get-code/gettools-overview.md new file mode 100644 index 0000000000000000000000000000000000000000..7678c05a9c76761f27c02bca830bb387ad84e78a --- /dev/null +++ b/zh-cn/device-dev/get-code/gettools-overview.md @@ -0,0 +1,10 @@ +# 工具概述 + +为了方便开发者进行设备开发,OpenHarmony提供了HUAWEI DevEco Device Tool(以下简称DevEco Device Tool)一站式集成开发环境,同时借助了应用容器引擎Docker简化编译环境搭建。 + +**表1** 工具简介 + +| 工具 | 简介 | 相关资源 | +| ---- | ------ | ------ | +| DevEco Device Tool | DevEco Device Tool是OpenHarmony面向智能设备开发者提供的一站式集成开发环境,支持OpenHarmony的组件按需定制,支持代码编辑、编译、烧录和调试等功能,支持C/C++语言,以插件的形式部署在Visual Studio Code上。 | [DevEco Device Tool使用指南](https://device.harmonyos.com/cn/docs/documentation/guide/service_introduction-0000001050166905) | +| Docker | 在编译环节,开发者需要先安装对应OpenHarmony系统类型的编译工具链。OpenHarmony系统为开发者提供的Docker环境已经将对应的编译工具链进行了封装,开发者可省略对应工具的安装,直接使用Docker环境进行编译。 | [Docker编译环境](gettools-acquire.md) | diff --git a/zh-cn/device-dev/get-code/sourcecode-acquire.md b/zh-cn/device-dev/get-code/sourcecode-acquire.md index 5448d127f5f6d40bca369c7eddc09770a33e77b6..1ab1dab7202739a3666aad6dcc7b110e0d5cd605 100644 --- a/zh-cn/device-dev/get-code/sourcecode-acquire.md +++ b/zh-cn/device-dev/get-code/sourcecode-acquire.md @@ -32,7 +32,7 @@ OpenHarmony当前为开发者提供了以下4种获取源码的方式,开发 ### 前提条件 -1. 注册码云gitee账号。 +1. 注册码云gitee帐号。 2. 注册码云SSH公钥,请参考[码云帮助中心](https://gitee.com/help/articles/4191)。 3. 安装[git客户端](https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git)和[git-lfs](https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading)并配置用户信息。 @@ -53,7 +53,6 @@ OpenHarmony当前为开发者提供了以下4种获取源码的方式,开发 ### 操作步骤 -**获取轻量/小型/标准系统源码** >![](../public_sys-resources/icon-note.gif) **说明:** >Master主干为开发分支,开发者可通过Master主干获取最新特性。发布版本代码相对比较稳定,开发者可基于发布版本代码进行商用功能开发。 @@ -135,8 +134,8 @@ OpenHarmony当前为开发者提供了以下4种获取源码的方式,开发 2. 点击「直接下载」,将发行版下载到本地。 3. 点击「定制组件」,将对发行版包含的组件进行定制(添加/删除)。 - **图 2** 发行版示例 - ![](figure/发行版示例.png "发行版示例") + **图 2** 发行版示例 + ![](figure/发行版示例.png "发行版示例") 3. 定制组件。 1. 进入发行版的定制页面,如下图所示。 @@ -244,65 +243,65 @@ OpenHarmony当前为开发者提供了以下4种获取源码的方式,开发

SHA256校验码

-

全量代码Beta版本(标准、轻量和小型系统)

+

全量代码Release版本(标准、轻量和小型系统)

-

3.1 Beta

+

3.1 Release

-

站点

+

站点

-

SHA256校验码

+

SHA256校验码

Hi3516标准系统解决方案(二进制)

-

3.1 Beta

+

3.1 Release

-

站点

+

站点

-

SHA256校验码

+

SHA256校验码

RK3568标准系统解决方案(二进制)

-

3.1 Beta

+

3.1 Release

-

站点

+

站点

-

SHA256校验码

+

SHA256校验码

Hi3861解决方案(二进制)

-

3.1 Beta

+

3.1 Release

-

站点

+

站点

-

SHA256校验码

+

SHA256校验码

Hi3516解决方案-LiteOS(二进制)

-

3.1 Beta

+

3.1 Release

-

站点

+

站点

-

SHA256校验码

+

SHA256校验码

Hi3516解决方案-Linux(二进制)

-

3.1 Beta

+

3.1 Release

-

站点

+

站点

-

SHA256校验码

+

SHA256校验码

RELEASE-NOTES

-

3.1 Beta

+

3.1 Release

-

站点

+

站点

-

@@ -328,7 +327,10 @@ OpenHarmony当前为开发者提供了以下4种获取源码的方式,开发 -## 获取方式4:从github镜像仓库获取\(每天UTC时间23点同步\) +## 获取方式4:从github镜像仓库获取 + +>![](../public_sys-resources/icon-note.gif) **说明:** +> 镜像仓库每日23:00(UTC +8:00)同步。 方式一(推荐):通过repo + ssh下载(需注册公钥,请参考[GitHub帮助中心](https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account))。 @@ -431,4 +433,3 @@ repo forall -c 'git lfs pull' - diff --git a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-application-framework.md b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-application-framework.md index 8e8f9716f0c4639c8a3aecab9c6d0d5851fe5726..987318fa4418c6ade74f9fec592898cce60ef3cf 100644 --- a/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-application-framework.md +++ b/zh-cn/device-dev/quick-start/quickstart-lite-steps-hi3861-application-framework.md @@ -1,12 +1,12 @@ # 新建应用程序 -下方将通过修改源码的方式展示如何编写简单程序,输出“Hello world.”。请在[获取源码](quickstart-lite-sourcecode-acquire.md)章节下载的源码目录中进行下述操作。 +下方将通过修改源码的方式展示如何编写简单程序,输出“Hello world”。请在下载的源码目录中进行下述操作。 1. 确定目录结构。 开发者编写业务时,务必先在./applications/sample/wifi-iot/app路径下新建一个目录(或一套目录结构),用于存放业务源码文件。 - - 例如:在app下新增业务my\_first\_app,其中hello\_world.c为业务代码,BUILD.gn为编译脚本,具体规划目录结构如下: + + 例如:在app下新增业务my_first_app,其中hello_world.c为业务代码,BUILD.gn为编译脚本,具体规划目录结构如下: ``` . @@ -14,16 +14,16 @@ └── sample └── wifi-iot └── app - │── my_first_app - │ │── hello_world.c - │ └── BUILD.gn - └── BUILD.gn - ``` + └── my_first_app + │── hello_world.c + └── BUILD.gn + ``` 2. 编写业务代码。 新建./applications/sample/wifi-iot/app/my\_first\_app下的hello\_world.c文件,在hello\_world.c中新建业务入口函数HelloWorld,并实现业务逻辑。并在代码最下方,使用OpenHarmony启动恢复模块接口SYS\_RUN\(\)启动业务。(SYS\_RUN定义在ohos\_init.h文件中) + ``` #include #include "ohos_init.h" @@ -57,21 +57,82 @@ - sources中指定静态库.a所依赖的.c文件及其路径,若路径中包含"//"则表示绝对路径(此处为代码根路径),若不包含"//"则表示相对路径。 - include\_dirs中指定source所需要依赖的.h文件路径。 -4. 编写模块BUILD.gn文件,指定需参与构建的特性模块。 - 配置./applications/sample/wifi-iot/app/BUILD.gn文件,在features字段中增加索引,使目标模块参与编译。features字段指定业务模块的路径和目标,以my\_first\_app举例,features字段配置如下。 +4. 添加新组件。 + + 修改文件build/lite/components/applications.json,添加组件hello\_world\_app的配置,如下所示为applications.json文件片段,“##start##”和“##end##”之间为新增配置(“##start##”和“##end##”仅用来标识位置,添加完配置后删除这两行): ``` - import("//build/lite/config/component/lite_component.gni") - - lite_component("app") { - features = [ - "my_first_app:myapp", - ] - } + { + "components": [ + { + "component": "camera_sample_communication", + "description": "Communication related samples.", + "optional": "true", + "dirs": [ + "applications/sample/camera/communication" + ], + "targets": [ + "//applications/sample/camera/communication:sample" + ], + "rom": "", + "ram": "", + "output": [], + "adapted_kernel": [ "liteos_a" ], + "features": [], + "deps": { + "components": [], + "third_party": [] + } + }, + ##start## + { + "component": "hello_world_app", + "description": "hello world samples.", + "optional": "true", + "dirs": [ + "applications/sample/wifi-iot/app/my_first_app" + ], + "targets": [ + "//applications/sample/wifi-iot/app/my_first_app:myapp" + ], + "rom": "", + "ram": "", + "output": [], + "adapted_kernel": [ "liteos_m" ], + "features": [], + "deps": { + "components": [], + "third_party": [] + } + }, + ##end## + { + "component": "camera_sample_app", + "description": "Camera related samples.", + "optional": "true", + "dirs": [ + "applications/sample/camera/launcher", + "applications/sample/camera/cameraApp", + "applications/sample/camera/setting", + "applications/sample/camera/gallery", + "applications/sample/camera/media" + ], ``` - - my\_first\_app是相对路径,指向./applications/sample/wifi-iot/app/my\_first\_app/BUILD.gn。 - - myapp是目标,指向./applications/sample/wifi-iot/app/my\_first\_app/BUILD.gn中的static\_library\("myapp"\)。 +5. 修改单板配置文件。 + + 修改文件vendor/hisilicon/hispark_pegasus/config.json,新增hello\_world\_app组件的条目,如下所示代码片段为applications子系统配置,“##start##”和“##end##”之间为新增条目(“##start##”和“##end##”仅用来标识位置,添加完配置后删除这两行): + ``` + { + "subsystem": "applications", + "components": [ + ##start## + { "component": "hello_world_app", "features":[] }, + ##end## + { "component": "wifi_iot_sample_app", "features":[] } + ] + }, + ```