1e41f4b71Sopenharmony_ci# Setting Up the Development Environment 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci 4e41f4b71Sopenharmony_ciIn embedded development, Windows-based tools, such as Visual Studio Code, are widely used in code editing. Yet, because the source code of most development boards, such as Hi3861 and Hi3516, cannot be built in Windows, these development boards require the Ubuntu build environment. Therefore, for these development boards, you need Ubuntu to build source code and Windows to burn images. 5e41f4b71Sopenharmony_ci 6e41f4b71Sopenharmony_ciSet up the Windows and Ubuntu development environments that meet the [Windows Requirements](#windows-requirements) and [Ubuntu Requirements](#ubuntu-requirements), respectively. Then enable Windows to remotely access Ubuntu. No specific requirements are placed on the development devices. 7e41f4b71Sopenharmony_ci 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci>  **NOTE** 10e41f4b71Sopenharmony_ci> 11e41f4b71Sopenharmony_ci> OpenHarmony also provides the [Docker environment](https://gitee.com/openharmony/docs/blob/master/en/device-dev/get-code/gettools-acquire.md), which can significantly simplify the environment configuration before compilation. You can build your source code in the Docker environment if you are more accustomed to using the command line. 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci## Windows Requirements 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci64-bit Windows 10 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ci## Ubuntu Requirements 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ci- OS: Ubuntu 18.04 or later, X86_64 architecture, and 16 GB or more of RAM (recommended) 25e41f4b71Sopenharmony_ci 26e41f4b71Sopenharmony_ci- User name: cannot contain Chinese characters 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci## Preparing for Remote Access 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ciWhen burning images in Windows, you need to remotely access the source code and image files in Ubuntu. To achieve this, use a file transfer or sharing tool. 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ciIn this example the Samba server is used. 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci 36e41f4b71Sopenharmony_ci### Configuring the Samba Server 37e41f4b71Sopenharmony_ci 38e41f4b71Sopenharmony_ciPerform the following operations in Ubuntu: 39e41f4b71Sopenharmony_ci 40e41f4b71Sopenharmony_ci1. Install the Samba software package. 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_ci ``` 43e41f4b71Sopenharmony_ci sudo apt-get install samba samba-common 44e41f4b71Sopenharmony_ci ``` 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci2. Configure the sharing information in the Samba configuration file. 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ci Open the **smb.conf** file. 49e41f4b71Sopenharmony_ci 50e41f4b71Sopenharmony_ci ``` 51e41f4b71Sopenharmony_ci sudo gedit /etc/samba/smb.conf 52e41f4b71Sopenharmony_ci ``` 53e41f4b71Sopenharmony_ci 54e41f4b71Sopenharmony_ci Append the following information to the configuration file: 55e41f4b71Sopenharmony_ci 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ci ``` 58e41f4b71Sopenharmony_ci [Share] # Name of the root folder mapped in Windows (Share is used as an example) 59e41f4b71Sopenharmony_ci comment = Shared Folder # Information about the sharing 60e41f4b71Sopenharmony_ci path = /home/share # Shared directory 61e41f4b71Sopenharmony_ci valid users = username # User who can access the shared directory (user name in Ubuntu) 62e41f4b71Sopenharmony_ci directory mask = 0775 # Default directory permissions 63e41f4b71Sopenharmony_ci create mask = 0775 # Default file permissions 64e41f4b71Sopenharmony_ci public = yes # Whether to enable public access 65e41f4b71Sopenharmony_ci writable = yes # Whether to enable write access 66e41f4b71Sopenharmony_ci available = yes # Whether the directory is available 67e41f4b71Sopenharmony_ci browseable = yes # Whether the directory is browseable 68e41f4b71Sopenharmony_ci ``` 69e41f4b71Sopenharmony_ci 70e41f4b71Sopenharmony_ci3. Add the user name and password for accessing the Samba server. 71e41f4b71Sopenharmony_ci 72e41f4b71Sopenharmony_ci ``` 73e41f4b71Sopenharmony_ci sudo smbpasswd -a username # Enter the Ubuntu user name. Then set the password as prompted. 74e41f4b71Sopenharmony_ci ``` 75e41f4b71Sopenharmony_ci 76e41f4b71Sopenharmony_ci4. Run the following command to restart the Samba service: 77e41f4b71Sopenharmony_ci 78e41f4b71Sopenharmony_ci ``` 79e41f4b71Sopenharmony_ci sudo service smbd restart 80e41f4b71Sopenharmony_ci ``` 81e41f4b71Sopenharmony_ci 82e41f4b71Sopenharmony_ci 83e41f4b71Sopenharmony_ci### Mapping a Network Drive in Windows 84e41f4b71Sopenharmony_ci 85e41f4b71Sopenharmony_ciPerform the following operations in Windows: 86e41f4b71Sopenharmony_ci 87e41f4b71Sopenharmony_ci1. Right-click **This PC** and choose **Map network drive** from the shortcut menu. In the **Drive** list, select a drive letter. In the **Folder** field, enter the path in the format of *\\Ubuntu device IP address\Ubuntu shared folder*. 88e41f4b71Sopenharmony_ci 89e41f4b71Sopenharmony_ci  90e41f4b71Sopenharmony_ci 91e41f4b71Sopenharmony_ci2. Enter the user name and password for accessing the Samba server, which has been set up in [Configuring the Samba Server](#configuring-the-samba-server). 92e41f4b71Sopenharmony_ci 93e41f4b71Sopenharmony_ci  94e41f4b71Sopenharmony_ci 95e41f4b71Sopenharmony_ci3. The shared directory is displayed in Windows and available for access. 96