alibaba / alibaba/AliOS-Things

ASOC2022: 基于AliOS Things移植QEMU RISCV virt 开发板

Open
#1,723 1 comment 0 reactions 0 assignees View on GitHub
ASOC2022 community
Dominant language
C
Stars
4.6k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

# 基于AliOS Things移植QEMU RISCV virt 开发板

## 项目描述
[AliOS Things](https://github.com/alibaba/AliOS-Things/) 是阿里云IoT事业部发布的面向IoT领域的、高可伸缩的物联网操作系统。拥有弹性内核rhino,和丰富的云端一体的IoT组件,以及HaaS Python/JS框架以支持利用Python/JS语言进行开发。目前已被广泛应用于智能音箱、IP摄像头等智能家居、安防等领域。

RISC-V是当前热度很高开源指令集,以简约为设计理念,覆盖高性能服务器和低功耗设备。AliOS Things已支持RISCV架构。需要扩充RISC-V的开发板。

QEMU是Linux上比较流行的虚拟机,支持RISC-V/X86/ARM/MIPS等多种架构的虚拟化。目前qemu已经支持多种RISC-V的板子,如sifive e/u, spike, virt等。支持qemu risc-v virt开发板,可以省去硬件,进行和硬件无关的risc-v的软件功能开发和调试,非常方便。

AliOS Things is a highly scalable IoT operating system for the IoT field released by Alibaba Cloud IoT Division. It has elastic kernel rhino, rich cloud-integrated IoT components, and HaaS Python/JS framework to support development with Python/JS language. At present, it has been widely used in smart speakers, IP cameras and other smart home, security and other fields.

RISC-V is currently a very popular open source instruction set, designed with simplicity as its design concept, covering high-performance servers and low-power devices. AliOS Things already supports RISCV architecture. Need to expand the development board of RISC-V.

QEMU is a popular virtual machine on Linux, which supports virtualization of various architectures such as RISC-V/X86/ARM/MIPS. At present, qemu already supports a variety of RISC-V boards, such as sifive e/u, spike, virt, etc. It supports qemu risc-v virt development board, which can save hardware and develop and debug software functions of risc-v independent of hardware, which is very convenient.

## 项目备注
- [AliOS Things RISC-V](https://github.com/alibaba/AliOS-Things/tree/master/hardware/arch/riscv)
- [QEMU RISC-V VIRT](https://www.qemu.org/docs/master/system/riscv/virt.html)
- [AliOS Things 3.3 BSP移植规范](https://github.com/alibaba/AliOS-Things/blob/master/documentation/manual/bsp_development.md)
- [AliOS Things 3.3文档](https://haas.iot.aliyun.com/aliosthings/?spm=a2cpu.b16145223.0.0.595660b1mEps0h)

## 项目产出要求

- [ ] 实现AliOS Things 在qemu risc-v virt开发板上的启动,支持RV64GC多核,对接中断控制器,UART,跑通AliOS Things helloworld_demo案例
- [ ] 支持qemu risc-v virt的Flash/UART/RTC/virtio-mmio/fw_cfg等设备。
- [ ] 提供相应测试用例

- [ ] Bring up AliOS Things on the qemu risc-v virt development board, support RV64GC multi-core, connect to the interrupt controller, UART, and run the AliOS Things helloworld_demo case
- [ ] Support qemu risc-v virt Flash/UART/RTC/virtio-mmio/fw_cfg and other devices.
- [ ] Provide corresponding test cases

## 项目难度
进阶

Contributor guide

Open the contributing guide

Research direction

Start with the AliOS Things RISC-V tree at hardware/arch/riscv and the AliOS Things 3.3 BSP migration guide, then review the QEMU RISC-V virt documentation. Bring-up is complete when RV64GC multicore support, the interrupt controller, UART, Flash, RTC, virtio-mmio, and fw_cfg work, helloworld_demo runs, and corresponding test cases are provided.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
embedded-iot, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.