[经验分享] 冷钦街老师倾力打造的OpenHarmony南向设备开发平台试运行啦

冷钦街 显示全部楼层 发表于 2023-11-28 00:42:52

简介

本平台集成了OpenHarmony代码获取、代码修改、代码提交、代码编译、编译镜像下载几大功能。用户只需要准备开发板以及烧录镜像的工具就可以进行OpenHarmony南向设备开发工作。特别适合学生使用,也方便对OpenHarmony感兴趣的研究人员使用。

下面是详细功能介绍和界面截图。

访问冷老师主页

lengqinjie.xyz

1703939917493.png

访问开发平台

点击上述主页的OpenHarmony南向设备开发平台即可进入开发平台

1701095697930.png

登录开发平台

点击登录按钮进入开发平台,对于新用户或磁盘已归还(释放)的用户,会提示申请磁盘

1703940038719.png

  • 不预装数据:申请一个空磁盘
  • 预装数据:申请一个含数据的磁盘

如果点击不预装数据,正常情况下跳转到磁盘申请成功界面

申请磁盘成功

1701095973572.png 磁盘申请成功后,会显示自动归还时间,当然你可以点击归还磁盘主动归还,当前设置的自动归还时间为1周,但如果在到期以前,如果点击续期,那么磁盘会继续保留,然后继续保存1周,如果每次到期前都点了续期,那么理论上永不过期

预装数据

如果预装数据,则会跳转到选择预装什么数据的界面

1703940289910.png

选择好以后,点击提交,也会进入申请磁盘成功的页面

在磁盘申请成功以后,就可以开机了。

开机

1701096197843.png 当拥有了磁盘后,就可以申请一台服务器来使用你的磁盘了,自己设置密码,并点击开机,注意这里描述的2分钟,也就是在点击开机2分钟后,近2分钟时间才能正常访问你的新机器。比如我这里设置了密码123456然后点击开机,进入下一个界面

开机成功界面

1703940447126.png

开机成功后,需要等待90~120秒,才能通过VS Code访问机器,

如果关机(点击关机或者2小时后超时关机),/root/code中的内容不会消失,会保留在申请的磁盘中。

这里有2个续期:前一个为磁盘续期,后一个为服务器续期。

打开root目录

1701096871942.png 在新打开的VS Code页面,点击上图打开文件夹/root

安装VS Code中文界面插件

17010969660301.png 有些同学喜欢中文界面,那么安装一个中文插件后,按右下角提示信息重启VS Code,然后就是中文菜单了。

打开VS Code中的终端

image.png

准备代码

1701097445063.png

此后的流程基本可以参考README来做了。首先准备好代码。 1701097839380.png

注意观察代码的组织方式,OpenHarmony分为若干大版本,每个大版本支持若干产品,所以这里按这种方式组织子目录的。

编译代码

不同的版本和产品代码准备的时间有差异,但总的来说还是比较快,代码准备好后,进入code目录中对应的子目录。 1701098086788.png

然后进行编译,产品编译的命令如下表,本表已验证

版本 产品 命令
4.0 wifiiot_hispark_pegasus ./build.py -p wifiiot_hispark_pegasus --fast-rebuild
4.0 qemu_mini_system_demo ./build.py -p qemu_mini_system_demo --fast-rebuild
4.0 ipcamera_hispark_taurus_linux ./compile.sh ./build.py -p ipcamera_hispark_taurus_linux --fast-rebuild
4.0 rk3568 ./compile.sh ./build.py -p rk3568 --fast-rebuild

编译选项说明

选项 作用 举例
-p<br />--product <br />--product-name 必选,指定需要编译的产品。 ./build.py -p<br />qemu_mini_system_demo
--fast-rebuild 可选,快速重编译。前提:在首次编译后,<br />如果没有修改过BUILD.gn文件,<br />则可以跳过前面处理BUILD.gn文件的一些逻辑<br />直接进入代码编译 ./build.py -p<br />qemu_mini_system_demo<br />--fast-rebuild
compile.sh 在另外一台性能更高的机器上执行编译命令<br />这台机器和本机共享/root/code目录<br />完整的编译命令作为compile.sh的参数 ./compile.sh ./build.py -p ipcamera_hispark_taurus_linux --fast-rebuild

