Home

Awesome

嘉楠勘智K230 SDK

Github repository Gitee repository GitHub release

[TOC]

K230相关资源链接

链接说明
K230 SDKKendryte K230 SDK Github Repo
K230 DocsKendryte K230 Docs Github Repo
K230 Training scriptsKendryte K230 Training Scripts Github Repo
K230 SDK Gitee mirrorKendryte K230 SDK Gitee mirror Repo
K230 Docs Gitee mirrorKendryte K230 Docs Gitee mirror Repo
K230 SDK Release mirror嘉楠勘智K230 SDK release k230_sdk.tar.gz下载
K230 Docs Release mirror嘉楠勘智K230 Docs release k230_docs.tar.gz下载
Canaan Kendryte K230嘉楠勘智K230
Canaan Kendryte Forum嘉楠勘智开发者论坛

K230芯片简介

K230芯片是嘉楠科技 Kendryte®系列AIoT芯片中的最新一代SoC产品。该芯片采用全新的多异构单元加速计算架构,集成了2个RISC-V高能效计算核心,内置新一代KPU(Knowledge Process Unit)智能计算单元,具备多精度AI算力,广泛支持通用的AI计算框架,部分典型网络的利用率超过了70%。

该芯片同时具备丰富多样的外设接口,以及2D、2.5D等多个标量、向量、图形等专用硬件加速单元,可以对多种图像、视频、音频、AI等多样化计算任务进行全流程计算加速,具备低延迟、高性能、低功耗、快速启动、高安全性等多项特性。

硬件开发板简介

K230 EVB 硬件开发板简介

K230-USIP-LP3-EVB是针对AI芯片K230-USIP开发,以LPDDR3为内存而设计的测评板;意在通过全面的接口覆盖K230所支持的各项特色功能的同时,为客户提供参考设计以完成自主研发。

k230_board

序号说明
1CKLINK调试
2LCD扩展, 4lane MIPI DSI
3LPDDR3 512MB
4K230 SoC
532Mbit QSPI NOR Flash
6Sensor转接卡 (4Lane MIPI CSI)
74GB eMMC
8USB转串口FT2232
9SD卡座
10USB转二路串口
11USB0可接USB转以太网
12复位按键
13电源开关
14Boot启动开关
15USB 5V电源

CanMV-K230 硬件开发板简介

CanMV-K230针对AI芯片K230-USIP开发,以LPDDR3为内存而设计的测评板,集成了常规开发板所需的HDMI和网络、WIFI/BT等接口。

k230_Canmv-k230_board

序号说明
1HDMI
2网口
3耳机
4复位按键
5电源&串口(接电脑USB口)
6USB
7按键
8Sensor转接口(OV5647)
9IO扩展口

K230 SDK软件开发快速指南

K230 SDK结构简介

一级目录二级目录说明
configsNA资源配置 (内存分配规划)
outputNASDK编译产物
srcbig大核RTSmart代码
srccommon大小核公共代码
srclittle小核Linux代码
toolsdockerdockerfile
toolsdoxygendoxygen脚本和配置文件
toolskconfig
toolsgen_image.sh生成可烧写镜像的脚本
toolsgen_image_cfg镜像分区配置文件
toolstuning-tool-clientPC端图像调试工具

K230 SDK 是面向K230 开发板的软件开发包,包含了基于Linux&RT-smart 双核异构系统开发需要用到的源代码,工具链和其他相关资源。

k230_software_arch

配置软件开发环境

K230 SDK需要在Linux环境下编译,推荐使用Ubuntu Liunx 20.04。

如需使用windows环境编译,建议使用WSL2 + Docker环境。

使用docker编译环境

编译K230 SDK

下载K230 SDK源码

git clone https://github.com/kendryte/k230_sdk
cd k230_sdk
make prepare_sourcecode

make prepare_sourcecode 会自动下载Linux和RT-Smart toolchain, buildroot package, AI package等. 请确保该命令执行成功并没有Error产生,下载时间和速度以实际网速为准。

