未验证 提交 ab21b1e5 编写于 作者: O openharmony_ci 提交者: Gitee

!14208 翻译完成 12324

Merge pull request !14208 from ester.zhou/TR-12324
# Writing a Hello World Program
The following exemplifies how to run the first program on the development board. The created program outputs the message "Hello World!"
The following exemplifies how to run the first program on the development board. The created program outputs the message "Hello World!".
## Example Directory
Obtain the OpenHarmony project code. From the source code root directory, add the **sample/hello** directory, and then create therein the **hello** source code directory, the build file **BUILD.gn**, and the component configuration file **bundle.json**.
The complete code directory is as follows:
```
applications/sample/hello
sample/hello
│── BUILD.gn
│── include
│ └── helloworld.h
......@@ -27,11 +29,11 @@ vendor/hihope
## How to Develop
Perform the steps below in the source code directory:
Perform the steps below in the source code root directory:
1. Create a directory and write the service code.
Create the **applications/sample/hello/src/helloworld.c** directory and file whose code is shown in the following example. You can customize the content to be printed. For example, you can change **World** to **OHOS**. Declare the string printing function **HelloPrint** in the **helloworld.h** file. You can use either C or C++ to develop a program.
Create the **sample/hello/src/helloworld.c** file, with the sample code as follows. In this example, the content to be printed is **World**, which you can change to any string that you prefer, for example, **OHOS**. The print function **HelloPrint** is declared in the included **helloworld.h** file. You can use either C or C++ to develop a program.
```
......@@ -52,7 +54,7 @@ Perform the steps below in the source code directory:
}
```
Add the header file **applications/sample/hello/include/helloworld.h**. The sample code is as follows:
Add the header file **sample/hello/include/helloworld.h**. The sample code is as follows:
```
......@@ -75,7 +77,10 @@ Perform the steps below in the source code directory:
```
2. Create a build file.
1. Create the **applications/sample/hello/BUILD.gn** file. The file content is as follows:
Create the **sample/hello/BUILD.gn** file. For details, see [Module](../subsystems/subsys-build-module.md).
The content of the **BUILD.gn** file is as follows:
```
import("//build/ohos.gni") # Import the build template.
......@@ -96,7 +101,12 @@ Perform the steps below in the source code directory:
install_enable = true # Whether to install the software by default. This parameter is optional. By default, the software is not installed.
}
```
2. Create the **applications/sample/hello/bundle.json** file and add the description of the **sample** component. The content is as follows:
3. Create a component configuration file.
Create the **sample/hello/bundle.json** file and add the **sample** component description therein. For details, see [Component](../subsystems/subsys-build-component.md).
The content of the **bundle.json** file is as follows:
```
{
......@@ -106,7 +116,7 @@ Perform the steps below in the source code directory:
"license": "Apache License 2.0",
"publishAs": "code-segment",
"segment": {
"destPath": "applications/sample/hello"
"destPath": "sample/hello"
},
"dirs": {},
"scripts": {},
......@@ -124,7 +134,7 @@ Perform the steps below in the source code directory:
},
"build": {
"sub_component": [
"//applications/sample/hello:helloworld"
"//sample/hello:helloworld"
],
"inner_kits": [],
"test": []
......@@ -133,23 +143,30 @@ Perform the steps below in the source code directory:
}
```
The **bundle.json** file consists of two parts. The first part describes the information about the subsystem to which the component belongs, and the second part defines the build configuration for the component. When adding a component, you must specify the **sub_component** of the component. If there are APIs provided for other components, add them in **inner_kits**. If there are test cases, add them in **test**.
The **bundle.json** file consists of two parts. The first part describes the information about the subsystem to which the component belongs, and the second part defines the build configuration for the component. When adding a component, you must specify the **sub_component** of the component. Add the APIs provided for other components, if any, in **inner_kits**. Add the test cases, if any, in **test**.
3. Modify the subsystem configuration file.
4. Modify the subsystem configuration file.
Add the configuration of the new subsystem to the **build/subsystem_config.json** file.
Add the configuration of the new subsystem to the **build/subsystem_config.json** file. For details, see [Subsystem](../subsystems/subsys-build-subsystem.md).
The configuration of the new subsystem is as follows:
```
"sample": {
"path": "applications/sample/hello",
"path": "sample",
"name": "sample"
},
```
4. Modify the product configuration file.
5. Modify the product configuration file.
In the **vendor/hihope/rk3568/config.json** file, add the **hello** part after the existing part.
> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**
>
> In versions earlier than OpenHarmony-v3.2-Beta2, the RK3568 configuration file is **productdefine/common/products/rk3568.json**. In OpenHarmony-v3.2-Beta2 and later versions, the RK3568 configuration file is **vendor/hihope/rk3568/config.json**.
- Versions earlier than OpenHarmony-v3.2-Beta2
In the **productdefine/common/products/rk3568.json** file, add the **hello** part after the existing part.
```
"usb:usb_manager_native":{},
......@@ -157,3 +174,20 @@ Perform the steps below in the source code directory:
"sample:hello":{},
"wpa_supplicant-2.9:wpa_supplicant-2.9":{},
```
- OpenHarmony-v3.2-Beta2 and later versions
In the **vendor/hihope/rk3568/config.json** file, add the **hello** part after the existing part.
```
{
"subsystem": "sample",
"components": [
{
"component": "hello",
"features": []
}
]
},
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册