简介
本平台集成了 OpenHarmony 代码获取、代码修改、代码提交、代码编译、编译镜像下载几大功能。用户只需要准备开发板以及烧录镜像的工具就可以进行 OpenHarmony 南向设备开发工作。特别适合学生使用,也方便对 OpenHarmony 感兴趣的研究人员使用。
下面是详细功能介绍和界面截图。
访问冷老师主页
lengqinjie.xyz
访问开发平台
点击上述主页的 linux lab 即可进入开发平台
登录开发平台
点击登录按钮进入开发平台,对于新用户或磁盘已归还(释放)的用户,会提示申请磁盘
申请磁盘
点击申请磁盘,系统会申请一个磁盘给你
申请磁盘成功
磁盘申请成功后,会显示自动归还时间,当然你可以点击归还磁盘主动归还,当前设置的自动归还时间为 1 周,但如果在到期以前,如果点击 续期 ,那么磁盘会继续保留,然后继续保存 1 周,如果每次到期前都点了续期,那么理论上 永不过期 。
开机
当拥有了磁盘后,就可以申请一台服务器来使用你的磁盘了,自己设置密码,并点击开机,注意这里描述的 2 分钟,也就是在点击开机 2 分钟后,近 2 分钟时间才能正常访问你的新机器。比如我这里设置了密码 123456 然后点击开机,进入下一个界面
开机成功界面
注意开机成功后,服务器和磁盘都有自己的过期倒计时,原理类似,服务器也支持 主动关机 ,或 被动关机 (超时关机),以及 续期 。
另外即使服务器关机后,服务器下的/root 目录也保存到了你申请的磁盘,所以下次开机后,我们的数据仍然在,因为我们的代码等数据保存在/root 目录
登录服务器
点击 VS Code 超链接即可登录服务器(注意在开机按钮点击后约 2 分钟)。如果需要输入密码,则输入刚设置的密码,我这里的例子就是 123456。
打开 root 目录
在新打开的 VS Code 页面,点击上图打开文件夹/root
安装 VS Code 中文界面插件
有些同学喜欢中文界面,那么安装一个中文插件后,按右下角提示信息重启 VS Code,然后就是中文菜单了。
打开 VS Code 中的终端
准备代码
此后的流程基本可以参考 README 来做了。首先准备好代码。
注意观察代码的组织方式,OpenHarmony 分为若干大版本,每个大版本支持若干产品,所以这里按这种方式组织子目录的。
编译代码
不同的版本和产品代码准备的时间有差异,但总的来说还是比较快,代码准备好后,进入 code 目录中对应的子目录。
首先执行 ./build.py -h 查看当前版本支持哪些编译选择
release 3.1 版本如下
release 3.2 如下
release 4.0 如下
根据上述 3 个版本的选项整理出比较重要以及对提升编译速度有帮助的选项列举如下
选项 |
作用 |
举例 |
---|
-p--product--product-name |
必选,指定需要编译的产品。 |
./build.py -pqemu_mini_system_demo |
-T--target--build-target |
可选,指定编译某组件 |
待定 |
--fast-rebuild |
可选,快速重编译。前提:在首次编译后,如果没有修改过 BUILD.gn 文件,则可以跳过前面处理 BUILD.gn 文件的一些逻辑直接进入代码编译 |
./build.py -pqemu_mini_system_demo--fast-rebuild |
--disable-post-build |
可选,关闭构建结束后的性能统计分析功能 |
./build.py -pqemu_mini_system_demo--disable-post-build |
编译仍然慢?
别担心,本平台还提供了远程编译服务功能
仅需在正常编译命令前添加 compile.sh 即可。例如
./compile.sh ./build.py -p qemu_mini_system_demo --fast-rebuild --disable-post-build
编译结果保存在 out 目录,日志信息保存在对应的 build.log 中。
镜像文件下载
本例中的 QEMU 可以直接在环境中运行,假定我们编译的是某个开发板的程序,那么需要下载编译成功后的镜像文件,对于较小的文件,可以直接使用 VS Code 的右键下载菜单进行,如下图。
然后在 Windows 下载目录或者浏览器的下载目录可以找到文件。
然后对于较大文件,上述下载方式可能较慢,本平台提供了另外一种方式
如下图
即运行 upload.sh 脚本,并指定要下载的文件,然后会生成一个下载链接,复制这个链接到浏览器中下载即可。这里 upload.sh 的意思是上传到某个地方,然后再让你下载(有点像百度网盘,只是不需要分享码)。
这里只是找了小文件模拟,实际上大文件的效果是相当不错的,欢迎体验。
QEMU 仿真运行
关闭内核自动化测试
对于轻量系统,默认开启自动化测试,自动化测试既影响编译速度,也影响运行效果,一般我们自己开发时先把它关闭。关闭方法。
首先运行 ./build.py -p qemu_mini_system_demo,(正常启动一小会儿以后,ctrl + c 结束) 然后去进行编译选项设置,最后再./build.py -p qemu_mini_system_demo 完整编译,如下面的各步骤图所示
CTRL+C 有意中断编译进程
进入内核源码目录,并进行编译配置变更
通过键盘 上下 方向键调整到 Test 选项,然后按 Enter 键
当前内核自动化测试处于开启状态,点击 空格 将其关闭
然后连续按 2 次 ESC 键, 再按 Y 保存和退出
最后回到代码主目录并再次编译
编译完成后,就可以正常的和 qemu 轻量系统进行交互了。
退出 QEMU 仿真环境
QEMU 仿真环境推出的快捷键为 ctrl+a+x , 即按住 ctrl+a, 释放后再按 x。但 ctrl+a 在 vscode 中属于**全选,**所以这里产生了快捷键冲突了,无法正常退出 QEMU 仿真环境。解决办法是修改 vscode 中的快捷键
点击左下角设置图标,然后选择键盘快捷方式,
根据提示将 CTRL + A 替换成其它。后面就能正常识别并退出 QEMU 仿真环境了。
代码修订和提交
本环境充分利用 VS Code 的能力,使得代码修改和提交更容易。假定需要修订 device/qemu 目录下的代码并提交 OpenHarmony 主干。下面是操作步骤
fork 代码到自己的 gitee 仓库
从自己的 gitee 仓库下载代码到本平台
点击复制获取下载地址
会配置 ssh 的同学也可以选择 SSH 地址,不过推荐 HTTPS 地址(门槛低)。将这个地址记录下来,稍后使用。
修改下载配置
本平台对下载进行了优化,你仅需要告诉平台需要在哪里下载什么东西,下载命令由平台封装好。
比如,我要下载 device-qemu 仓库的代码,这个代码应该存储在 device/qemu 代码目录,且当前是 release_3_1 下 qemu_mini_system_demo 产品的代码。
那么,我需要做的是在对应目录新增一个配置文件,如下
新增配置文件,这里 device-qemu 的含义是:代码需要下载到 device/qemu 目录,然后填入我们之前记录的需要下载的地址
下载代码
重新在 /root 目录运行代码准备即可下载代码
修改代码
修改代码。提交代码,请参考 vs code 使用手册,以及 OpenHarmony 官方网站提交要求。
其它说明
本平台一定存在许多许多 bug, 请大家试用并反馈。