Skip to content

Commit

Permalink
add download doc
Browse files Browse the repository at this point in the history
  • Loading branch information
Rongkangqi committed Aug 23, 2024
1 parent c3b1fa0 commit f7e5512
Show file tree
Hide file tree
Showing 15 changed files with 1,264 additions and 437 deletions.
149 changes: 149 additions & 0 deletions docs/CanaanK230/download.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
---
sidebar_position: 2
---
# 开发板资料下载

DshanPI-CanMV开发板配套的软件、源码、原理图、芯片手册、工具包等,都可访问以下资料获取。

资料获取链接:https://pan.baidu.com/s/1VBd0n3FKO0bj8yHOWk4HEw?pwd=ov5d 提取码:ov5d

> 注意:获取资料后请一定阅读下面的文档了解资料中包含那些内容。


资料包组成:

```
01_学习手册
02_开发工具
03_开发板系统固件
04_开发板原理图
05_芯片手册
06_K230配套SDK
07_核心板封装库
08_底板参考工程
09_音视频测试资源文件
```



## 1.学习手册

该文件夹中保存有学习站点的链接。

DshanPI-CanMV开发板配套的文档都保存在:https://eai.100ask.net/CanaanK230/Userdoc



## 2.开发工具

该文件夹中保存有以下内容:

```
【Windows】VMwareWorkstation安装包
【Windows】USB串口驱动
【Windows】TF卡烧录工具
【Windows】SD卡格式化工具
【Windows】MobaXterm(串口工具 ssh工具合集)
【Windows】K230烧录驱动zadig-2.8
【Windows】K230烧录工具
【Vmware】原始的Ubuntu20.04
【VMware】搭建好所有环境的Ubuntu20.04
```

- 【Windows】VMwareWorkstation安装包:虚拟化软件,可安装此软件包运行虚拟机
- 【Windows】USB串口驱动:可用于安装电脑的串口驱动
- 【Windows】TF卡烧录工具:用于烧写系统固件至TF卡
- 【Windows】SD卡格式化工具:用于格式化内存卡
- 【Windows】MobaXterm(串口工具 ssh工具合集):用于访问开发板的串口
- 【Windows】K230烧录驱动zadig-2.8:用于安装开发板的烧录驱动
- 【Windows】K230烧录工具:可用于将系统烧录至开发板的EMMC中。
- 【Vmware】原始的Ubuntu20.04:可使用Vmware软件打开,启动后为Ubuntu20.04的最小系统
- 【VMware】搭建好所有环境的Ubuntu20.04:可使用Vmware软件打开,启动后为安装好K230 SDK环境的Ubuntu20.04。

> 注意:
>
> - Ubuntu的用户名和密码均为: ubuntu
> - 如果使用搭建好所有环境的Ubuntu,请启动后重新获取最近的源码。


## 3.开发板系统固件

该文件夹中保存有以下内容:

```
loader-canmv-dongshanpi.bin
DshanPI-CanMV-512MB_V1.1.zip
DshanPI-CanMV-1GB_V1.1.zip
```

- loader-canmv-dongshanpi.bin:用于开发板烧录EMMC系统,引导固件烧录。
- DshanPI-CanMV-512MB_V1.1.zip:开发板系统固件:可用于512MB内存的硬件。
- DshanPI-CanMV-1GB_V1.1.zip:开发板系统固件:可用于1GB内存的硬件。



## 4.开发板原理图

该文件夹中保存有以下内容:

```
K230-Core-Open_SCH_V1.pdf
DshanPIxCanMV_SCH_V1.pdf
```

- K230-Core-Open_SCH_V1.pdf:K230核心板硬件原理图
- DshanPIxCanMV_SCH_V1.pdf:K230底板硬件原理图



## 5.芯片手册

该文件夹中保存有以下内容:

```
K230_datasheet.pdf
```

- K230_datasheet.pdf:K230芯片的数据手册。



## 6.K230配套SDK

> 注意:获取SDK建议使用Git方式获取最新版本!!!
该文件夹中保存有以下内容:

