开箱介绍还没有做完(主要是平时懒,还没做相关的素材搜索
前言
很早就了解了openharmony,但是真正板卡上手,现在还是第一次,虽然是体验,但还是想从中学一些真正的东西出来的,关于ubuntu的环境搭建,这里就不在赘述了,前面很多大佬都有介绍过。
下载源码
开发板源码为Openharmonny社区官方支持开发板,所以可以直接下载Openharminy的官方源码仓库,由于开发板文档中提供的下载指令将多个指令结合在一起,将它差分出来如下:
https://gitee.com/openharmony/device_soc_rockchip
mkdir -p openharmony
cd openharmony
repo init -u https://gitee.com/openharmony/manifest --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
在源码目录执行一下下载工具:
bash build/prebuilts_download.sh
然后再在源码目录执行
./buil.sh --product-name rk3568 --ccache
因为之前有编译过firefly的sdk,缺少的依赖已经重新安装上了,所以顺利编译完成。
镜像烧录
润和提供的方式是RK官方的烧录工具来进行烧录,过程就不再赘述,因为系默认已经有了镜像,但是RK的工具检测出来系统依然是Maskrom模式,这也是我现在比较疑惑的,由于烧录的时候需要选择镜像来对每个分区进行烧录,所以暂时先不重复烧录,开始搭建openharmony的应用开发环境。
官方文档的环境搭建
1、下载windows下IDE工具
为他会替换windows环境中的工具,之前我的开发工具一直是这个,不知道有什么风险,所以我暂时就先不在我的windows上进行安装。
按照官方文档成功将Windowns中的环境安装完成。
使用remote ssh可以参考我的设置,改变ssh端口同时配置免密登录。
Host xxxxxxx
HostName xxxxxx
User xxxx
Port xxxxx
PreferredAuthentications publickey
IdentityFile C:\Users\xxxxxxxx\.ssh1\id_rsa.rsa
在源码SDK目录编译失败了,hb set 失败
应该是 ohos的版本太低了,卸载了重新升级了一下:
pip3 uninstall ohos-build
python3 -m pip install build/lite
python3 -m pip install ohos-build
pip3 install build/lite
但是在使用hb build的过程中出现了 没有找到一些工具链和库,重新执行脚本仍然没有作用,后面重新拉代码后使用 hb 可以正常编译了。
新建工程
根据官方的hello word教程,不是不是很清除为什么这个过程会报错。
创建文件夹:rk3568_openharmony/applications/sample/bedrock
导入工程,根据官方文档创建halloword项目
安装工具链
新建工程后编译错误。。。。。。
来自系统层的hello word正在寻找教程。
目前自己猜测,这个程序需要打进系统中,并非小系统,标准系统上面的app都是使用js来进行开发的,但是本人并不是很会js吗,所以执着于底层的功能实现。。
继续尝试尝试。摸索下厂商目录的代码。在这里找找灵感。
一个充满坑的开始
zh-cn/device-dev/quick-start/quickstart-standard-running-rk3568-create.md · OpenHarmony/docs - Gitee.com
终于看到开发板对应的文档,不说了 造起来。。。。
玩着玩着发现hb 不认识当前工程了? 我焯, 重新用build.sh 编译吧,又得重新拉代码!。。。。
重新下载这次按照流程来
https://device.harmonyos.com/cn/docs/documentation/guide/open_project-0000001071680043
打开工程,使用这里进行编译
发现最黑犀牛的地方在于没找到正确的文件:
productdefine/common/products/rk3568.json
下载了release版本才发现拥有这个文件! nice!
来写hello word ! 希望能一波就成!
参考 OpenAtom OpenHarmony
多次尝试,甚至连在rockchip维护的device目录尝试新建 hello word也尝试了,最后都是没有走通。
docs/rk3568_helloworld/源码编译.md · OpenHarmony-SIG/knowledge_demo_temp - Gitee.com
下载bate版本开始玩。
然后发现这个人头文件的源码写的有问题,多写了一个#endif
不过问题不大,我机智的化解了。
总结
文章中过程其实踩了很多坑都没有写,也尝试了device目录中创建一个hello word的过程和方法,这个后面有时间再分析吧。
使用脚本编译不能进行clean,使用hb build可以。
最顺利的hello world就是不使用master版本,使用release版本,其中有子系统的配置文件,master没有。。。
再写好源码时直接进行一次编译,直接烧录进系统就可以了。