OpenHarmony2.0Hi3516系列标准系统源码编译烧录编译使用Ubuntu20.0.4版本编译,硬件环境为Win10,虚拟机配置8G内存,4核CPU(内存2G腾讯云服务器内存版本太小无法编译)。1、源码下载和基本软件配置参考Hi3516系列小系统源码编译和烧录编译固件:https://yunpan.midea.com/#/sharelist?sharekey=reuP4tpjqN2,安装依赖工具(标准系统编译requiresmore多的依赖工具)安装命令如下sudoapt-getinstallbinutilsgit-coregit-lfsgnupgflexbisongperfbuild-essentialzipcurlzlib1g-devgcc-multilibg++-multiliblibc6-dev-i386lib32ncurses5-devx11proto-core-devlibx11-devlib32z-devccachelibgl1-mesa-devlibxml2-utilsxsltprocunzipm4python2.7python-minimal注:python-Minimal在安装过程中失败,但不影响编译。3、获取标准系统源码(获取方式同小系统,维护一套代码)4、获取prebuilts,切换到OpenHarmony工作目录。cdOpenHarmony下载脚本。curlhttps://gitee.com/landwind/script-tools/raw/master/Shell/OpenHarmony/OpenHarmony_2.0_canary_prebuilts_download.sh>./prebuilts_download.sh下载prebuilts压缩包并解压到指定位置。bash./prebuilts_download.sh二进制文件默认存储在与OpenHarmony相同的目录中的OpenHarmony_2.0_canary_prebuilts下。如果需要修改默认位置,请编辑prebuilts_download.sh修改bin_dir值。5.配置NodeJS环境,获取Node_modules依赖包。为了编译JSFramework,开发者需要在Linux服务器上下载并配置NodeJS(注意:步骤中的OpenHarmony目录指的是当前项目的根目录,可以自定义)。具体操作如下:开发者在Linux服务器上下载Nodejs。mkdir-pOpenHarmony/prebuilts/build-tools/common/nodejs#创建nodejs目录cdOpenHarmony/prebuilts/build-tools/common/nodejs#进入nodejs目录wget--no-check-certificatehttps://nodejs.org/download/release/v12.18.4/node-v12.18.4-linux-x64.tar.gz#下载nodejstar-zxvfnode-v12.18.4-linux-x64.tar.gz#解压nodejs压缩包cd-#切换到上级目录即可配置NodeJS环境变量,下载node_modules包。cdOpenHarmony/third_party/jsframework#进入jsframework目录exportPATH=../../prebuilts/build-tools/common/nodejs/node-v12.18.4-linux-x64/bin:${PATH}#设置NodeJS环境变量npminstall#下载node_modules包cd-#切换到上一个目录,将下载的node_modules包放入OpenHarmony代码的prebuilts/build-tools/common/js-framework目录下。mkdir-pOpenHarmony/prebuilts/build-tools/common/js-framework#创建js-framework目录cp-rpOpenHarmony/third_party/jsframework/node_modulesOpenHarmony/prebuilts/build-tools/common/js-framework/6,开始编译使用Docker环境开发者可以参考Docker使用指南进行编译。使用安装包方式的开发者在Linux环境下进行如下操作。进入源码根目录,执行以下命令编译版本。./build.sh--product-nameHi3516DV300{product_name}为当前版本支持的平台。检查编译结果。编译完成后,log中显示如下:copymodules...[12937/12939]STAMPobj/build/ohos/packages/phone_install_modules.stamp[12938/12939]STAMPobj/build/ohos/packages/make_packages.stamp[12939/12939]STAMPobj/build/core/gn/packages.stampused:3591secondspycachestatisticsmanagepycachecontentspycachedaemonexitctargetsoverlapratestatisticssubsystemfilesNO.percentagebuildsNO.percentageoverlapratethird_party457960.3%474061.2%1.04aafwk1071.4%1071.4%1.00account130.2%130.2%1.00ace76510.1%7659.9%1.00appexecfwk2343.1%2343.0%1.00communication3234.3%3234.2%1.00developtools650.9%650.8%1.00distributeddatamgr2863.8%2863.7%1.00distributedschedule270.4%270.3%1.00global170.2%170.2%1.00graphic330.4%330.4%d4.30.6hhiviewdfx981.3%981.3%1.00miscservices50.1%50.1%1.00multimedia380.5%380.5%1.00multimodalinput290.4%290.4%1.00notification370.5%370.5%1.00powermgr480.6%480.6%1.00security1692.2%15.00startup2%15.00startup.7%510.7%1.00telephony2002.6%2002.6%1.00updater851.1%851.1%1.00utils2112.8%2112.7%1.00wpa_supplicant-2.91031.4%1031.3%1.00coverallbuildoverlaprate:1.02post_processbuild_target=''/home/ubuntu/harmonyos/OpenHarmony/out/ohos-arm-release/packages/phone/images/root/home/ubuntu/harmonyosOpenHarmony/home/ubuntu/harmonyos/OpenHarmonybuildvendorimagesuccessful.buildsystemimagesuccessful.builduserdataimagesuccessful.ohos_build_out_dir=/home/ubuntu/harmonyos/OpenHarmony/out/ohos-arm-release/packages/phonebuildupdaterimagesuccessful.=====buildHi3516DV300successful.2021-07-1011:4:59++++++++++++++++++++++++++++++++++++++++++root@ubuntu:/home/ubuntu/harmonyos/OpenHarmony#编译生成的文件存档在out/ohos-arm-release/目录下,生成的图片输出在out/ohos-arm-release/packages/phone/images/目录下。2、烧录Hi3516系列支持串口、USB、网线烧录,但USB和网线烧录需要同时连接串口;串口烧写太慢(不推荐),USB烧写不成功。刷机包可以在论坛编译镜像下载https://pan.baidu.com/s/1rGf75ifUCRZ1btJjsKkiCw提取码:ohos1。请连接电脑和要烧录的开发板。以Hi3516DV300为例,需要同时连接串口、网口和电源;2、打开电脑的设备管理器,查看并记录对应的串口号;3、连接电脑网线,修改电脑IP地址4、打开DevEcoDeviceTool,新建工程选择开发版芯片为Hi3516DV300,工程名称自行选择,元器件选择为没有任何;5.在Projects中,点击Settings,打开工程配置界面6.在PartitionConfiguration选项卡中,按照下表填写烧录文件信息,包括:7.在“hi3516dv300”选项卡中,设置烧录选项,包括upload_port、upload_partitions和upload_protocolupload_port:选择第2步查询到的串口号。upload_protocol:选择烧录协议,始终选择“hiburn-net”。upload_partitions:选择要烧录的文件,包括fastboot、boot、updater、misc、system、vendor和userdata。注意upload_partitions,需要烧多少选多少。如果是第一次从小系统烧录到标准系统,需要全部烧录;8.设置网口烧录的IP地址信息,设置如下选项:upload_net_server_ip:选择步骤3设置的IP地址信息,例如192.168.1.2upload_net_client_mask:设置开发板的子网掩码,工具将根据选择的upload_net_server_ip自动设置。例如255.255.255.0upload_net_client_gw:设置开发板的网关,工具会根据选择的upload_net_server_ip自动设置。例如192.168.1.1upload_net_client_ip:设置开发板的IP地址,工具会根据选择的upload_net_server_ip自动设置。例如,192.168.1.39。所有配置修改完成后,点击项目配置页签上方的保存进行保存。10.擦除fastboot在Windows上擦除成功后,可能无法继续烧录。可以使用Hitools工具进行烧录。11.开始烧录,点击上传直接开始烧录。12、出现如下提示后,断开电源,重新上电。上电后开始传输数据,开始烧录13.烧录成功需要十分钟左右。烧录成功后直接开机。标准系统样式如下。点亮屏幕,启动日志如下。这是因为烧录系统的时候fastboot没有被抹掉;解决办法:先擦掉fastboot,再烧录;如果擦除后不能烧录,可以参考下面第二点解决方案;@@@bootArgsfrommisc=mem=640Mconsole=ttyAMA0,115200mmz=anonymous,0,0xA8000000,384Mclk_ignore_unusedandroidboot.selinux=permissiveskip_initramfsrootdelay=in10root=init/dev/mmcblk0p5rootfstype=ext4rwblkdevparts=mmcblk0:1M(boot),15M(kernel),20M(updel),20M(updater),1M(misc),3307M(system),256M(vendor),-(userdata)@@@bootArgsfinalfromemmc=console=ttyAMA0,115200n8root=emmcfstype=vfatrootaddr=10Mrootsize=20MrwNet:eth0Error:eth0addressnotset.Hitanykeytostopautoboot:0MMCread:dev#0,block#2048,count18432...18432blocksread:OK45.20ing0MB/s从0...Boeg0...ImageName:Linux-4.19.155ImageType:ARMLinuxBernelImage(un:4848ys=9DataSize2MiBLoadAddress:80008000EntryPoint:80008000LoadingKernelImageStartingkernel...2.烧录过程中擦除fastboot后,无法继续烧录。如果想恢复原系统,可以重新烧录fastboot来恢复系统;A。使用hitool来烧录b。使用DevEcoDeviceTool烧录(只能选择烧录fastboot)小系统首次启动需要修改U-boot的bootcmd和bootargs内容或者修改启动参数(参考OpenHarmony小系统源码烧录)3.hi3516开发版硬件注意事项hi3516开发版有两个USB口可以供电。如果使用电源,请注意电源开关。在使用过程中,你会发现电源键有变化(之前按下电源,然后松开电源)。由于开发版硬件缺陷,没有指示灯提示是否已开机,可以通过Monitor验证,打开Monitor,打开开关后观察是否有日志信息。
