Skip to content

butterbeerpyy/ohoslab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenHarmony实验-中等

实验背景

本次实验采用OpenHarmony中的riscv-mini系统,该系统自带了一个测试组件,我们目前没有启用该测试组件,本次实验需要通过修改启用该测试组件,输出相应的测试结果。

实验内容

OpenHarmony的mini系统构建步骤:
docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.5

fork and clone本仓库的代码,进入代码目录后执行命令,在docker环境中运行代码

docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.5
apt update
apt install qemu-system-misc

通过hb set选择mini系统,如下图所示

root@ebdea9b44bd3:/home/openharmony# hb set
[OHOS INFO] Input code path:
OHOS Which product do you need?  qemu_riscv_mini_system_demo

然后使用hb build命令进行构建,构建成功如下图所示

[OHOS INFO] /home/openharmony/vendor/ohemu/qemu_riscv32_mini_system_demo/fs.yml not found, stop packing fs. If the product does not need to be packaged, ignore it.
[OHOS INFO] qemu_riscv_mini_system_demo build success

使用命令qemu-system-riscv32 -machine virt -m 128M -kernel out/riscv32_virt/qemu_riscv_mini_system_demo/bin/OHOS_Image -nographic -append "root=dev/vda or console=ttyS0" 运行riscv-mini系统

 OHOS start
entering kernel init...
Entering scheduler

在每次重新构建时,请使用rm -rf out 移除生成的本仓库根目录下out目录。

实验要求

测试组件通过调用文件kernel/liteos_m/testsuits/src/osTest.c中的LosAppInit()执行,目前在./vendor/ohemu/qemu_riscv32_mini_system_demo/config.json的配置中配置了enable_ohos_kernel_liteos_m_test = true,但是在实际的构建的系统运行时并没有执行测试组件。 请修改系统代码,实现如下目标:

  • 基础目标:配置了enable_ohos_kernel_liteos_m_test = true时正常构建系统,正常运行测试组件,不要求此时配置enable_ohos_kernel_liteos_m_test = false系统能正常构建。
  • 拓展目标:配置了enable_ohos_kernel_liteos_m_test = true时正常构建系统,正常运行测试组件,配置enable_ohos_kernel_liteos_m_test = false时正常构建系统,运行时不执行测试。

结果自测

在配置enable_ohos_kernel_liteos_m_test = true时正常构建系统,运行时执行测试组件。输出如下:

  [Passed]-ItLosPm002-LOS-TASK-LEVEL0-FUNCTION
pm timeout : 2351819392 ns -> 4154498447 ticks
PmTestTask loop: 1
pm timeout : 1343604092 ns -> 4154497439 ticks
PmTestTask loop: 2
pm timeout : 334944892 ns -> 4154496430 ticks
PmTestTask loop: 3
pm timeout : 3622035788 ns -> 4154495422 ticks
PmTestTask loop: 4
pm timeout : 2614201188 ns -> 4154494414 ticks
PmTestTask loop: 5
pm timeout : 1606372188 ns -> 4154493407 ticks
  [Passed]-ItLosPm003-LOS-TASK-LEVEL0-FUNCTION

 --- Test End ---

failed count : 0, success count:328

在配置enable_ohos_kernel_liteos_m_test = false时正常构建系统,运行时不执行测试。输出如下:

 OHOS start
entering kernel init...
Entering scheduler

截止时间

北京时间2024年12月10日00:00

提交要求

  • 实验完成后,提交git diff后的patch文件,命名为ohos_lab.patch,基线为仓库的最新commit,提交到fork的仓库的patch目录下。
  • 在提交前使用rm -rf out 移除生成的out目录,patch中仅包含对源码进行的修改,不需要构建的生成物。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages