Awesome
嘉楠勘智K230 SDK
[TOC]
K230相关资源链接
链接 | 说明 |
---|---|
K230 SDK | Kendryte K230 SDK Github Repo |
K230 Docs | Kendryte K230 Docs Github Repo |
K230 Training scripts | Kendryte K230 Training Scripts Github Repo |
K230 SDK Gitee mirror | Kendryte K230 SDK Gitee mirror Repo |
K230 Docs Gitee mirror | Kendryte 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所支持的各项特色功能的同时,为客户提供参考设计以完成自主研发。
序号 | 说明 |
---|---|
1 | CKLINK调试 |
2 | LCD扩展, 4lane MIPI DSI |
3 | LPDDR3 512MB |
4 | K230 SoC |
5 | 32Mbit QSPI NOR Flash |
6 | Sensor转接卡 (4Lane MIPI CSI) |
7 | 4GB eMMC |
8 | USB转串口FT2232 |
9 | SD卡座 |
10 | USB转二路串口 |
11 | USB0可接USB转以太网 |
12 | 复位按键 |
13 | 电源开关 |
14 | Boot启动开关 |
15 | USB 5V电源 |
CanMV-K230 硬件开发板简介
CanMV-K230针对AI芯片K230-USIP开发,以LPDDR3为内存而设计的测评板,集成了常规开发板所需的HDMI和网络、WIFI/BT等接口。
序号 | 说明 |
---|---|
1 | HDMI |
2 | 网口 |
3 | 耳机 |
4 | 复位按键 |
5 | 电源&串口(接电脑USB口) |
6 | USB |
7 | 按键 |
8 | Sensor转接口(OV5647) |
9 | IO扩展口 |
K230 SDK软件开发快速指南
K230 SDK结构简介
一级目录 | 二级目录 | 说明 |
---|---|---|
configs | NA | 资源配置 (内存分配规划) |
output | NA | SDK编译产物 |
src | big | 大核RTSmart代码 |
src | common | 大小核公共代码 |
src | little | 小核Linux代码 |
tools | docker | dockerfile |
tools | doxygen | doxygen脚本和配置文件 |
tools | kconfig | |
tools | gen_image.sh | 生成可烧写镜像的脚本 |
tools | gen_image_cfg | 镜像分区配置文件 |
tools | tuning-tool-client | PC端图像调试工具 |
K230 SDK 是面向K230 开发板的软件开发包,包含了基于Linux&RT-smart 双核异构系统开发需要用到的源代码,工具链和其他相关资源。
配置软件开发环境
K230 SDK需要在Linux环境下编译,推荐使用Ubuntu Liunx 20.04。
如需使用windows环境编译,建议使用WSL2 + Docker环境。
使用docker编译环境
-
获取docker编译镜像 推荐在docker环境中编译K230 SDK,可直接使用如下docker镜像:
docker pull ghcr.io/kendryte/k230_sdk
可使用如下命令确认docker镜像拉取成功:
docker images | grep k230_sdk
说明: docker镜像中默认不包含toolchain,下载源码后,使用命令'make prepare_sourcecode'命令会自动下载toolchain至当前编译目录中。
如果不使用docker编译环境,而是希望使用原生Linux进行编译,可参考
tools/docker/Dockerfile
,安装相应的工具至您的Linux系统中即可。如下载速度较慢或无法成功,可使用
tools/docker/Dockerfile
自行编译docker image,详情请参考K230 SDK使用说明
编译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镜像编译为例:
- 确认当前目录为
k230_sdk
源码根目录, - 使用如下命令进入docker
docker run -u root -it -v $(pwd):$(pwd) -v $(pwd)/toolchain:/opt/toolchain -w $(pwd) ghcr.io/kendryte/k230_sdk /bin/bash
- 根据不同开发板或软件功能,选择不同的配置config进行编译,编译命令格式:
make CONF=xxx
,如:
- 编译K230-USIP-LP3-EVB板子镜像,执行
make CONF=k230_evb_defconfig
命令开始编译- 编译CanMV-K230板子的镜像,执行
make CONF=k230_canmv_defconfig
命令开始编译
- 外部目录中自动下载的toolchain会映射至docker镜像中的
/opt/toolchain/
目录下。- 默认参数
-u root
指定docker以root用户执行,k230_sdk无需root权限即可编译- docker镜像请使用
ghcr.io/kendryte/k230_sdk
完整路径,如自行编译的本地docker镜像,请修改相应名称
编译产物简介
以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
解压缩得到该文件。
预编译镜像下载
如果不希望自行编译镜像,可下载预编译镜像,直接烧录使用
- main branch: Github默认分支,作为release分支,编译release镜像自动发布至Release页面.(从
v1.4
版本开始支持) - 预编译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中。
- 请先确认启动开关SW1选择在SD卡启动模式下(详情可参考开机上电方式)
- 将烧录完成的TF卡插入开发板TF卡槽中
- 开发板接上电源
- 将电源开关K1拔到ON位置,系统可上电启动
- 如果您有接好串口,可在串口中看到启动日志输出。
CanMV-K230开发板上电启动
K230 CanMV-K230开发板支持SDCard启动方式、HDMI输出显示,因此,需要准备一张TF卡,此外建议准备一个HDMI显示器。
- 将烧录完成的TF卡插入开发板TF卡槽中
- 开发板上电,此时,系统可上电启动
系统上电后,默认会有两个串口设备,可分别用于访问小核Linux和大核RTSmart
小核Linux默认用户名root,密码为空。大核RTSmart系统中开机会自动启动一个应用程序,可按q
键退出至命令提示符终端。
当前文档仅介绍K230基础使用说明,更多详情建议参考K230 SDK 使用说明和K230 Docs repo中的其它文档,均包含在K230相关资源链接中。
贡献指南
如果您对本项目感兴趣,想要反馈问题或提交代码,请参考CONTRIBUTING
联系我们
北京嘉楠捷思信息技术有限公司