• Stars
    star
    118
  • Rank 298,177 (Top 6 %)
  • Language
    C
  • License
    BSD 2-Clause "Sim...
  • Created over 2 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Kendryte K510 SDK

Gitee repository GitHub release

K510 SDK

Kendryte K510 is the second generation of AI edge-side inference chips launched by Canaan, which provides high-performance image and speech processing capabilities for AI applications. The K510 is equipped with the self-developed second-generation neural network processor KPU2.0, which adopts the original computing data flow technology, that increases the computing power by 3 times compared with the previous generation and reduces power consumption. Integrated with the latest generation of image processor ISP. It supports TOF depth camera access, 2D/3D noise reduction, wide dynamic range (WDR), hardware 3A, and other complete functions. The 3D ISPs support depth camera TOF sensors, and can be widely used in different application fields such as unmanned aerial vehicles, high-definition aerial photography, professional cameras, video conferencing, intelligent robots, educational STEAM, and automatic assisted driving.

K510 SDK is a software development kit provided by Canaan for K510 chip application development. Its default configuration is based on K510 CRB (customer reference platform). The warehouse content includes the toolchain software, PC toolkit, Linux code, bootloader, bbl, buildroot build system software, and related hardware resource documents that users may use in the development with K510 chip. Users can customize and change development according to their own needs based on this set of software code base, and finally build and compile the image file used for deployment.

Descriptions of material content and links to reference resources

No Link address illustrate
1 / The code compiles the working directory
2 docs/ K510 system compilation and application development documentation; Hardware resource introduction documentation
3 package/ Provide Linux system peripheral development application examples; Various AI demo application source code
4 Canaan Kendryte Canaan Kendryte official website
5 Developer community Canaan Kendryte Forum
6 Demo video K510 development board out-of-the-box video and multiple AI application demonstration videos
7 K510 CRB-KIT K510 Board Kit Online Purchase Link
8 Instant communication Community Mutual Aid QQ Group: 790699378
Telegram: nncase community

Introduction to the K510 CRB Developer Suite

K510 CRB-KIT is a developer suite based on the K510 chip development, which adopts a hierarchical design, based on the K510 core module, with rich peripherals and easy to expand. It supports USB 2.0 OTG+PHY, Gigabit Ethernet port, 3xSDIO, 3xSPI and other high-speed communication interfaces. In addition, it supports 4xUART, GPIO, I2C and I2S and other low-speed communication interfaces. It is simple to use, informative and can help customers quickly achieve creative evaluation and product prototype verification. It shortens the product design cycle. Canaan-board .png

K510 CRB front photo

image-hw_1_3.png

K510 system block diagram

image-hw_3_1.png

K510 core board module diagram

Getting started with K510 software development

Set up a software development environment

K510 software development is based on a Linux environment. Users need to prepare a host with a Linux operating system for software compilation and deployment, and if you are working under Windows, it is recommended to install Windows WSL for software development work.

Source code download

git clone https://github.com/kendryte/k510_buildroot.git

Start Docker

  • user mode(not require root privileges)

    sh k510_buildroot/tools/docker/run_k510_docker_user.sh

    Note: This mode requires the Docker daemon to run in rootless mode, the following are simplified steps (only need to execute it once, for the detailed process, please refer to docker rootless):

    dockerd-rootless-setuptool.sh install

    If dockerd-rootless-setuptool.sh is not present, you may need to install the docker-ce-rootless-extras package manually:

    sudo apt-get install docker-ce-rootless-extras
  • root mode(require root privileges)

    sh k510_buildroot/tools/docker/run_k510_docker.sh

Compile the code base

After entering the docker environment, enter the following command to compile the system.

make dl
make

make dlOptional step to speed up source code downloads. The first new system takes a long time to compile, so be patient (time is related to the performance of the host CPU and the speed of network downloads).

Flash the image file

The K510 supports sdcard and eMMC boot modes, and users can switch between different boot modes by changing the settings of the SW1 pull switch on the open board.
The factory default is to boot from emmc. For ease of development, it is recommended that you prepare a TF card and switch the code switch to the SD card boot mode, and then consider curing the image file into emmc.
Whether you work on Linux or Windows, you can download the Etcher tool to burn the compiled image file (k510_buildroot/k510_crb_lp3_v1_2_defconfig/image/sysimage-sdcard.img) to your TF card. balenaetcher.png

Power-on operation

