1e41f4b71Sopenharmony_ci# Getting Started with the Standard System with Hi3516 (IDE Mode) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci>  **CAUTION** 4e41f4b71Sopenharmony_ci> 5e41f4b71Sopenharmony_ci> **Since OpenHarmony 3.2, the standard system does not perform adaptation verification for the Hi3516D V300 development board. You are advised to use RK3568 to develop standard-system devices.** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> **If you still use Hi3516D V300 to develop standard-system devices, adaptation may fail. Contact the chip supplier to obtain the adaptation guide and complete adaptation by yourself.** 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ciIn addition to the small system, the Hi3516D V300 development board also supports the standard system. This topic describes how to develop the standard system on Hi3516DV300 with DevEco Device Tool, by walking you through a simple example. 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ciThe following exemplifies how to run the first program on the development board. This program displays the message "Hello World!" 13e41f4b71Sopenharmony_ci 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ciBefore development, complete the following preparations: 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_ci- [Setting Up the Development Environment](quickstart-ide-env-win.md) 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ci- [Creating a Project and Obtaining Source Code](quickstart-ide-import-project.md) 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci## Writing a Hello World Program 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci 26e41f4b71Sopenharmony_ci### Example Directory 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci``` 30e41f4b71Sopenharmony_ciapplications/sample/hello 31e41f4b71Sopenharmony_ci │── BUILD.gn 32e41f4b71Sopenharmony_ci │── include 33e41f4b71Sopenharmony_ci │ └── helloworld.h 34e41f4b71Sopenharmony_ci │── src 35e41f4b71Sopenharmony_ci │ └── helloworld.c 36e41f4b71Sopenharmony_ci ├── bundle.json 37e41f4b71Sopenharmony_ci build 38e41f4b71Sopenharmony_ci └── subsystem_config.json 39e41f4b71Sopenharmony_ci productdefine/common 40e41f4b71Sopenharmony_ci └── products 41e41f4b71Sopenharmony_ci └── Hi3516DV300.json 42e41f4b71Sopenharmony_ci``` 43e41f4b71Sopenharmony_ci 44e41f4b71Sopenharmony_ci 45e41f4b71Sopenharmony_ci### How to Develop 46e41f4b71Sopenharmony_ci 47e41f4b71Sopenharmony_ciPerform the steps below in the source code directory: 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_ci1. Create a directory and write the service code. 50e41f4b71Sopenharmony_ci 51e41f4b71Sopenharmony_ci 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. 52e41f4b71Sopenharmony_ci 53e41f4b71Sopenharmony_ci 54e41f4b71Sopenharmony_ci ``` 55e41f4b71Sopenharmony_ci #include <stdio.h> 56e41f4b71Sopenharmony_ci #include "helloworld.h" 57e41f4b71Sopenharmony_ci int main(int argc, char **argv) 58e41f4b71Sopenharmony_ci { 59e41f4b71Sopenharmony_ci HelloPrint(); 60e41f4b71Sopenharmony_ci return 0; 61e41f4b71Sopenharmony_ci } 62e41f4b71Sopenharmony_ci void HelloPrint() 63e41f4b71Sopenharmony_ci { 64e41f4b71Sopenharmony_ci printf("\n\n"); 65e41f4b71Sopenharmony_ci printf("\n\t\tHello World!\n"); 66e41f4b71Sopenharmony_ci printf("\n\n"); 67e41f4b71Sopenharmony_ci } 68e41f4b71Sopenharmony_ci ``` 69e41f4b71Sopenharmony_ci 70e41f4b71Sopenharmony_ci Add the header file **applications/sample/hello/include/helloworld.h**. The sample code is as follows: 71e41f4b71Sopenharmony_ci 72e41f4b71Sopenharmony_ci 73e41f4b71Sopenharmony_ci ``` 74e41f4b71Sopenharmony_ci #ifndef HELLOWORLD_H 75e41f4b71Sopenharmony_ci #define HELLOWORLD_H 76e41f4b71Sopenharmony_ci #ifdef __cplusplus 77e41f4b71Sopenharmony_ci #if __cplusplus 78e41f4b71Sopenharmony_ci extern "C" { 79e41f4b71Sopenharmony_ci #endif 80e41f4b71Sopenharmony_ci #endif 81e41f4b71Sopenharmony_ci void HelloPrint(); 82e41f4b71Sopenharmony_ci #ifdef __cplusplus 83e41f4b71Sopenharmony_ci #if __cplusplus 84e41f4b71Sopenharmony_ci } 85e41f4b71Sopenharmony_ci #endif 86e41f4b71Sopenharmony_ci #endif 87e41f4b71Sopenharmony_ci #endif // HELLOWORLD_H 88e41f4b71Sopenharmony_ci ``` 89e41f4b71Sopenharmony_ci 90e41f4b71Sopenharmony_ci2. Create a build file. 91e41f4b71Sopenharmony_ci 1. Create the **applications/sample/hello/BUILD.gn** file. The file content is as follows: 92e41f4b71Sopenharmony_ci 93e41f4b71Sopenharmony_ci ``` 94e41f4b71Sopenharmony_ci import("//build/ohos.gni") # Import the build template. 95e41f4b71Sopenharmony_ci ohos_executable("helloworld") {# Executable module. 96e41f4b71Sopenharmony_ci sources = [ # Source code of the module. 97e41f4b71Sopenharmony_ci "src/helloworld.c" 98e41f4b71Sopenharmony_ci ] 99e41f4b71Sopenharmony_ci include_dirs = [ # Directory of header files on which the module depends. 100e41f4b71Sopenharmony_ci "include" 101e41f4b71Sopenharmony_ci ] 102e41f4b71Sopenharmony_ci cflags = [] 103e41f4b71Sopenharmony_ci cflags_c = [] 104e41f4b71Sopenharmony_ci cflags_cc = [] 105e41f4b71Sopenharmony_ci ldflags = [] 106e41f4b71Sopenharmony_ci configs = [] 107e41f4b71Sopenharmony_ci deps =[] # Internal dependencies of the component. 108e41f4b71Sopenharmony_ci part_name = "hello" # Component name. This parameter is mandatory. 109e41f4b71Sopenharmony_ci install_enable = true # Whether to install the software by default. This parameter is optional. 110e41f4b71Sopenharmony_ci By default, the software is not installed. 111e41f4b71Sopenharmony_ci } 112e41f4b71Sopenharmony_ci ``` 113e41f4b71Sopenharmony_ci 2. Create the **applications/sample/hello/bundle.json** file and add the description of the **sample** component. The content is as follows: 114e41f4b71Sopenharmony_ci 115e41f4b71Sopenharmony_ci ``` 116e41f4b71Sopenharmony_ci { 117e41f4b71Sopenharmony_ci "name": "@ohos/hello", 118e41f4b71Sopenharmony_ci "description": "Hello world example.", 119e41f4b71Sopenharmony_ci "version": "3.1", 120e41f4b71Sopenharmony_ci "license": "Apache License 2.0", 121e41f4b71Sopenharmony_ci "publishAs": "code-segment", 122e41f4b71Sopenharmony_ci "segment": { 123e41f4b71Sopenharmony_ci "destPath": "applications/sample/hello" 124e41f4b71Sopenharmony_ci }, 125e41f4b71Sopenharmony_ci "dirs": {}, 126e41f4b71Sopenharmony_ci "scripts": {}, 127e41f4b71Sopenharmony_ci "component": { 128e41f4b71Sopenharmony_ci "name": "hello", 129e41f4b71Sopenharmony_ci "subsystem": "sample", 130e41f4b71Sopenharmony_ci "syscap": [], 131e41f4b71Sopenharmony_ci "features": [], 132e41f4b71Sopenharmony_ci "adapted_system_type": [ "mini", "small", "standard" ], 133e41f4b71Sopenharmony_ci "rom": "10KB", 134e41f4b71Sopenharmony_ci "ram": "10KB", 135e41f4b71Sopenharmony_ci "deps": { 136e41f4b71Sopenharmony_ci "components": [], 137e41f4b71Sopenharmony_ci "third_party": [] 138e41f4b71Sopenharmony_ci }, 139e41f4b71Sopenharmony_ci "build": { 140e41f4b71Sopenharmony_ci "sub_component": [ 141e41f4b71Sopenharmony_ci "//applications/sample/hello:helloworld" 142e41f4b71Sopenharmony_ci ], 143e41f4b71Sopenharmony_ci "inner_kits": [], 144e41f4b71Sopenharmony_ci "test": [] 145e41f4b71Sopenharmony_ci } 146e41f4b71Sopenharmony_ci } 147e41f4b71Sopenharmony_ci } 148e41f4b71Sopenharmony_ci ``` 149e41f4b71Sopenharmony_ci 150e41f4b71Sopenharmony_ci 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**. 151e41f4b71Sopenharmony_ci 152e41f4b71Sopenharmony_ci3. Modify the subsystem configuration file. 153e41f4b71Sopenharmony_ci 154e41f4b71Sopenharmony_ci Add the configuration of the new subsystem to the **build/subsystem_config.json** file. 155e41f4b71Sopenharmony_ci 156e41f4b71Sopenharmony_ci 157e41f4b71Sopenharmony_ci ``` 158e41f4b71Sopenharmony_ci "sample": { 159e41f4b71Sopenharmony_ci "path": "applications/sample/hello", 160e41f4b71Sopenharmony_ci "name": "sample" 161e41f4b71Sopenharmony_ci }, 162e41f4b71Sopenharmony_ci ``` 163e41f4b71Sopenharmony_ci 164e41f4b71Sopenharmony_ci4. Modify the product configuration file. 165e41f4b71Sopenharmony_ci 166e41f4b71Sopenharmony_ci In the **productdefine/common/products/Hi3516DV300.json** file, add the **hello** part after the existing part. 167e41f4b71Sopenharmony_ci 168e41f4b71Sopenharmony_ci >  **NOTE** 169e41f4b71Sopenharmony_ci > 170e41f4b71Sopenharmony_ci > In this example, the OpenHarmony-v3.1-Release version is used, where the Hi3516 configuration file is **productdefine/common/products/Hi3516DV300.json**. In OpenHarmony-v3.2-Beta2 and later versions, the Hi3516 configuration file is **vendor/hisilicon/Hi3516DV300/config.json**. 171e41f4b71Sopenharmony_ci 172e41f4b71Sopenharmony_ci 173e41f4b71Sopenharmony_ci ``` 174e41f4b71Sopenharmony_ci "usb:usb_manager_native":{}, 175e41f4b71Sopenharmony_ci "applications:prebuilt_hap":{}, 176e41f4b71Sopenharmony_ci "sample:hello":{}, 177e41f4b71Sopenharmony_ci "wpa_supplicant-2.9:wpa_supplicant-2.9":{}, 178e41f4b71Sopenharmony_ci ``` 179e41f4b71Sopenharmony_ci 180e41f4b71Sopenharmony_ci 181e41f4b71Sopenharmony_ci## Building Source Code 182e41f4b71Sopenharmony_ci 183e41f4b71Sopenharmony_ciWith DevEco Device Tool, you can easily build source code of the Hi3516DV300 development board, thanks to its productivity-boosting features, such as the compiler toolchain, detection of the build environment dependencies, and one-click installation of the dependencies. 184e41f4b71Sopenharmony_ci 185e41f4b71Sopenharmony_ci>  **NOTE** 186e41f4b71Sopenharmony_ci> 187e41f4b71Sopenharmony_ci> The build environment of Hi3516DV300 is Ubuntu. 188e41f4b71Sopenharmony_ci 189e41f4b71Sopenharmony_ci1. Click **Project Settings** on the menu bar to access the Hi3516DV300 project configuration page. 190e41f4b71Sopenharmony_ci 191e41f4b71Sopenharmony_ci  192e41f4b71Sopenharmony_ci 193e41f4b71Sopenharmony_ci2. On the **Tool Chain** tab page, DevEco Device Tool automatically checks whether the dependent compiler toolchain is complete. 194e41f4b71Sopenharmony_ci 195e41f4b71Sopenharmony_ci - If any tool is indicated as **uninstalled** (), click **Download Uninstalled Tools** to install all the required tools, or click **Download** next to a tool to install the specific tool. 196e41f4b71Sopenharmony_ci - If some tool types are missing, click **Add Utility** to add them. 197e41f4b71Sopenharmony_ci - If **Download** is not available for a missing tool, it is not cataloged in DevEco Device Tool. In this case, you need to download the tool to the local host and click **Import** to import it. 198e41f4b71Sopenharmony_ci - If the status of **OpenHarmony Environment Dependency** is abnormal (, click **Install**. 199e41f4b71Sopenharmony_ci 200e41f4b71Sopenharmony_ci  201e41f4b71Sopenharmony_ci 202e41f4b71Sopenharmony_ci Certain tools may require the root access to install. For these tools, enter the user password in the **TERMINAL** window as prompted. 203e41f4b71Sopenharmony_ci 204e41f4b71Sopenharmony_ci >  **NOTE** 205e41f4b71Sopenharmony_ci > 206e41f4b71Sopenharmony_ci > - If pip fails to be installed, [change the Python source](https://device.harmonyos.com/en/docs/documentation/guide/ide-set-python-source-0000001227639986) and try again. 207e41f4b71Sopenharmony_ci > - If apt fails to be installed, [change the apt source](https://device.harmonyos.com/en/docs/documentation/guide/faq-toolchain-install-0000001301623822) and try again. 208e41f4b71Sopenharmony_ci 209e41f4b71Sopenharmony_ci  210e41f4b71Sopenharmony_ci 211e41f4b71Sopenharmony_ci After the installation is complete, the status of the tools and environment dependencies is displayed as . 212e41f4b71Sopenharmony_ci 213e41f4b71Sopenharmony_ci4. On the **hispark_taurus_standard** tab page, set **build_type**, whose default value is **debug**. 214e41f4b71Sopenharmony_ci 215e41f4b71Sopenharmony_ci  216e41f4b71Sopenharmony_ci 217e41f4b71Sopenharmony_ci5. Choose **PROJECT TASKS** > **hispark_taurus_standard** > **Build** to start building. 218e41f4b71Sopenharmony_ci 219e41f4b71Sopenharmony_ci  220e41f4b71Sopenharmony_ci 221e41f4b71Sopenharmony_ci6. Wait until **SUCCESS** is displayed in the **TERMINAL** window, indicating that the build is complete. 222e41f4b71Sopenharmony_ci 223e41f4b71Sopenharmony_ci  224e41f4b71Sopenharmony_ci 225e41f4b71Sopenharmony_ci After the compilation is complete, go to the **out** directory of the project to view the generated files and perform burning operations. 226e41f4b71Sopenharmony_ci 227e41f4b71Sopenharmony_ci 228e41f4b71Sopenharmony_ci## Burning an Image 229e41f4b71Sopenharmony_ci 230e41f4b71Sopenharmony_ciBurning is the process of downloading compiled program files to a development board to provide a basis for subsequent debugging. With the one-click burning function of DevEco Device Tool, you can burn images on development boards quickly and efficiently. 231e41f4b71Sopenharmony_ci 232e41f4b71Sopenharmony_ciThe images of Hi3516DV300 are burnt in the Windows environment. After burning is initiated, DevEco Device Tool copies the target program files generated in the Ubuntu environment to the specified Windows directory in remote mode, and then burns the program files to Hi3516DV300 using the Windows burning tool. 233e41f4b71Sopenharmony_ci 234e41f4b71Sopenharmony_ciHi3516DV300 supports burning for the standard system through the USB port and network port. This topic describes how to burn source code through the USB port. 235e41f4b71Sopenharmony_ci 236e41f4b71Sopenharmony_ci 237e41f4b71Sopenharmony_ci### Prerequisites 238e41f4b71Sopenharmony_ci 239e41f4b71Sopenharmony_ci- The serial port driver has been installed on Hi3516DV300. For details, see [Installing the Serial Port Driver on the Hi3516D V300 Development Board](https://device.harmonyos.com/en/docs/documentation/guide/hi3516_hi3518-drivers-0000001050743695). 240e41f4b71Sopenharmony_ci 241e41f4b71Sopenharmony_ci- The USB port driver has been installed on Hi3516DV300. For details, see [Installing the USB Port Driver on the Hi3516D V300 Development Board](https://device.harmonyos.com/en/docs/documentation/guide/usb_driver-0000001058690393). 242e41f4b71Sopenharmony_ci 243e41f4b71Sopenharmony_ci 244e41f4b71Sopenharmony_ci### Procedure 245e41f4b71Sopenharmony_ci 246e41f4b71Sopenharmony_ci1. Connect the computer and the target development board through the serial port and USB port. For details, see [Hi3516 Development Board](quickstart-appendix-hi3516.md). 247e41f4b71Sopenharmony_ci 248e41f4b71Sopenharmony_ci2. In DevEco Device Tool, choose **REMOTE DEVELOPMENT** > **Local PC** to check the connection status between the remote computer (Ubuntu build environment) and the local computer (Windows build environment). 249e41f4b71Sopenharmony_ci - If  is displayed on the right of **Local PC**, the remote computer is connected to the local computer. In this case, no further action is required. 250e41f4b71Sopenharmony_ci - If  is displayed, click the connect icon. During the connection, DevEco Device Tool will restart. Therefore, to avoid task interruptions, do not connect to DevEco Device Tool when downloading or building source code. 251e41f4b71Sopenharmony_ci 252e41f4b71Sopenharmony_ci  253e41f4b71Sopenharmony_ci 254e41f4b71Sopenharmony_ci3. Click **Project Settings** on the menu bar to access the Hi3516DV300 project configuration page. 255e41f4b71Sopenharmony_ci 256e41f4b71Sopenharmony_ci  257e41f4b71Sopenharmony_ci 258e41f4b71Sopenharmony_ci4. On the **Tool Chain** tab page, DevEco Device Tool automatically checks for the uploader tool. 259e41f4b71Sopenharmony_ci 260e41f4b71Sopenharmony_ci - If the tool is indicated as **uninstalled** (), click **Download Uninstalled Tools** to install all the required tools, or click **Download** next to a tool to install the specific tool. 261e41f4b71Sopenharmony_ci - If **Download** is not available for a missing tool, it is not cataloged in DevEco Device Tool. In this case, you need to download the tool to the local host and click **Import** to import it. 262e41f4b71Sopenharmony_ci 263e41f4b71Sopenharmony_ci  264e41f4b71Sopenharmony_ci 265e41f4b71Sopenharmony_ci5. On the **hispark_taurus_standard** tab page, set the burning options. The settings are automatically saved. 266e41f4b71Sopenharmony_ci 267e41f4b71Sopenharmony_ci - **upload_partitions_profile**: Select the burning profile file (preset by default), which specifies the files to be burnt, start address and length of the partition, and other burning settings. In addition, select **Enable to use upload_partitions_profile**. 268e41f4b71Sopenharmony_ci >  **NOTE** 269e41f4b71Sopenharmony_ci > 270e41f4b71Sopenharmony_ci > In the burning profile file, you can change the start address and length of the partition based on the size of the files to be burnt. Make sure the size of the partition is greater than that of the files to be burnt and the partition addresses of the files do not overlap. 271e41f4b71Sopenharmony_ci > 272e41f4b71Sopenharmony_ci > If this is the first time you burn files to the development board, select **Enable to use upload_partitions_profile for upload** so that the upload_partitions file will be automatically generated. Afterward, select **Enable to use upload_partitions_profile for upload** only when you need to generate a new **upload_partitions** file. 273e41f4b71Sopenharmony_ci - **upload_protocol**: Select the burning protocol **hiburn-usb**. 274e41f4b71Sopenharmony_ci - **upload_port**: Select the serial port number obtained. 275e41f4b71Sopenharmony_ci 276e41f4b71Sopenharmony_ci  277e41f4b71Sopenharmony_ci 278e41f4b71Sopenharmony_ci6. Click **Upload** under **hispark_taurus_standard**. 279e41f4b71Sopenharmony_ci 280e41f4b71Sopenharmony_ci  281e41f4b71Sopenharmony_ci 282e41f4b71Sopenharmony_ci When the "Operation paused, Please press Enter key to continue" message is displayed, which indicates that the transfer is complete, press **Enter** to start burning. 283e41f4b71Sopenharmony_ci 284e41f4b71Sopenharmony_ci  285e41f4b71Sopenharmony_ci 286e41f4b71Sopenharmony_ci7. When the following information is displayed in the **TERMINAL** window, press and hold the **Update** key within 15 seconds, remove and insert the USB cable, and then release the **Update** key to start burning. 287e41f4b71Sopenharmony_ci 288e41f4b71Sopenharmony_ci  289e41f4b71Sopenharmony_ci 290e41f4b71Sopenharmony_ci When the "SUCCESS" message is displayed, it indicates that the burning is successful. 291e41f4b71Sopenharmony_ci 292e41f4b71Sopenharmony_ci  293e41f4b71Sopenharmony_ci 294e41f4b71Sopenharmony_ci8. When the burning is successful, perform the operations in [Running an Image](#running-an-image) to start the system. 295e41f4b71Sopenharmony_ci 296e41f4b71Sopenharmony_ci 297e41f4b71Sopenharmony_ci## Running an Image 298e41f4b71Sopenharmony_ci 299e41f4b71Sopenharmony_ci 300e41f4b71Sopenharmony_ci### Starting the System 301e41f4b71Sopenharmony_ci 302e41f4b71Sopenharmony_ciAfter the burning is complete, perform the following steps to start the system: 303e41f4b71Sopenharmony_ci 304e41f4b71Sopenharmony_ci>  **NOTE** 305e41f4b71Sopenharmony_ci> 306e41f4b71Sopenharmony_ci> This operation procedure is required only if this is the first time you burn an image for the standard system. 307e41f4b71Sopenharmony_ci 308e41f4b71Sopenharmony_ci1. In DevEco Device Tool, click **Monitor** to open the serial port tool. 309e41f4b71Sopenharmony_ci 310e41f4b71Sopenharmony_ci  311e41f4b71Sopenharmony_ci 312e41f4b71Sopenharmony_ci2. Restart the development board. Before the autoboot countdown ends, press any key to enter the system. 313e41f4b71Sopenharmony_ci 314e41f4b71Sopenharmony_ci  315e41f4b71Sopenharmony_ci 316e41f4b71Sopenharmony_ci3. Run the following commands to set system boot parameters: 317e41f4b71Sopenharmony_ci 318e41f4b71Sopenharmony_ci ```shell 319e41f4b71Sopenharmony_ci setenv bootargs 'mem=640M console=ttyAMA0,115200 mmz=anonymous,0,0xA8000000,384M clk_ignore_unused rootdelay=10 hardware=Hi3516DV300 init=/init root=/dev/ram0 rw blkdevparts=mmcblk0:1M(boot),15M(kernel),20M(updater),2M(misc),3307M(system),256M(vendor),-(userdata)'; 320e41f4b71Sopenharmony_ci ``` 321e41f4b71Sopenharmony_ci 322e41f4b71Sopenharmony_ci 323e41f4b71Sopenharmony_ci ```shell 324e41f4b71Sopenharmony_ci setenv bootcmd 'mmc read 0x0 0x82000000 0x800 0x4800; bootm 0x82000000' 325e41f4b71Sopenharmony_ci ``` 326e41f4b71Sopenharmony_ci 327e41f4b71Sopenharmony_ci  328e41f4b71Sopenharmony_ci 329e41f4b71Sopenharmony_ci4. Save the parameter settings. 330e41f4b71Sopenharmony_ci 331e41f4b71Sopenharmony_ci ```shell 332e41f4b71Sopenharmony_ci save 333e41f4b71Sopenharmony_ci ``` 334e41f4b71Sopenharmony_ci 335e41f4b71Sopenharmony_ci  336e41f4b71Sopenharmony_ci 337e41f4b71Sopenharmony_ci5. Restart the development board to start the system. 338e41f4b71Sopenharmony_ci 339e41f4b71Sopenharmony_ci ```shell 340e41f4b71Sopenharmony_ci reset 341e41f4b71Sopenharmony_ci ``` 342e41f4b71Sopenharmony_ci 343e41f4b71Sopenharmony_ci  344e41f4b71Sopenharmony_ci 345e41f4b71Sopenharmony_ci 346e41f4b71Sopenharmony_ci### Running a Hello World Program 347e41f4b71Sopenharmony_ci 348e41f4b71Sopenharmony_ciAfter the system is started, start the serial port tool, run the **helloworld** command in any directory, and press **Enter**. If the message "Hello World!" is displayed, the program runs successfully. 349e41f4b71Sopenharmony_ci 350e41f4b71Sopenharmony_ci 351e41f4b71Sopenharmony_ci 352e41f4b71Sopenharmony_ci 353e41f4b71Sopenharmony_ci### Next 354e41f4b71Sopenharmony_ci 355e41f4b71Sopenharmony_ciCongratulations! You have finished all steps! Proceed to [develop a sample](../guide/device-clock-guide.md) to better familiarize yourself with OpenHarmony development. 356