All Projects → bouffalolab → bl_mcu_sdk

bouffalolab / bl_mcu_sdk

Licence: Apache-2.0 license
bl_mcu_sdk is MCU software development kit provided by Bouffalo Lab Team for BL602/BL604, BL702/BL704/BL706, BL616/BL618, BL808 and other series of RISC-V based chips in the future.

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
CMake
9771 projects
python
139335 projects - #7 most used programming language
assembly
5116 projects
Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to bl mcu sdk

getting-started
List of ideas for getting started with TimVideos projects
Stars: ✭ 50 (-65.99%)
Mutual labels:  usb, mjpeg, risc-v
Eclipse Plugins
The Eclipse Embedded CDT plug-ins for Arm & RISC-V C/C++ developers (formerly known as the GNU MCU Eclipse plug-ins). Includes the archive of previous plug-ins versions, as Releases.
Stars: ✭ 507 (+244.9%)
Mutual labels:  eclipse, risc-v
bl iot sdk
BL602 SDK (Pine64 fork)
Stars: ✭ 115 (-21.77%)
Mutual labels:  risc-v, bl602
FPGAmp
720p FPGA Media Player (RISC-V + Motion JPEG + SD + HDMI on an Artix 7)
Stars: ✭ 190 (+29.25%)
Mutual labels:  mjpeg, risc-v
valheim-ecs-fargate-cdk
AWS CDK/Cloudformation to deploy a Valheim Server using ECS Fargate!
Stars: ✭ 66 (-55.1%)
Mutual labels:  cdk
phoenix.webui.framework
基于WebDriver的WebUI自动化测试框架
Stars: ✭ 118 (-19.73%)
Mutual labels:  eclipse
vcvrack-rtlsdr
📻 FM radio for rtl-sdr USB dongles in the VCVRack environment
Stars: ✭ 20 (-86.39%)
Mutual labels:  usb
Raspberry-MIDI-Controller
A python script that sends MIDI signals from the Raspberry (client) to a Computer (host)
Stars: ✭ 44 (-70.07%)
Mutual labels:  usb
srv32
Simple 3-stage pipeline RISC-V processor
Stars: ✭ 88 (-40.14%)
Mutual labels:  risc-v
8814au
Linux Driver for USB WiFi Adapters that are based on the RTL8814AU Chipset
Stars: ✭ 283 (+92.52%)
Mutual labels:  usb
STM32 USB CH341
STM32 USB simulates CH341.
Stars: ✭ 52 (-64.63%)
Mutual labels:  usb
cloudpatrol
Policy as Code for the Cloud Development Kit (CDK)
Stars: ✭ 21 (-85.71%)
Mutual labels:  cdk
osx86 linux
osx86 install maker and utilities for Linux
Stars: ✭ 13 (-91.16%)
Mutual labels:  usb
watchdog
IntelliJ & Eclipse plugin for monitoring how Java applications are developed and tested
Stars: ✭ 18 (-87.76%)
Mutual labels:  eclipse
osmium
A toy operating system written in Rust on RISC V(rv32im)
Stars: ✭ 124 (-15.65%)
Mutual labels:  risc-v
ESP32-CAM-MJPEG-Stream-Decoder-and-Control-Library
The library is MJPEG stream decoder based on libcurl and OpenCV, and written in C/C++.
Stars: ✭ 40 (-72.79%)
Mutual labels:  mjpeg
sms
🏫 🎓 一个未使用框架的学生信息管理系统 : 项目概述全面,代码注释详细,逻辑结构清晰,非常适合作为初学 Java web 的同学的第一个练手项目啦 ~
Stars: ✭ 91 (-38.1%)
Mutual labels:  eclipse
Multiboot-Toolkit
Create a bootable disk
Stars: ✭ 96 (-34.69%)
Mutual labels:  usb
awesome-webhid
Curated list of resources relating to the WebHID (Human Interface Device) API
Stars: ✭ 126 (-14.29%)
Mutual labels:  usb
ISASTM
STM32-based ISA-over-USB-adapter
Stars: ✭ 86 (-41.5%)
Mutual labels:  usb

License Release

中文版

Introduction