Confirm that the SW1 switch is selected in SD card boot mode, insert the burned TF card into the open board card slot, and then unplug the power switch K1 to the ON position, and The system should power up.. You will see the screen display the CANAAN logo screen. If you have a connected serial port, you can see the boot log output in the serial port. k510_boot.png

Change the default startup program

By default, the system automatically runs the sample program (v4l2_drm.out) under path /app/mediactl_lib. You can also manually change the configuration program to run other demo programs instead. Here's how to change it:

vi /etc/init.d/rc.sysinit
修改以下位置
cd /app/mediactl_lib/
./v4l2_drm.out -f video_drm_1080x1920.conf &
cd /
改为你想运行的 APP,例如改成人脸检测演示应用,可以改成:
/app/ai/shell/face_detect.sh &

Contribution Guide

If you are interested in this project and would like feedback on a problem or submit code, please refer to CONSOLIDATING

Contact us

Canaan Inc.
URL:canaan-creative.com
Business Enquiries:[email protected]

Translation Disclaimer
For the convenience of customers, Canaan uses an AI translator to translate text into multiple languages, which may contain errors. We do not guarantee the accuracy, reliability or timeliness of the translations provided. Canaan shall not be liable for any loss or damage caused by reliance on the accuracy or reliability of the translated information. If there is a content difference between the translations in different languages, the Chinese Simplified version shall prevail.

If you would like to report a translation error or inaccuracy, please feel free to contact us by mail.

More Repositories

1

nncase

Open deep learning compiler stack for Kendryte AI accelerators ✨
C#
714
star
2

kendryte-standalone-sdk

Standalone SDK for kendryte K210
C
440
star
3

kendryte-standalone-demo

Demo of kendryte k210 standalone SDK
C
227
star
4

kendryte-freertos-sdk

This project is no longer maintained Not recommended for product development.
C
200
star
5

k230_sdk

Kendryte K230 SDK
C
152
star
6

kendryte-ide

Kendeyte IDE ✨
TypeScript
141
star
7

kendryte-doc-datasheet

Kendryte K210 datasheet
122
star
8

kflash.py

kflash, A Python-based cross-platform Kendryte K210 UART ISP Utility
Python
93
star
9

PaddlePi

PaddlePi
C
90
star
10

k230_docs

Kendryte K230 SDK Docs
HTML
78
star
11

kendryte-gnu-toolchain

Kendryte GNU Toolchain
C
74
star
12

k230_canmv

C
72
star
13

tensorflow-workspace

Tensorflow workspaces for training your custom models of K210
C
66
star
14

kendryte-freertos-demo

Demo of kendryte k210 FreeRTOS SDK
C++
64
star
15

kendryte-tensorflow

Tensorflow for Kendryte, optimized for KPU
C++
58
star
16

kendryte-openmv

C
55
star
17

canmv

C
51
star
18

kendryte-doc-standalone-programming-guide

Kendryte k210 standalone programming guide
51
star
19

K210-Micropython-OpenMV

C
42
star
20

k510_docs

Kendryte K510 Documents
Python
39
star
21

kendryte-flash-windows

Kendryte flash utility for Windows
C#
33
star
22

Toucan-LLM

Self-trained Large Language Models based on Meta LLaMa
Python
29
star
23

K230_training_scripts

C++
28
star
24

openocd-kendryte

C
23
star
25

kendryte-doc-freertos-programming-guide

Kendryte k210 freertos programming guide
18
star
26

Kendryte-dev-extension

TypeScript
17
star
27

canmv_examples

canmv examples
Python
16
star
28

arduino-k210

A arduino core for K210
C
13
star
29

caffe-workspace

11
star
30

kendryte-gcc

C
8
star
31

k510_build_image

docker image for compile k510 image
Shell
7
star
32

k230_canmv_docs

k230_canmv_docs
CSS
7
star
33

BurningTool

C
6
star
34

kendryte-newlib

C
6
star
35

canmv_docs

canmv docs
CSS
5
star
36

k230_linux_sdk

K230 Linux SDK
C
5
star
37

k510_BBL

C
4
star
38

kflash-linux

4
star
39

k510_isp_tuning_tool

K510 ISP Tunning tool
3
star
40

kendryte-qna

Kendryte Q&A
2
star
41

kendryte-ide-skel

skel folder for ide
C
2
star
42

canmv_k230

canmv k230 micropython openmv rtsmart mpp opensbi uboot
C
1
star
43

OrtKI

unofficial onnxruntime kernel interface
C++
1
star