Overview

Introduction

The HummingBird RISC-V Software Development Kit (SDK) is an open-source software platform to speed up the software development of SoCs based on HummingBird RISC-V Processor Cores.

This HummingBird SDK is built based on the modified version of NMSIS, user can access all the APIs provided by NMSIS and also the APIs that provided by HummingBird SDK which mainly for on-board peripherals access such as GPIO, UART, SPI and I2C, etc.

HummingBird SDK provides a good start base for embedded developers which will help them simplify software development and improve time-to-market through well-designed software framework.

Note

  • The NMSIS used in this HummingBird SDK is modified for HummingBird RISC-V Core, which is not compatiable with Nuclei NMSIS, take care.

  • HummingBird SDK is developed based on Nuclei SDK 0.2.4 release, and will diverge in future.

  • To get a pdf version of this documentation, please click HBird SDK Document

Design and Architecture

The HummingBird SDK general design and architecture are shown in the block diagram as below.

HummingBird SDK Design and Architecture Diagram

HummingBird SDK Design and Architecture Diagram

As HummingBird SDK Design and Architecture Diagram shown, The HummingBird SDK provides the following features:

  • HummingBird RISC-V Core API service is built on top of a modified version of NMSIS, so silicon vendors of HummingBird RISC-V processors can easily port their SoCs to HummingBird SDK, and quickly evaluate software on their SoC.

  • NMSIS-NN and NMSIS-DSP library can be also used in HummingBird SDK, and the prebuilt libraries are included in NMSIS/Library folder of HummingBird SDK.

  • Mainly support two HummingBird RISC-V Processor based SoCs, HummingBird SoC.

  • Provided realtime operation system service via FreeRTOS, UCOSII and RT-Thread

  • Provided bare-metal service for embedded system software beginners and resource-limited use-cases.

  • Currently HummingBird SDK didn’t define any common device APIs to access GPIO/I2C/SPI/UART devices, it still relied on the device/peripheral APIs from firmware libraries from various silicon vendors.

  • Applications are logically seperated into three parts:

    • General applications for all HummingBird RISC-V Processors: In the HummingBird SDK software code, the applications provided are all general applications which can run on all HummingBird RISC-V Processors, with basic UART service to provide printf function.

    • HummingBird SoC applications: These applications are not included in the HummingBird SDK software code, it is maintained seperately, it will use resource from HummingBird SoC and its evaluation boards to develop applications, which will not be compatiable with different boards.

Get Started

Please refer to Quick Startup to get started to take a try with HummingBird SDK.

Contributing

Contributing to HummingBird SDK is welcomed, if you have any issue or pull request want to open, you can take a look at Contributing section.

License

HummingBird SDK is an opensource project licensed by Apache License 2.0.