开始编译K230 SDK

以docker镜像编译为例:

  1. 确认当前目录为k230_sdk源码根目录,
  2. 使用如下命令进入docker
docker run -u root -it -v $(pwd):$(pwd) -v $(pwd)/toolchain:/opt/toolchain -w $(pwd) ghcr.io/kendryte/k230_sdk /bin/bash
  1. 根据不同开发板或软件功能,选择不同的配置config进行编译,编译命令格式:make CONF=xxx,如:

编译产物简介

以make CONF=k230_evb_defconfig 编译生成的产物为例:

k230_evb_defconfig/images
├── big-core
├── env.env
├── jffs2.env
├── little-core
├── sysimage-sdcard.img    # SD和emmc非安全启动镜像
├── sysimage-sdcard.img.gz # SD和emmc的非安全启动镜像压缩包
├── sysimage-spinor32m.img # norflash非安全启动镜像
├── sysimage-spinor32m.img.gz    # norflash非安全启动镜像压缩包
└── sysimage-spinor32m_jffs2.img # norflash jffs2非安全启动镜像

TF卡和eMMC均可使用sysimage-sdcard.img镜像,或使用sysimage-sdcard.img.gz解压缩得到该文件。

预编译镜像下载

如果不希望自行编译镜像,可下载预编译镜像,直接烧录使用

  1. main branch: Github默认分支,作为release分支,编译release镜像自动发布至Release页面.(从v1.4版本开始支持)
  2. 预编译release镜像:请访问嘉楠开发者社区, 然后在K230/Images分类中,下载所需的镜像文件,evb设备下载k230_evb*.img.gz, canmv设备下载k230_canmv*.img.gz

下载的镜像默认为.gz压缩格式,需先解压缩,然后再烧录。 K230 micropython镜像所支持的功能与K230 SDK并不相同

烧录镜像文件

烧录TF卡

如使用Linux烧录TF卡,需要先确认TF卡在系统中的名称/dev/sdx, 并替换如下命令中的/dev/sdx

sudo dd if=sysimage-sdcard.img of=/dev/sdx bs=1M oflag=sync

如使用Windows烧录, 建议使用rufus工具

其它更详细的烧录方法,请参考K230 SDK文档

上电启动

K230 EVB开发板上电启动

K230 EVB支持SDCard、eMMC、norflash等多种启动方式,用户可以通过改变开板上启动拔码开关的设置,来切换不同启动模式。 为方便开发,建议您准备一张TF卡,并将拔码开关切换至SD卡启动模式,后续可考虑将镜像文件固化至emmc中。

  1. 请先确认启动开关SW1选择在SD卡启动模式下(详情可参考开机上电方式
  2. 将烧录完成的TF卡插入开发板TF卡槽中
  3. 开发板接上电源
  4. 将电源开关K1拔到ON位置,系统可上电启动
  5. 如果您有接好串口,可在串口中看到启动日志输出。

CanMV-K230开发板上电启动

K230 CanMV-K230开发板支持SDCard启动方式、HDMI输出显示,因此,需要准备一张TF卡,此外建议准备一个HDMI显示器。

  1. 将烧录完成的TF卡插入开发板TF卡槽中
  2. 开发板上电,此时,系统可上电启动

系统上电后,默认会有两个串口设备,可分别用于访问小核Linux和大核RTSmart

小核Linux默认用户名root,密码为空。大核RTSmart系统中开机会自动启动一个应用程序,可按q键退出至命令提示符终端。

当前文档仅介绍K230基础使用说明,更多详情建议参考K230 SDK 使用说明K230 Docs repo中的其它文档,均包含在K230相关资源链接中。

贡献指南

如果您对本项目感兴趣,想要反馈问题或提交代码,请参考CONTRIBUTING

联系我们

北京嘉楠捷思信息技术有限公司

网址:www.canaan-creative.com

商务垂询:salesAI@canaan-creative.com