OpenHarmony开发者论坛
标题:
冷钦街老师倾力打造的OpenHarmony南向设备开发平台试运行啦
[打印本页]
作者:
冷钦街
时间:
2023-11-28 00:42
标题:
冷钦街老师倾力打造的OpenHarmony南向设备开发平台试运行啦
[md]# 简介
本平台集成了OpenHarmony代码获取、代码修改、代码提交、代码编译、编译镜像下载几大功能。用户只需要准备开发板以及烧录镜像的工具就可以进行OpenHarmony南向设备开发工作。特别适合学生使用,也方便对OpenHarmony感兴趣的研究人员使用。
下面是详细功能介绍和界面截图。
# 访问冷老师主页
lengqinjie.xyz

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

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

* 不预装数据:申请一个空磁盘
* 预装数据:申请一个含数据的磁盘
如果点击**不预装数据,**正常情况下跳转到磁盘申请成功界面
# 申请磁盘成功

磁盘申请成功后,会显示自动归还时间,当然你可以点击**归还磁盘**主动归还,当前设置的自动归还时间为1周,但如果在到期以前,如果点击**续期**,那么磁盘会继续保留,然后继续保存1周,如果每次到期前都点了续期,那么理论上**永不过期**。
## 预装数据
如果预装数据,则会跳转到选择预装什么数据的界面

选择好以后,点击**提交**,也会进入申请磁盘成功的页面
在磁盘申请成功以后,就可以开机了。
# 开机

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

开机成功后,需要等待90~120秒,才能通过VS Code访问机器,
如果关机(点击**关机**或者2小时后**超时关机**),/root/code中的内容不会消失,会保留在申请的磁盘中。
这里有2个续期:前一个为磁盘续期,后一个为服务器续期。
# 打开root目录

在新打开的VS Code页面,点击上图打开文件夹/root
# 安装VS Code中文界面插件
.png")
有些同学喜欢中文界面,那么安装一个中文插件后,按右下角提示信息重启VS Code,然后就是中文菜单了。
# 打开VS Code中的终端

# 准备代码

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

注意观察代码的组织方式,OpenHarmony分为若干大版本,每个大版本支持若干产品,所以这里按这种方式组织子目录的。
# 编译代码
不同的版本和产品代码准备的时间有差异,但总的来说还是比较快,代码准备好后,进入code目录中对应的子目录。

然后进行编译,产品编译的命令如下表,本表已验证
| 版本 | 产品 | 命令 |
| ---- | ----------------------------- | ----------------------------------------------------------------------- |
| 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的右键下载菜单进行,如下图。

然后在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, 请大家试用并反馈。
[/md]
作者:
马迪
时间:
2023-11-29 11:08
[md]👍 👍 👍
[/md]
作者:
smallpotato
时间:
2023-11-30 19:14
♥(。→v←。)♥
作者:
呆懵的蜗牛
时间:
2024-4-1 16:45
太棒了
作者:
JZ Loh
时间:
2024-11-22 18:24
👍 👍 👍
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5