【鸿蒙编译烧录】“后台服务”虚拟机 ➕ 一个软件搞定远程、编译 原创

发布于 2020-10-29 07:38
浏览
0收藏

原创文章,转载请注明出处:
鸿蒙2.0发布有一个多月了,今天来分享一个我自己调试鸿蒙用的环境。首先是运行linux虚拟机,系统我用的是Ubuntu20.04。因为默认python环境正好符合官方要求。软件是开源的VirtualBox,官方下载地址:https://www.virtualbox.org/wiki/Downloads 接下来按照官方文档把环境编译好,这种教程太多了,我就不写了。
 
一、“后台服务”虚拟机
这里假设虚拟机的开发环境已经配置好了,在搭好环境的虚拟机上右击“创建桌面快捷方式”
 【鸿蒙编译烧录】“后台服务”虚拟机 ➕ 一个软件搞定远程、编译-开源基础软件社区
右击打开创建好的快捷方式的属性,复制目标里的内容
 【鸿蒙编译烧录】“后台服务”虚拟机 ➕ 一个软件搞定远程、编译-开源基础软件社区
将复制的命令,按照下图修改。注意引号和 --

"C:\Program Files\Oracle\VirtualBox\VirtualBoxVM.exe" --comment "Ubuntu64_20.04" --startvm "{3998f28f-1fc4-4c5d-953f-9e21a28179a5}" 
将VirtualBoxVM.exe改为VBoxManage.exe,删除comment,添加type 
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" startvm "{3998f28f-1fc4-4c5d-953f-9e21a28179a5}" --type headless

【鸿蒙编译烧录】“后台服务”虚拟机 ➕ 一个软件搞定远程、编译-开源基础软件社区 点击确定修改完成。快捷键win+R打开运行,输入 shell:Startup
 【鸿蒙编译烧录】“后台服务”虚拟机 ➕ 一个软件搞定远程、编译-开源基础软件社区
把刚才改好的快捷方式,放入开始启动的这个文件夹。这样我们的电脑一开机就可以后台运行一个linux服务器了。
注意:windows关机的时候,一定要先远程关闭虚拟机,再关闭windows。不然服务器属于非法关机。
二、一个软件搞定linux的远程代码编译,固件烧录
他就是MobaXterm
 【鸿蒙编译烧录】“后台服务”虚拟机 ➕ 一个软件搞定远程、编译-开源基础软件社区
,可以下载免费的Home Edition版本,完全不影响使用,接下来和大家分享这个软件几个比较好用的功能。
软件集成SSH、FTP、Serial等多种连接方式,配合我们上面的“后台运行”的服务器,远程、串口、文件共享,一个软件搞定。
 【鸿蒙编译烧录】“后台服务”虚拟机 ➕ 一个软件搞定远程、编译-开源基础软件社区

再就是这个录制宏命令功能,这才是这个软件牛X的地方【重点讲解】
用录制宏命令实现【一键烧录】,其实实现原理和官方的VScode插件、HiTool等工具的方式是一样的,只不过这些功能被制作成一个按钮,我们并不知道他是如何运行的,而我们使用开发板就是为了学习,所以了解其中的原理,才能更好的学到知识。
固件烧录常用的就是USB、网络、串口,串口太慢就不考虑,网络方式速度比较快,我下面演示的就是网络烧录,先用这个软件远程我们的“后台服务器”然后输入以下命令建立tftp服务器

sudo apt-get install tftpd-hpa   #安装
sudo vim /etc/default/tftpd-hpa  #修改下配置文件,文件内容如下,修改完成,保存退出
    TFTP_USERNAME="tftp"
    TFTP_DIRECTORY="/home/bright/Harmony/out/ipcamera_hi3516dv300/" #这个是我编译生成镜像的文件夹,修改成自己的文件夹路径就可以
    TFTP_ADDRESS=":69"
    TFTP_OPTIONS="--secure"
sudo service tftpd-hpa restart  #修改完需要重启下服务

然后回到windows,还是使用这个软件的串口Serial连接我们的开发板,启动完成进入U-Boot(hisilicon)的界面。
 【鸿蒙编译烧录】“后台服务”虚拟机 ➕ 一个软件搞定远程、编译-开源基础软件社区
点击录制,然后在uboot依次输入以下命令,输入完成点击结束录制,刚才输入的命令就被制作成宏了

setenv ipaddr 192.168.0.208
setenv ethaddr 00:11:22:33:44:55
setenv netmask 255.255.255.0
setenv gatewayip 192.168.0.1
setenv serverip 192.168.0.220
#这5条命令用于配置uboot的网络环境,以便使用tftp,可以直接uboot下设置,然后saveenv,这样就不用写到宏里面了。

mw.b 0x81000000 0xFF 0x4f0000             #清空一块内存区域
tftp 0x81000000 OHOS_Image.bin          #从tftp服务器下载镜像到内存
mmc write 0x0 0x81000000 0x800 0x2780   #从内存写入mmc

mw.b 0x81000000 0xFF 0xe05c00            #下面烧录这两个文件是同样的道理
tftp 0x81000000 rootfs.img
mmc write 0x0 0x81000000 0x5000 0x702e

mw.b 0x81000000 0xFF 0x3200000
tftp 0x81000000 userfs.img
mmc write 0x0 0x81000000 0xc800 0x19000

当然你可以修改宏的内容,修改输入的命令,时间间隔等等,按照自己的方式自定义。
 【鸿蒙编译烧录】“后台服务”虚拟机 ➕ 一个软件搞定远程、编译-开源基础软件社区录制完成可以重命名“烧录”,当然也可以在SSH服务器界面录制宏,python3 build.py ipcamera_hi3516dv300 -b debug重命名“构建”
 【鸿蒙编译烧录】“后台服务”虚拟机 ➕ 一个软件搞定远程、编译-开源基础软件社区如此一来就真正实现,一键编译,一键烧录了。当然你还可以录制USB的烧录,这里我也只是抛砖引玉,其他姿势,请自行解锁。【鸿蒙编译烧录】“后台服务”虚拟机 ➕ 一个软件搞定远程、编译-开源基础软件社区 
因为串口只能独占,使用这种方式,烧录的时候,就不需要重新断电上电开发板,也不需要来回切换串口工具。更重要的是学习到了u-boot关于tftp的一下操作指令。
注意:免费用户可以生成4条宏命令,已经够用了,不够用也可以支持下正版。
还有一个功能代码高亮显示 【鸿蒙编译烧录】“后台服务”虚拟机 ➕ 一个软件搞定远程、编译-开源基础软件社区不知道你有没有一大堆消息里找第一行报错的经历,命令行看的头晕眼花,而MobaXterm就实现了高亮文本这样的小功能,巴适。
设置很简单,将需要高亮的关键词设置到对应的颜色保存即可,关键词要逗号隔开就行了。
 【鸿蒙编译烧录】“后台服务”虚拟机 ➕ 一个软件搞定远程、编译-开源基础软件社区好了,以上就我在开发中使用的小技巧了,希望对你有所帮助,好用别忘了给我点个赞👍

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
已于2021-1-21 11:37:57修改
收藏
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