# harmony **Repository Path**: Rachel0x0/harmony ## Basic Information - **Project Name**: harmony - **Description**: harmony new_IP - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-09-20 - **Last Updated**: 2023-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NEWIP-openharmony-RK3568开发板-操作手册 ## 1、编译、烧录、接入开发板 * 环境搭建 ``` ubuntu iso下载链接 https://releases.ubuntu.com/20.04.5/?_ga=2.61723823.2072285057.1665499758-1065409600.1654771947 (选择Desktop image安装在虚拟机上) 参考https://gitee.com/openharmony/docs/blob/OpenHarmony-3.1-Release/zh-cn/device-dev/quick-start/quickstart-ide-lite-env-setup-win-ubuntu.md ``` * 获取源码 ``` 在Ubuntu系统上下载源码 ·下载openharmony3.1.1全量代码https://gitee.com/openharmony/docs/blob/OpenHarmony-3.1-Release/zh-cn/release-notes/OpenHarmony-v3.1.1-release.md并解压 ·下载harmony的include、net、security三个目录,复制这三个文件夹,在鸿蒙源码的code-v3.1.1-Release/OpenHarmony/kernel/linux/linux-5.10文件夹下点击粘贴,全部选择合并和替换 ·下载harmony的openharmony文件夹,打开openharmony/applications/sample,复制tcpserver和tcpclient这两个文件夹到鸿蒙源码的code-v3.1.1-Release/OpenHarmony/applications/sample文件夹下点击粘贴 ·打开code-v3.1.1-Release/OpenHarmony/build/subsystem_config.json的最后一个部件末尾添加一个逗号,并添加"sample"新子系统的配置 "sample": { "path": "applications/sample", "name": "sample" } ·打开code-v3.1.1-Release/OpenHarmony/productdefine/common/products/rk3568.json,在parts属性下的最后一行末尾加上逗号,并添加两行部件配置: "sample:tcpserver":{}, "sample:tcpclient":{} ·在源码根目录下执行prebuilts脚本,安装编译器及二进制工具。 bash build/prebuilts_download.sh ``` * 创建源码工程 ``` 参考https://gitee.com/openharmony/docs/blob/OpenHarmony-3.1-Release/zh-cn/device-dev/quick-start/quickstart-ide-lite-create-project.md ``` * 编译(重新编译若涉及内核修改则需要删除掉上次编译生成的code-v3.1.1-Release/OpenHarmony/out文件夹再进行编译) ``` 参考https://gitee.com/openharmony/docs/blob/OpenHarmony-3.1-Release/zh-cn/device-dev/quick-start/quickstart-ide-standard-running-rk3568-build.md ``` * 烧录 ``` 参考https://gitee.com/openharmony/docs/blob/OpenHarmony-3.1-Release/zh-cn/device-dev/quick-start/quickstart-ide-standard-running-rk3568-burning.md ``` * 烧录完毕后,按下开发板的reset按键重启开发板。开发板连接电源,并使用USB连接windows系统 ## 2、使用hdc_std工具进入shell窗口 * (https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v3.1-release.md#%E4%BB%8E%E9%95%9C%E5%83%8F%E7%AB%99%E7%82%B9%E8%8E%B7%E5%8F%96)下载标准SDK,并解压其中的ohos-sdk/windows/toolchains文件夹 * 在toolchains文件夹目录下打开windows的命令行窗口(windows系统在toolchain文件夹下按住shift点击右键,选择在此处打开powershell窗口) ``` 运行命令:./hdc_std list targets 在开发板连接状态正常的情况下,list targets会显示开发板的标识key,否则会显示Empty ``` * 发送配置工具至开发板的/data/目录下并修改执行权限(配置工具是使用交叉编译工具编译得到的可执行文件) ``` ·在gitee的harmony库下的net-tools文件夹(不是nip-net-tools文件夹)下载配置工具(4个文件:nipifconfig、nipdev、route、arp)到windows系统上 ·使用下列命令发送配置工具至开发板的/data/目录下并修改执行权限(4个文件的路径自行修改) ./hdc_std file send nipifconfig /data/ ./hdc_std file send nipdev /data/ ./hdc_std file send route /data/ ./hdc_std file send arp /data/ ./hdc_std shell chmod +x /data/nipifconfig ./hdc_std shell chmod +x /data/nipdev ./hdc_std shell chmod +x /data/route ./hdc_std shell chmod +x /data/arp ``` * 进入开发板的shell ``` 运行命令:./hdc_std shell ``` ## 3、配置命令(在开发板的shell下执行以下命令) ``` ·由于测试程序中固定了server端的NEWIP地址是DC,client端的NEWIP地址为DA,所以需要使用这两个地址进行配置 ``` ### 若开发板作为client端: ``` # 为eth0网卡添加newip地址 /data/nipifconfig eth0 nip add --address DA # 添加路由表,第一项为目的地址,第二项为网关地址 /data/route -A ninet add address DC gateway address DC dev eth0 # 为eth0网卡添加newip邻居表,配置对应的mac地址(此处命令的最后一项是对方机器(server端)的MAC地址,需要自行修改) /data/arp -i eth0 -s nip DC 00:0c:29:df:8f:ae # 配置设备ID、SSID(默认ID:0、SSID:64) /data/nipdev [-id 32] [-ssid 66] # 查看newip设备信息 /data/nipdev -show ``` ### 若开发板作为server端: ``` # 为eth0网卡添加newip地址 /data/nipifconfig eth0 nip add --address DC # 添加路由表,第一项为目的地址,第二项为网关地址 /data/route -A ninet add address DA gateway address DA dev eth0 # 为eth0网卡添加newip邻居表,配置对应的mac地址(此处命令的最后一项是对方机器(client端)的MAC地址,需要自行修改) /data/arp -i eth0 -s nip DA 00:0c:29:df:8f:ae # 配置设备ID、SSID(默认ID:0、SSID:64) /data/nipdev [-id 32] [-ssid 66] # 查看newip设备信息 /data/nipdev -show ``` ## 4、运行测试程序 ``` 若作为服务端,则运行命令:tcpserver 若作为客户端,则运行命令:tcpclient ``` ## 5、关于开发板和windows虚拟机上的linux网络连通 ``` · 参考:我是用的网线连接开发板和笔记本电脑windows系统,windows系统里开着虚拟机里的linux16.04,然后虚拟机使用桥接模式桥接笔记本上连着开发板的以太网卡(vmware点上面的编辑->虚拟网络编辑器->更改设置(右下角)->VMnet0选择桥接模式,选择连着开发板的以太网卡;虚拟机->设置->网络适配器设置选择桥接模式(自动))。然后查看windows上该以太网卡的ipv4地址,把虚拟机相应的网卡(如eth0)和开发板的相应网卡(如eth0)这两个的ipv4地址改成同一个网段下,然后虚拟机和开发板互相ping能ping通即可说明连通。 ```