```
磁盘镜像工具安装包genimage-16
k230_sdk.tar.gz
```

- 磁盘镜像工具安装包genimage-16:搭建SDK环境时需要用到的软件包
- k230_sdk.tar.gz:K230开发板的SDK源码。



## 7.核心板封装库

该文件夹中保存有以下内容:

```
K230_Mainboard_V10.PcbLib
```

- K230_Mainboard_V10.PcbLib:如果您想基于K230 核心板设计自己硬件,可直接将核心板封装库导入。



## 8.底板参考工程

该文件夹中保存有以下内容:

```
DshanPIxCanMV_BaseBoard_V1.zip
```

- DshanPIxCanMV_BaseBoard_V1.zip:开发板的硬件工程源文件,如果您想使用K230核心板设计自己的产品,可将此工程作为您的设计参考。
2 changes: 1 addition & 1 deletion docs/CanaanK230/part1/_category_.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"label": "1.开发板上手指南",
"position": 2,
"position": 3,
"link": {
"type": "generated-index",
"description": "5 minutes to learn the most important Docusaurus concepts."
Expand Down
2 changes: 1 addition & 1 deletion docs/CanaanK230/part2/_category_.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"label": "2.开发环境搭建指南",
"position": 3,
"position": 4,
"link": {
"type": "generated-index",
"description": "5 minutes to learn the most important Docusaurus concepts."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -436,6 +436,7 @@ Options:
```
./sample_vicap -conn 1 -dev 0 -sensor 23 -chn 0 -chn 1 -ow 640 -oh 480 -preview 0 // Canmv-K230-V1.0/1.1板
./sample_vicap -conn 1 -dev 0 -sensor 33 -chn 0 -chn 1 -ow 640 -oh 480 -preview 0 // Canmv-K230-V2.0板
./sample_vicap -conn 4 -dev 0 -sensor 46 -chn 0 -chn 1 -ow 640 -oh 480 -preview 1 // DshanPI-CanMV
```

说明:将ov5647@1920x1080 RGB输出 绑定到vicap设备0,并使能vicap设备输出通道0和通道1,其中通道0输出大小默认为输入图像大小(1920x1080),通道1输出图像大小为640x480
Expand Down
2 changes: 1 addition & 1 deletion docs/CanaanK230/part3/_category_.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"label": "3.嵌入式应用开发指南",
"position": 4,
"position": 5,
"link": {
"type": "generated-index",
"description": "5 minutes to learn the most important Docusaurus concepts."
Expand Down
131 changes: 3 additions & 128 deletions docs/CanaanK230/part4/02-K230Development.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,87 +17,7 @@ K230 SDK软件架构层次如图所示:

![K230 SDK软件架构层次](${images}/sdk_struct_layer.png)

### 2.1.2. 配置软件开发环境

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

> 如需使用windows环境编译,建议使用WSL2 + 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使用说明

### 2.1.3. 编译K230 SDK

镜像的烧录与编译可参考《开发环境搭建指南》

#### 2.1.3.5. 镜像烧录

**Linux:**

在TF卡插到宿主机之前,输入:

```
ls -l /dev/sd\*
```



查看当前的存储设备。

将TF卡插入宿主机后,再次输入:

```
ls -l /dev/sd\*
```



查看此时的存储设备,新增加的就是TF卡设备节点。

假设/dev/sdc就是TF卡设备节点,执行如下命令烧录TF卡:

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



**Windows:**

Windows下可通过rufus工具对TF卡进行烧录,[rufus工具下载地址](http://rufus.ie/downloads/)

1)将TF卡插入PC,然后启动rufus工具,点击工具界面的”选择”按钮,选择待烧写的固件。

![rufus-flash-from-file](${images}/rufus_select.png)

2)点击“开始”按钮开始烧写,烧写过程有进度条展示,烧写结束后会提示“准备就绪”。

![rufus-flash](${images}/rufus_start.png)

![rufus-sure](${images}/rufus_sure.png)

![rufus-warning](${images}/rufus_warning.png)

![rufus_finish](${images}/rufus_finish.png)

## 2.2. nncase简介

Expand All @@ -110,52 +30,7 @@ Windows下可通过rufus工具对TF卡进行烧录,[rufus工具下载地址](h
1. 使用 `nncase`完成模型编译,生成 `kmodel`
2. 在PC和开发板上执行 `kmodel`推理。

### 2.2.2. 模型编译和模拟器推理

#### 2.2.2.1. 安装nncase工具链

nncase工具链包括 `nncase``nncase-kpu`插件包,两者均需正确安装才可以编译出CanMV-K230所支持的模型文件。`nncase``nncase-kpu`插件包均在[nncase github release](https://github.com/kendryte/nncase/releases)发布,并且依赖dotnet-7.0。

- `Linux`平台可以直接使用pip进行 `nncase``nncase-kpu`插件包在线安装,Ubuntu环境下可使用 `apt`安装 `dotnet`

```
pip install --upgrade pip
pip install nncase
pip install nncase-kpu
# nncase-2.x need dotnet-7
sudo apt-get update
sudo apt-get install -y dotnet-sdk-7.0
```



> Tips:如果使用官方提供的CanMV镜像,必须检查SDK中nncase的版本和使用pip安装的nncase版本是否一致。
- `Windows`平台仅支持`nncase`在线安装,`nncase-kpu`需要在[nncase github release](https://github.com/kendryte/nncase/releases)手动下载安装。

- 用户若没有Ubuntu环境, 可使用 `nncase docker`(Ubuntu 20.04 + Python 3.8 + dotnet-7.0)

```
cd /path/to/nncase_sdk
docker pull ghcr.io/kendryte/k230_sdk
docker run -it --rm -v `pwd`:/mnt -w /mnt ghcr.io/kendryte/k230_sdk /bin/bash -c "/ bin/bash"
```



> Tips:目前仅支持py3.6-3.10,如果pip安装失败请检查pip对应的Python版本。
#### 2.2.2.2. 环境配置

使用pip安装软件包后,需将安装路径添加到PATH环境变量中。

```
export PATH=$PATH:/path/to/python/site-packages/
```



#### 2.2.2.3. 原始模型说明
#### 2.2.1.1. 原始模型说明

`nncase`目前支持 `tflite``onnx`格式的模型,更多格式的支持还在进行中。

Expand All @@ -164,14 +39,14 @@ export PATH=$PATH:/path/to/python/site-packages/
> 1. 对于TensorFlow的`pb`模型,请参考官方文档将其转换为`tflite`格式。注意不要设置量化选项,直接输出浮点模型即可。如果模型中存在quantize和dequantize算子,则属于量化模型,目前不支持。
> 2. 对于PyTorch的`pth`等格式模型,需使用`torch.export.onnx`接口导出`onnx`格式。
#### 2.2.2.4. 编译参数说明
#### 2.2.1.2. 编译参数说明

进行模型编译前,您需要了解以下关键信息:

1. `KPU`推理使用定点运算。因此在编译模型时,必须配置量化相关参数,用于将模型从浮点转换为定点。详见 `nncase`文档中的PTQTensorOptions说明。
2. `nncase`支持将前处理层集成到模型中,这可以减少推理时的前处理开销。相关参数和示意图见 `nncase`文档的CompileOptions部分。

#### 2.2.2.5. 编译脚本说明
#### 2.2.1.3. 编译脚本说明

[Jupyter notebook:(github.com)](https://github.com/kendryte/nncase/blob/master/examples/user_guide/k230_simulate-ZH.ipynb)[Jupyter notebook:(gitee.com)](https://gitee.com/kendryte/nncase/blob/master/examples/user_guide/k230_simulate-ZH.ipynb)分步骤详细描述了使用nncase编译、推理kmodel的流程,notebook内容涵盖:

Expand Down
Loading

0 comments on commit f7e5512

Please sign in to comment.