镜像文件下载

本例中的QEMU可以直接在环境中运行,假定我们编译的是某个开发板的程序,那么需要下载编译成功后的镜像文件,对于较小的文件,可以直接使用VS Code的右键下载菜单进行,如下图。 image.png 然后在Windows下载目录或者浏览器的下载目录可以找到文件。

然后对于较大文件,上述下载方式可能较慢,本平台提供了另外一种方式 如下图 1701098848421.png

即运行upload.sh脚本,并指定要下载的文件,然后会生成一个下载链接,复制这个链接到浏览器中下载即可。这里upload.sh的意思是上传到某个地方,然后再让你下载(有点像百度网盘,只是不需要分享码)。 image.png

1701099084060.png

这里只是找了小文件模拟,实际上大文件的效果是相当不错的,欢迎体验。

QEMU仿真运行

关闭内核自动化测试

对于轻量系统,默认开启自动化测试,自动化测试既影响编译速度,也影响运行效果,一般我们自己开发时先把它关闭。关闭方法。

首先运行 ./build.py -p qemu_mini_system_demo,(正常启动一小会儿以后,ctrl + c结束) 然后去进行编译选项设置,最后再./build.py -p qemu_mini_system_demo 完整编译,如下面的各步骤图所示

1701174360049.png

CTRL+C 有意中断编译进程

1701174437415.png

进入内核源码目录,并进行编译配置变更

1701174492209.png

通过键盘 上下 方向键调整到Test选项,然后按 Enter

1701174576383.png

当前内核自动化测试处于开启状态,点击 空格 将其关闭

1701174631801.png

然后连续按 2次 ESC 键, 再按 Y 保存和退出

1701174682025.png

最后回到代码主目录并再次编译

1701174881769.png

编译完成后,就可以正常的和qemu轻量系统进行交互了。

1701175131678.png

退出QEMU仿真环境

QEMU仿真环境推出的快捷键为 ctrl+a+x , 即按住ctrl+a, 释放后再按x。但ctrl+a在vscode中属于全选,所以这里产生了快捷键冲突了,无法正常退出QEMU仿真环境。解决办法是修改vscode中的快捷键

image.png

点击左下角设置图标,然后选择键盘快捷方式,

根据提示将CTRL + A替换成其它。后面就能正常识别并退出QEMU仿真环境了。

代码修订和提交

本环境充分利用VS Code的能力,使得代码修改和提交更容易。假定需要修订device/qemu目录下的代码并提交OpenHarmony主干。下面是操作步骤

fork代码到自己的gitee仓库

1701100851722.png

从自己的gitee仓库下载代码到本平台

1701101017305.png 点击复制获取下载地址 image.png

会配置ssh的同学也可以选择SSH地址,不过推荐HTTPS地址(门槛低)。将这个地址记录下来,稍后使用。

修改下载配置

本平台对下载进行了优化,你仅需要告诉平台需要在哪里下载什么东西,下载命令由平台封装好。

比如,我要下载device-qemu仓库的代码,这个代码应该存储在device/qemu代码目录,且当前是release_3_1下qemu_mini_system_demo产品的代码。

那么,我需要做的是在对应目录新增一个配置文件,如下 1701101338530.png

image.png

1701101508200.png

新增配置文件,这里device-qemu的含义是:代码需要下载到device/qemu目录,然后填入我们之前记录的需要下载的地址

下载代码

重新在 /root目录运行代码准备即可下载代码

1701101802448.png

修改代码

修改代码。提交代码,请参考vs code使用手册,以及OpenHarmony官方网站提交要求。

其它说明

本平台一定存在许多许多bug, 请大家试用并反馈。

©著作权归作者所有,转载或内容合作请联系作者

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论3

马迪

沙发 发表于 2023-11-29 11:08:24

👍 👍 👍

smallpotato

来自手机 板凳 发表于 2023-11-30 19:14:17
♥(。→v←。)♥

呆懵的蜗牛

地板 发表于 2024-4-1 16:45:03
太棒了

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部