注 : 此处以 ubuntu 举例说明使用方式
-
拉取包含UniProton环境的镜像
-
docker pull swr.cn-north-4.myhuaweicloud.com/openeuler-embedded/uniproton-ci-test:v003
-
使用
docker images
查看拉取的镜像,比如我这里是这样的 -
使用
docker run
创建镜像的容器 -
使用
docker exec -it [容器ID] /bin/bash
连上 docker 容器 -
编译UniProton riscv demo
-
使用qemu-system-riscv64 运行 编译完成的DEMO
-
构建完成后,应该会在
build目录
中出现out目录
-
进入 out 目录
cd out
-
发现文件 rv64virt.asm,rv64virt.bin 和 rv64virt.elf,分别对应内核汇编代码,BIN文件和ELF文件
-
我们使用qemu 加载 ELF文件
qemu-system-riscv64 -bios none -M virt -m 512M -nographic -kernel rv64virt.elf -smp 1
-
注: 此处参数需要额外注意
- -smp 1 -> RTOS是不支持多核的,这可能已经是业界规定? 【目前看到的所有RTOS都不支持多核,除非自己做多核的临界区管理】
- -bios none -> 不支持S模式, 去除OPENSBI 加载
- -M virt -> 对应的机器应该为VIRT 机器
- -m 512M -> 对应的内存应该 >=512M ,否则会出现一些由于内存分配导致的问题
-
-
demo初步试探
- 以任意你喜欢的形式试探 shell demo