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