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

丨张明亮丨
发布于 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修改
收藏
回复
举报
2条回复
按时间正序
/
按时间倒序
鲜橙加冰
鲜橙加冰

图片看不出来,楼主要不本地上传一下?

回复
2020-10-29 15:45:18
丨张明亮丨
丨张明亮丨 回复了 鲜橙加冰
图片看不出来,楼主要不本地上传一下?

嗯 重新上传了 应该可以了

回复
2020-10-29 18:20:44
回复
    相关推荐