华为海思hi3861鸿蒙开发环境的搭建
作者:互联网
hi3861
hi3861是一款带wifi的单片机,160Mhz,risc-v架构,内嵌2M flash,352kb sram,可串口烧录,与鸿蒙生态深度绑定,应该是没法用框架或者bare metal开发。定位类似于esp8266,性能比esp8266略低,但是看到有厂家用hi3861作网卡作了安防摄像头,猜测吞吐量比较大?
迷惑行为
不知道处于市场还是安全考虑,普通人并不能在hi3861其官下载到芯片手册或开发资料等任何东西。裸芯片在淘宝上也买不到,只能买到安信可出的hi-12f模组。
但是深挖互联网,还是能在各种技术论坛找到流出资料的。
开发板
入门建议直接安信可的hi-12f-kit,20左右。小熊派应该是和官方合作比较密切的厂商,他们也有开发板,示例代码也很全。
鸿蒙
鸿蒙分为两个,一个是手机用的,另一个是嵌入式设备的OpenHarmony。
手机的鸿蒙
华为手机为规避潜在的美国对开源软件的制裁,开发的一套闭源系统,兼容安卓软件,自建生态hms对抗gms。
OpenHarmony
开源系统,根据设备计算性能和内存,分为三种。hi3861用的轻量系统。目测没法运行安卓应用。
轻量系统(mini system)
面向MCU类处理器例如Arm Cortex-M、RISC-V 32位的设备,硬件资源极其有限,支持的设备最小内存为128KiB
小型系统(small system)
面向应用处理器例如Arm Cortex-A的设备,支持的设备最小内存为1MiB
标准系统(standard system)
面向应用处理器例如Arm Cortex-A的设备,支持的设备最小内存为128MiB
hi3861开发环境
鸿蒙系统在快速迭代,发展,编译方法也一直在变,但一直朝着方便的方向发展。
目前的编译环境仅限ubuntu,网上存在着各种纯windows下的编译方法,个人不是很推荐,这些方法并非官方支持的,而且大部分年代久远,目前新版的鸿蒙大概率也不支持了,华为铁了心官方的编译方法就在ubuntu。
好在华为提供了HUAWEI DevEco Device Tool,以VSCode插件的形式支持了OpenHarmony的嵌入式开发,目前发布版本3.0(2022年6月30日发布),在windows和虚拟机ubuntu上都安装后,在windwos下vscode下编辑代码,然后系统会自动在ubuntu上远程编译,再自动把编译出来的bin拉倒本地,执行串口烧录。
环境搭建-ubuntu部分
必须用ubuntu20.04系统(python版本问题,只支持python3.8或3.9),桌面环境不要也行,可用ubuntu server版。
坑: 虚拟机必须配置私钥登录,且同时开启密码登录PasswordAuthentication yes
,这是当前版本的bug。这个bug是薛定谔的bug,各个版本都会围绕认证出现不同的bug,本文使用一种终极解觉方案。参考链接
打开网站HUAWEI DevEco Device Tool,下载ubuntu版到虚拟机内部
之后根据官方教程安装即可,没有坑。
环境搭建-windwos部分
坑: 预先装好vscode和python3.9,不要让这个工具自动下载vscode和python。
坑: 如果系统中装了多个python环境,安装过程中会要求选一个,千万别选错版本,别选成anaconda,别选成其他软件装的python(例如platformio会自己装一个自己专用的python)
之后根据官方教程安装即可,没有坑。
开发流程
新建工程
鸿蒙非常大,他能裁剪,可以把系统裁剪到适用于单片机的水平,并且搭配上适当的驱动,类似hal。
完整的鸿蒙代码有10G,但是华为提供了包管理器hpm,类似于npm,每次只下载需要的包就行。
开发一般是基于别人配置好的底包进行开发,新建工程时候选小熊派的代码作为底包比较不错。
使用小熊派的实例代码新建工程,如果用官方示例会连不上ap打不开,但是小熊派的示例却没问题。
编译
选择编译点灯的代码
编译需要一些特定的编译环境,点左边的projict seting,出来右边的tool chain界面,如果没有绿色的对钩,点一下install就能自动下载所需环境,然后就绿了。
绿了之后点build就能构建。
烧录
ide支持自动把编译出来的bin拉倒本地,执行串口烧录。但首先需要点这个绿色三角进行连接,连接本地和ubuntu之间的环境。
点完之后应该是变为红色方块,并且不变会绿色三角。变回去就是出问题了,连不上。
解决方案
目前解决问题的方法是配置ubuntu ssh同时支持秘钥和密码登录,本地ssh配置好秘钥的绝对路径。
之后选好本地串口,烧录即可,下载大概需要一分钟,免安检烧录时灵时不灵,大部分时候需要自己按一下开发板的重启。
最终
标签:烧录,鸿蒙,python,hi3861,编译,ubuntu,海思 来源: https://www.cnblogs.com/liux-pro/p/16439078.html