|

【鸿蒙编译烧录】“后台服务”虚拟机 一个软件搞定远程、编译、烧录,
本帖最后由 Bright_ML 于 2020-10-22 13:04 编辑
原创文章,转载请注明出处:
鸿蒙2.0发布有一个多月了,今天来分享一个我自己调试鸿蒙用的环境。首先是运行linux虚拟机,系统我用的是Ubuntu20.04。因为默认python环境正好符合官方要求。软件是开源的VirtualBox,官方下载地址:https://www.virtualbox.org/wiki/Downloads 接下来按照官方文档把环境编译好,这种教程太多了,我就不写了。
[size=18.6667px]
一、“后台服务”虚拟机
1.这里假设虚拟机的开发环境已经配置好了,在搭好环境的虚拟机上右击“创建桌面快捷方式”
1.png (42.58 KB, 下载次数: 0)
下载附件 保存到相册
1 小时前 上传
2. 右击打开创建好的快捷方式的属性,复制目标里的内容
2.png (40.84 KB, 下载次数: 0)
下载附件 保存到相册
1 小时前 上传
3. 将复制的命令,按照下图修改。注意引号和 --
- <!--StartFragment-->“C:\Program Files\Oracle\VirtualBox\VirtualBoxVM.exe“ --comment “Ubuntu64_20.04“ --startvm “{3998f28f-1fc4-4c5d-953f-9e21a28179a5}“
复制代码
3.png (40.79 KB, 下载次数: 0)
下载附件 保存到相册
1 小时前 上传
4. 点击确定修改完成。快捷键win+R打开运行,输入 shell:Startup
4.png (20.39 KB, 下载次数: 0)
下载附件 保存到相册
1 小时前 上传
5. 把刚才改好的快捷方式,放入开始启动的这个文件夹。这样我们的电脑一开机就可以后台运行一个linux服务器了。 注意:windows关机的时候,一定要先远程关闭虚拟机,再关闭windows。不然服务器属于非法关机。
二、一个软件搞定linux的远程代码编译,固件烧录
他就是MobaXterm,可以下载免费的Home Edition版本,完全不影响使用,接下来和大家分享这个软件几个比较好用的功能。
- 软件集成SSH、FTP、Serial等多种连接方式,配合我们上面的“后台运行”的服务器,远程、串口、文件共享,一个软件搞定。
6.png (47.02 KB, 下载次数: 0)
下载附件 保存到相册
1 小时前 上传
- 再就是这个录制宏命令功能,这才是这个软件牛X的地方【重点讲解】
1. 用录制宏命令实现【一键烧录】,其实实现原理和官方的VScode插件、HiTool等工具的方式是一样的,只不过这些功能被制作成一个按钮,我们并不知道他是如何运行的,而我们使用开发板就是为了学习,所以了解其中的原理,才能更好的学到知识。
2. 固件烧录常用的就是USB、网络、串口,串口太慢就不考虑,网络方式速度比较快,我下面演示的就是网络烧录,先用这个软件远程我们的“后台服务器”然后输入以下命令建立tftp服务器
- <!--StartFragment--><div yne-bulb-block=“paragraph“>sudo apt-get install tftpd-hpa #安装</div><div yne-bulb-block=“paragraph“>sudo vim /etc/default/tftpd-hpa #修改下配置文件,文件内容如下,修改完成,保存退出</div><div yne-bulb-block=“paragraph“> TFTP_USERNAME=“tftp“</div><div yne-bulb-block=“paragraph“> TFTP_DIRECTORY=“/home/bright/Harmony/out/ipcamera_hi3516dv300/“ #这个是我编译生成镜像的文件夹,修改成自己的文件夹路径就可以</div><div yne-bulb-block=“paragraph“> TFTP_ADDRESS=“:69“</div><div yne-bulb-block=“paragraph“> TFTP_OPTIONS=“--secure“</div><div yne-bulb-block=“paragraph“>sudo service tftpd-hpa restart #修改完需要重启下服务</div><!--5f39ae17-8c62-4a45-bc43-b32064c9388a:W3siYmxvY2tJZCI6IjgwMjctMTYwMzM0MjI0Njg5NiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJiYWNrLWNvbG9yIjoiIn0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoicyJ9LHsiY2hhciI6InUifSx7ImNoYXIiOiJkIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoicCJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiItIn0seyJjaGFyIjoiZyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiICJ9LHsiY2hhciI6ImkifSx7ImNoYXIiOiJuIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoibCJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6ImYifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoicCJ9LHsiY2hhciI6ImQifSx7ImNoYXIiOiItIn0seyJjaGFyIjoiaCJ9LHsiY2hhciI6InAifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiIyJ9LHsiY2hhciI6IuWuiSJ9LHsiY2hhciI6IuijhSJ9XSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19LHsiYmxvY2tJZCI6IjUwNDctMTYwMzM0MjI0Njg5NiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJiYWNrLWNvbG9yIjoiIn0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoicyJ9LHsiY2hhciI6InUifSx7ImNoYXIiOiJkIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJ2In0seyJjaGFyIjoiaSJ9LHsiY2hhciI6Im0ifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiLyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiYyJ9LHsiY2hhciI6Ii8ifSx7ImNoYXIiOiJkIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6ImYifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoidSJ9LHsiY2hhciI6ImwifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiLyJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJmIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6InAifSx7ImNoYXIiOiJkIn0seyJjaGFyIjoiLSJ9LHsiY2hhciI6ImgifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoiYSJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiIyJ9LHsiY2hhciI6IuS/riJ9LHsiY2hhciI6IuaUuSJ9LHsiY2hhciI6IuS4iyJ9LHsiY2hhciI6IumFjSJ9LHsiY2hhciI6Iue9riJ9LHsiY2hhciI6IuaWhyJ9LHsiY2hhciI6IuS7tiJ9LHsiY2hhciI6Iu+8jCJ9LHsiY2hhciI6IuaWhyJ9LHsiY2hhciI6IuS7tiJ9LHsiY2hhciI6IuWGhSJ9LHsiY2hhciI6IuWuuSJ9LHsiY2hhciI6IuWmgiJ9LHsiY2hhciI6IuS4iyJ9LHsiY2hhciI6Iu+8jCJ9LHsiY2hhciI6IuS/riJ9LHsiY2hhciI6IuaUuSJ9LHsiY2hhciI6IuWujCJ9LHsiY2hhciI6IuaIkCJ9LHsiY2hhciI6Iu+8jCJ9LHsiY2hhciI6IuS/nSJ9LHsiY2hhciI6IuWtmCJ9LHsiY2hhciI6IumAgCJ9LHsiY2hhciI6IuWHuiJ9XSwiaXNSaWNoVGV4dCI6dHJ1ZSwia2VlcExpbmVCcmVhayI6dHJ1ZX19LHsiYmxvY2tJZCI6IjI1NjctMTYwMzM0MjI0Njg5NiIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJiYWNrLWNvbG9yIjoiIn0sInR5cGUiOiJwYXJhZ3JhcGgiLCJyaWNoVGV4dCI6eyJkYXRhIjpbeyJjaGFyIjoiICJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6IlQifSx7ImNoYXIiOiJGIn0seyJjaGFyIjoiVCJ9LHsiY2hhciI6IlAifSx7ImNoYXIiOiJfIn0seyJjaGFyIjoiVSJ9LHsiY2hhciI6IlMifSx7ImNoYXIiOiJFIn0seyJjaGFyIjoiUiJ9LHsiY2hhciI6Ik4ifSx7ImNoYXIiOiJBIn0seyJjaGFyIjoiTSJ9LHsiY2hhciI6IkUifSx7ImNoYXIiOiI9In0seyJjaGFyIjoiXCIifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoiZiJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJwIn0seyJjaGFyIjoiXCIifV0sImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWV9fSx7ImJsb2NrSWQiOiIzODUwLTE2MDMzNDIyNDY4OTYiLCJibG9ja1R5cGUiOiJwYXJhZ3JhcGgiLCJzdHlsZXMiOnsiYmFjay1jb2xvciI6IiJ9LCJ0eXBlIjoicGFyYWdyYXBoIiwicmljaFRleHQiOnsiZGF0YSI6W3siY2hhciI6IiAifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJUIn0seyJjaGFyIjoiRiJ9LHsiY2hhciI6IlQifSx7ImNoYXIiOiJQIn0seyJjaGFyIjoiXyJ9LHsiY2hhciI6IkQifSx7ImNoYXIiOiJJIn0seyJjaGFyIjoiUiJ9LHsiY2hhciI6IkUifSx7ImNoYXIiOiJDIn0seyJjaGFyIjoiVCJ9LHsiY2hhciI6Ik8ifSx7ImNoYXIiOiJSIn0seyJjaGFyIjoiWSJ9LHsiY2hhciI6Ij0ifSx7ImNoYXIiOiJcIiJ9LHsiY2hhciI6Ii8ifSx7ImNoYXIiOiJoIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6Im0ifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoiLyJ9LHsiY2hhciI6ImIifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6ImcifSx7ImNoYXIiOiJoIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6Ii8ifSx7ImNoYXIiOiJIIn0seyJjaGFyIjoiYSJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiJtIn0seyJjaGFyIjoibyJ9LHsiY2hhciI6Im4ifSx7ImNoYXIiOiJ5In0seyJjaGFyIjoiLyJ9LHsiY2hhciI6Im8ifSx7ImNoYXIiOiJ1In0seyJjaGFyIjoidCJ9LHsiY2hhciI6Ii8ifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoicCJ9LHsiY2hhciI6ImMifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoibSJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoiYSJ9LHsiY2hhciI6Il8ifSx7ImNoYXIiOiJoIn0seyJjaGFyIjoiaSJ9LHsiY2hhciI6IjMifSx7ImNoYXIiOiI1In0seyJjaGFyIjoiMSJ9LHsiY2hhciI6IjYifSx7ImNoYXIiOiJkIn0seyJjaGFyIjoidiJ9LHsiY2hhciI6IjMifSx7ImNoYXIiOiIwIn0seyJjaGFyIjoiMCJ9LHsiY2hhciI6Ii8ifSx7ImNoYXIiOiJcIiJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiIjIn0seyJjaGFyIjoi6L+ZIn0seyJjaGFyIjoi5LiqIn0seyJjaGFyIjoi5pivIn0seyJjaGFyIjoi5oiRIn0seyJjaGFyIjoi57yWIn0seyJjaGFyIjoi6K+RIn0seyJjaGFyIjoi55SfIn0seyJjaGFyIjoi5oiQIn0seyJjaGFyIjoi6ZWcIn0seyJjaGFyIjoi5YOPIn0seyJjaGFyIjoi55qEIn0seyJjaGFyIjoi5paHIn0seyJjaGFyIjoi5Lu2In0seyJjaGFyIjoi5aS5In0seyJjaGFyIjoi77yMIn0seyJjaGFyIjoi5L+uIn0seyJjaGFyIjoi5pS5In0seyJjaGFyIjoi5oiQIn0seyJjaGFyIjoi6IeqIn0seyJjaGFyIjoi5bexIn0seyJjaGFyIjoi55qEIn0seyJjaGFyIjoi5paHIn0seyJjaGFyIjoi5Lu2In0seyJjaGFyIjoi5aS5In0seyJjaGFyIjoi6LevIn0seyJjaGFyIjoi5b6EIn0seyJjaGFyIjoi5bCxIn0seyJjaGFyIjoi5Y+vIn0seyJjaGFyIjoi5LulIn1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiMTYxNS0xNjAzMzQyMjQ2ODk2IiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7ImJhY2stY29sb3IiOiIifSwidHlwZSI6InBhcmFncmFwaCIsInJpY2hUZXh0Ijp7ImRhdGEiOlt7ImNoYXIiOiIgIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiVCJ9LHsiY2hhciI6IkYifSx7ImNoYXIiOiJUIn0seyJjaGFyIjoiUCJ9LHsiY2hhciI6Il8ifSx7ImNoYXIiOiJBIn0seyJjaGFyIjoiRCJ9LHsiY2hhciI6IkQifSx7ImNoYXIiOiJSIn0seyJjaGFyIjoiRSJ9LHsiY2hhciI6IlMifSx7ImNoYXIiOiJTIn0seyJjaGFyIjoiPSJ9LHsiY2hhciI6IlwiIn0seyJjaGFyIjoiOiJ9LHsiY2hhciI6IjYifSx7ImNoYXIiOiI5In0seyJjaGFyIjoiXCIifV0sImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWV9fSx7ImJsb2NrSWQiOiI5OTg0LTE2MDMzNDIyNDY4OTYiLCJibG9ja1R5cGUiOiJwYXJhZ3JhcGgiLCJzdHlsZXMiOnsiYmFjay1jb2xvciI6IiJ9LCJ0eXBlIjoicGFyYWdyYXBoIiwicmljaFRleHQiOnsiZGF0YSI6W3siY2hhciI6IiAifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6IiAifSx7ImNoYXIiOiJUIn0seyJjaGFyIjoiRiJ9LHsiY2hhciI6IlQifSx7ImNoYXIiOiJQIn0seyJjaGFyIjoiXyJ9LHsiY2hhciI6Ik8ifSx7ImNoYXIiOiJQIn0seyJjaGFyIjoiVCJ9LHsiY2hhciI6IkkifSx7ImNoYXIiOiJPIn0seyJjaGFyIjoiTiJ9LHsiY2hhciI6IlMifSx7ImNoYXIiOiI9In0seyJjaGFyIjoiXCIifSx7ImNoYXIiOiItIn0seyJjaGFyIjoiLSJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoiYyJ9LHsiY2hhciI6InUifSx7ImNoYXIiOiJyIn0seyJjaGFyIjoiZSJ9LHsiY2hhciI6IlwiIn1dLCJpc1JpY2hUZXh0Ijp0cnVlLCJrZWVwTGluZUJyZWFrIjp0cnVlfX0seyJibG9ja0lkIjoiNjMzOS0xNjAzMzQyMjQ2ODk2IiwiYmxvY2tUeXBlIjoicGFyYWdyYXBoIiwic3R5bGVzIjp7ImJhY2stY29sb3IiOiIifSwidHlwZSI6InBhcmFncmFwaCIsInJpY2hUZXh0Ijp7ImRhdGEiOlt7ImNoYXIiOiJzIn0seyJjaGFyIjoidSJ9LHsiY2hhciI6ImQifSx7ImNoYXIiOiJvIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6InMifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoiciJ9LHsiY2hhciI6InYifSx7ImNoYXIiOiJpIn0seyJjaGFyIjoiYyJ9LHsiY2hhciI6ImUifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoidCJ9LHsiY2hhciI6ImYifSx7ImNoYXIiOiJ0In0seyJjaGFyIjoicCJ9LHsiY2hhciI6ImQifSx7ImNoYXIiOiItIn0seyJjaGFyIjoiaCJ9LHsiY2hhciI6InAifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6InIifSx7ImNoYXIiOiJlIn0seyJjaGFyIjoicyJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiJhIn0seyJjaGFyIjoiciJ9LHsiY2hhciI6InQifSx7ImNoYXIiOiIgIn0seyJjaGFyIjoiICJ9LHsiY2hhciI6IiMifSx7ImNoYXIiOiLkv64ifSx7ImNoYXIiOiLmlLkifSx7ImNoYXIiOiLlrowifSx7ImNoYXIiOiLpnIAifSx7ImNoYXIiOiLopoEifSx7ImNoYXIiOiLph40ifSx7ImNoYXIiOiLlkK8ifSx7ImNoYXIiOiLkuIsifSx7ImNoYXIiOiLmnI0ifSx7ImNoYXIiOiLliqEifV0sImlzUmljaFRleHQiOnRydWUsImtlZXBMaW5lQnJlYWsiOnRydWV9fV0=--><!--EndFragment-->
复制代码 3.然后回到windows,还是使用这个软件的串口Serial连接我们的开发板,启动完成进入U-Boot(hisilicon)的界面。
7.png (59.81 KB, 下载次数: 0)
下载附件 保存到相册
1 小时前 上传
4. 点击录制,然后在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
复制代码 5. 当然你可以修改宏的内容,修改输入的命令,时间间隔等等,按照自己的方式自定义。
clipboard.png (228.68 KB, 下载次数: 0)
下载附件 保存到相册
1 小时前 上传
6. 录制完成可以重命名“烧录”,当然也可以在SSH服务器界面录制宏,python3 build.py ipcamera_hi3516dv300 -b debug重命名“构建”
8.png (126.44 KB, 下载次数: 0)
下载附件 保存到相册
1 小时前 上传
7.如此一来就真正实现,一键编译,一键烧录了。当然你还可以录制USB的烧录,这里我也只是抛砖引玉,其他姿势,请自行解锁。
clipboard1.png (31.9 KB, 下载次数: 0)
下载附件 保存到相册
1 小时前 上传
8.因为串口只能独占,使用这种方式,烧录的时候,就不需要重新断电上电开发板,也不需要来回切换串口工具。更重要的是学习到了u-boot关于tftp的一下操作指令。
注意:免费用户可以生成4条宏命令,已经够用了,不够用也可以支持下正版。
9.png (362.58 KB, 下载次数: 0)
下载附件 保存到相册
1 小时前 上传
1. 不知道你有没有一大堆消息里找第一行报错的经历,命令行看的头晕眼花,而MobaXterm就实现了高亮文本这样的小功能,巴适。
2. 设置很简单,将需要高亮的关键词设置到对应的颜色保存即可,关键词要逗号隔开就行了。
10.png (140.48 KB, 下载次数: 0)
下载附件 保存到相册
1 小时前 上传
好了,以上就我在开发中使用的小技巧了,希望对你有所帮助,好用别忘了给我点个赞 |
|