背景
目前统信UOS系统功能逐渐完善,应用不断丰富,已经成为本人日常办公主机系统。恰逢华为鸿蒙HarmonyOS的HUAWEI DevEco Device Tool 2.2 Beta2发布(新增支持Hi3861V100和BearPi-HM Nano开发板的Linux系统烧录),于是萌发了在国产UOS系统下,搭建鸿蒙设备开发环境,进行一站式完成包括源码获取、编译、烧录等操作。
HarmonyOS轻量和小型系统适用于内存较小的IOT设备,本文选取了典型开发板:Hi3861 BearPi-HM Nano开发板,并基于该开发板进行开发介绍。
系统环境
操作系统:统信UOS操作系统(家庭版21)64位
内核版本:5.10.50-amd64-desktop
处理器 :AMD Ryzen 5 3550H with Radeon Vega Mobile Gfx @2.1GHz
系统自带python:python2.7.16
系统自带python3:python3.7.3
关键问题
统信UOS系统自带的python最高版本不满足开发环境建立的要求。编译环境要求python版本为python3.7及以上,而HUAWEI DevEco Device Tool 2.2 Beta2插件的安装和正常运行要求python3.8.9及以上,统信UOS系统自带的python3只满足前者要求,需要安装高版本python3(包含其对应的虚拟环境venv)。
避坑要点(谨记):
1、千万不要破坏操作系统自带的python、python3,因为大量的系统应用都是基于其基础上开发运行的,避免系统崩溃。即一是不要卸载自带的python/python3,二是不要通过添加其它ubuntu/debian操作系统的软件仓库源使用apt命令安装高版本python3(会替换UOS的系统文件)。
2、通过源码安装高版本python程序没问题,但是无法安装对应的虚拟环境python3-venv。(可能本人未找对方法,折腾后一直未成功,放弃了)
3、通过Anaconda3/Miniconda3工具可隔离安装高版本python3,不影响操作系统自带的python相关文件。但是目前最新的Anaconda3对应的是python3.8.8,虽然可以成功安装HUAWEI DevEco Device Tool 2.2 Beta2插件,但是在编译工程源码时会出现报错(可能是python虚拟环境的问题,没有深入研究,不是探究的重点)。最新的Miniconda3安装后默认python3.9.5是满足以上要求的。
4、不要使用UOS应用商店的VS CODE,运行HUAWEI DevEco Device Tool 2.2 Beta2安装程序时无法向VS CODE正常装入必要插件。使用微软官网下载DEB安装包。
主要步骤
1、安装高版本python
(1)下载软件包:
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
(2) 安装:
bash Miniconda3-latest-Linux-x86_64.sh
安装过程一路yes即可。
2、编译环境准备及安装开发板环境
主要是参考华为官网设备开发《快速入门》,文档中心
3、集成开发环境IDE安装及使用
主要是参考华为官网IDE《用户指导》,文档中心
通过以上步骤应该就会成功编译工程文件了,看到绿色的SUCCESS说明成功。
3、烧录
BearPi-HM Nano开发板开始烧录时会显示bootromdownloadboot ,此时按下开发板RESET键后自动进行烧录。
复盘总结
1、兴趣是最好的老师。之所以愿意花费大量精力与脑力折腾,主要是因为自身一直保持对嵌入式开发的热爱和关注,虽然现在已经工作十年了,虽然工作岗位与开发设计也是风牛马不相及。
2、遇问题大胆猜想,谨慎求证。从产生想法到成功实现共经历了4天(只有晚上有时间,白天还要上班*_*)过程中遇到各种问题,但是也确实锻炼了解决问题的思维能力。分析问题根本原因:进行初步分析大胆猜想问题的可能原因,通过关键词法搜索和查阅技术资料、文章进行多方面求证;探索问题解决方案:针对分析出的问题原因探索不同的解决方案,通过实际验证,最终确定最佳解决方案。
下一步规划
1、近期规划(半年内):通过研究华为官方工程示例进一步理解“万物互联”的实现思想,进一步学习鸿蒙小型、轻量级系统的架构思想、驱动和应用开发。
2、中期规划(半年后):紧扣“万物互联”思想,探索鸿蒙软件技术在现实中的应用,提升人生价值。
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。