模拟器qemu测试华为 LiteOS

华为LiteOS定位:轻量级物联网操作系统

官方网站

https://support.huaweicloud.com/LiteOS/

以下个人手工测试过程,做个小记录如下:
一、适用于硬件平台
ARM
ARM64
RISC-V
二、模拟器所需软件及下载配置
1、openEuler21.03系统
https://openeuler.org/zh/
2、qemu模拟器
https://download.qemu.org/
3、GNU Arm Embedded Toolchain编译器
https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2
正确配置环境变量$PATH gcc-arm-none-eabi-10-2020-q4-major
4、GNU Make构建器
http://ftp.gnu.org/pub/gnu/make/make-4.3.tar.gz
./configure --prefix=/usr
make
sudo make install
5、python
sudo dnf install python
pip3 install --user --upgrade pip
sudo pip install kconfiglib
pip install --user kconfiglib
6、LiteOS代码仓(gitee)
git clone https://gitee.com/LiteOS/LiteOS
realview-pbx-a9(QEMU模拟器工程Cortex-A9处理器)
cp tools/build/config/realview-pbx-a9.config .config
三、编译
cd LiteOS
make menuconfig
make -j4
四、启动
qemu-system-arm -machine realview-pbx-a9 -smp 4 -m 512M -kernel out/realview-pbx-a9/Huawei_LiteOS.bin -nographic
参数解析
-machine realview-pbx-a9                        模拟环境
-smp 4                                            CPU 4
-kernel out/realview-pbx-a9/Huawei_LiteOS.bin    内核启动位置
-nographic                                        无界面

When using -nographic, press 'ctrl-a h' to get some help.

启动后,先按CTL+a,然后再按h,有意想不到意外,居然可以切换到命令行,方便命令行重启关闭模拟器等,这设计思路真的体现了人性化,强!

五、测试qemu-virt-a53
目前华为官方已经在LiteOS配置,测试教程没有公布,只好提前玩一把
下载aarch64-linux-gnu
https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/
https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz
解压缩后,配置好$PATH
cp tools/build/config/qemu-virt-a53.config .config
make clean
make menuconfig
make -j4
qemu-system-aarch64 -machine type=virt -cpu cortex-a53 -smp 4 -m 2048 -kernel out/qemu-virt-a53/Huawei_LiteOS.elf -nographic
测试成功。

六、测试shell代码
vi ~/LiteOS/shell/full/src/cmds/test_shellcmd.c
#include "shell.h"
#include "shcmd.h"

int cmd_test(void)
{
    printf("hello word!\n");
    return 0;
}

SHELLCMD_ENTRY(test_shellcmd, CMD_TYPE_EX, "test", 0, (CMD_CBK_FUNC)cmd_test);
:w
vi ~/LiteOS/build/mk/liteos_tables_ldflags.mk
#在LITEOS_TABLES_KERNEL_LDFLAGS := \下面,添加一行
 -utest_shellcmd \
:w
重新编译启动后运行
help
命令后可以看到test
运行test后显示
hello word!

七、测试结果
下面是显示引导成功
********Hello Huawei LiteOS********

LiteOS Kernel Version : 5.0.0
Processor  : Cortex-A9 * 4
Run Mode   : SMP
GIC Rev    : GICv1
build time :XXXXX

**********************************

********Hello Huawei LiteOS********

LiteOS Kernel Version : 5.0.0
Processor  : Cortex-A53 * 4
Run Mode   : SMP
GIC Rev    : GICv2
build time : Apr XXXXX

**********************************

六、LiteOS API 文档
https://www.huawei.com/minisite/liteos/cn/api/index.html
模块
Kernel Libc Math POSIX System configuration items
其他没有时间测试,以后测试好补上。
^_^亲测成功

模拟器qemu测试华为 LiteOS_第1张图片

你可能感兴趣的:(运维,经验分享)