bl mcu sdk is an MCU software development kit provided by the Bouffalo Lab Team, supports all the series of Bouffalo chips.

SDK Versions & Chip Support

Note1:drivers before v1.4.5 use v1.0(hal + std), the later version will use v2.0 (lhal + soc)。If you want to use v1.4.5, please checkout your branch to release-v1.4.5.

Note2:due to the non-generic peripherals, the code style and interface name in soc are still the previous version, but will be subsequently updated to the new code style。

CHIP v1.4.5 latest
BL602/BL604
BL702/BL704/BL706
BL616/BL618 ×
BL808 ×

LHAL Support

LHAL is a low level hal driver for common peripherals designed by Bouffalo Lab, in order to support all the Bouffalo chips with the same api . Also it is convenient for users to use and port to other platforms.

Note: means supported ;× means not supported; means supported but not tested ;- means no such peripheral。

Peripheral BL602/BL604 BL702/BL704/BL706 BL616/BL618 BL808
ADC
CAM - × × ×
CKS
DAC
DMA
EFUSE × × × ×
EMAC -
FLASH
GPIO
I2C
IR
MJPEG × ×
PWM_v1 - -
PWM_v2 - -
RTC
SEC_AES
SEC_SHA
SEC_TRNG
SEC_PKA
SPI
TIMER
UART
USB_v1 - - -
USB_v2 - -
WDG

Code Framework


bl_mcu_sdk
├── bsp
│   ├── board
│   │   └── bl702
│   │   └── bl616
│   │   └── bl808
│   └── common
├── components
│   ├── bflog
│   ├── cherryusb
│   ├── fatfs
│   ├── freertos
│   ├── lua
│   ├── lvgl
│   ├── lwip
│   └── shell
├── docs
├── drivers
│   ├── lhal
│   └── soc
├── examples
│   ├── bflog
│   ├── fatfs
│   ├── freertos
│   ├── helloworld
│   ├── lua
│   ├── lvgl
│   ├── peripherals
│   └── shell
└── tools
    └── cmake
    └── kconfig
    └── make

  • bsp/board : including clock, pinmux, memoryheap and console init
  • bsp/common : including bsp common driver
  • components : including third-party components
  • docs : including docs
  • drivers/lhal : including bouffalo common peripherals drivers which support all the chips
  • drivers/soc : including bouffalo non-generic peripherals drivers
  • examples : including samples
  • tools : including compiler tools

Environment Setup

Toolchain

Command Line Development

Before compiling with the command line, you need to select the corresponding toolchain according to your operating system, configure it to the system environment variables, and install the make, then you can do the following.

  • Go to the demo directory where you want to compile and there are main.c and Makefile files in that directory
  • Just execute the following command, take BL616 as an example
  • The first time you use it on Linux, you need to use chmod to configure the cmake permissions
cd bl_mcu_sdk
chmod +x tools/cmake/bin/cmake
cd examples/helloworld
make CHIP=bl616 BOARD=bl616dk
  • If you use BL808 or BL606P, you need to add CPU_ID with m0 or d0.
cd bl_mcu_sdk
chmod +x tools/cmake/bin/cmake
cd examples/helloworld
make CHIP=bl808 BOARD=bl808dk CPU_ID=m0

CDK Development

TODO

Debug

Only supports debug with CKLink currently. See bl mcu sdk debug chapter.

Firmware Download

We recommend you to use this BL DevCube and download firmware with serial.

Resources

Chip Manual

Chip Reference Manual and Chip Data Manual are listed on document

Documentation Tutorial

To get more bl mcu sdk documentation tutorial, like api manual or peripheral demo and so on, please visit:

Video Tutorial

Flash Tool

In addition to using CK-link, J-link and command line programming, it also supports graphical programming tools. Graphical programming tools provided by Bouffalolab:

Forum

Bouffalolab Developer Forum: https://bbs.bouffalolab.com/

License

bl mcu sdk is completely open source and follows the Apache License 2.0 open source license agreement. It can be used in commercial products for free and does not require public private code.

/*
 * Copyright (c) 2022 Bouffalolab team
 *
 * SPDX-License-Identifier: Apache-2.0
 */
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].