| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | 21-Aug-2025 | - | ||||
| applications/ | 21-Aug-2025 | - | ||||
| board/ | 21-Aug-2025 | - | ||||
| drivers/ | 21-Aug-2025 | - | ||||
| images/ | 21-Aug-2025 | - | ||||
| .config | A D | 21-Aug-2025 | 48.8 KiB | 1,493 | 1,379 | |
| Kconfig | A D | 21-Aug-2025 | 269 | 16 | 10 | |
| README.md | A D | 21-Aug-2025 | 5.2 KiB | 129 | 87 | |
| SConscript | A D | 21-Aug-2025 | 311 | 15 | 11 | |
| SConstruct | A D | 21-Aug-2025 | 995 | 37 | 27 | |
| link.lds | A D | 21-Aug-2025 | 4.5 KiB | 191 | 157 | |
| link_stacksize.lds | A D | 21-Aug-2025 | 21 | 1 | 1 | |
| rtconfig.h | A D | 21-Aug-2025 | 10 KiB | 473 | 135 | |
| rtconfig.py | A D | 21-Aug-2025 | 1.6 KiB | 58 | 44 |
README.md
1# Kendryte K210板级支持包说明 2 3## 1. 简介 4 5Kendryte K210 是集成机器视觉与机器听觉能力的系统级芯片(SoC)。使用台积电 (TSMC) 超低功耗的 28 纳米先进制程,具有双核64位处理器,拥有较好的功耗性能,稳定性与可靠性。该方案力求零门槛开发,可在最短时效部署于用户的产品中,赋予产品人工智能。 6 7Kendryte K210 定位于AI与IoT市场的SoC,同时是使用非常方便的MCU。 8 9Kendryte中文含义为勘智,而勘智取自勘物探智。这颗芯片主要应用领域为物联网领域,在物联网领域进行开发,因此为勘物;这颗芯片主要提供的是人工智能解决方案,在人工智能领域探索,因此为探智。 10 11* 具备机器视觉能力 12* 具备机器听觉能力 13* 更好的低功耗视觉处理速度与准确率 14* 具备卷积人工神经网络硬件加速器KPU,可高性能进行卷积人工神经网络运算 15* TSMC 28nm先进制程,温度范围-40°C到125°C,稳定可靠 16* 支持固件加密,难以使用普通方法破解 17* 独特的可编程IO阵列,使产品设计更加灵活 18* 低电压,与相同处理能力的系统相比具有更低功耗 19* 3.3V/1.8V双电压支持,无需电平转换,节约成本 20 21芯片规格包括如下: 22 23| 硬件 | 描述 | 24| -- | -- | 25|芯片型号| K210 | 26|CPU| 双核RV64GC | 27|主频| 400MHz | 28|片内SRAM| 8MB | 29| 外设 | 内嵌AES与SHA256算法加速器 | 30| | DVP、JTAG、OTP、FPIOA、GPIO、UART、SPI、RTC、I²S、I²C、WDT、Timer与PWM | 31 32## 2. 编译说明 33 34编译 K210,需要有 RT-Thread 的代码,因为 K210 的 sdk 是以软件包方式,所以需要在 bsp/k210 下做软件包更新。注意,需要使用 latest 的 RT-Thread 源码和 Latest 的软件包,软件包在menuconfig中的配置路径如下: 35 36``` 37RT-Thread online packages ---> 38 peripheral libraries and drivers ---> 39 Kendryte SDK ---> 40 [*] kendryte K210 SDK 41``` 42 43最新的 k210 SDK 使用了 C++17 编写了部分代码,因此需要打开 C++ 组件,C++组件在menuconfig中的配置路径如下: 44 45``` 46RT-Thread Components ---> C++ features 47``` 48 49Windows下推荐使用[env工具][1],然后在console下进入bsp/k210目录中,运行: 50 51 cd bsp/k210 52 menuconfig # 在软件包中选择最新的 k210 SDK 53 pkgs --update 54 55如果在Linux平台下,可以先执行 56 57 scons --menuconfig 58 59它会自动下载env相关脚本到~/.env目录,然后执行 60 61 source ~/.env/env.sh 62 63 cd bsp/k210 64 pkgs --update 65下载risc-v的工具链,[下载地址](https://github.com/xpack-dev-tools/riscv-none-embed-gcc-xpack/releases) 66 67更新完软件包后,在`rtconfig.py`中将risc-v工具链的本地路径加入文档。 68注: 691. 工具链建议使用上方提供的,`kendryte的官方工具链`会报浮点类型不兼容的错误,`risc-v工具链8.2.0之前的版本`会出现头文件不兼容的问题。 702. 网上传需要开启C++ 17,认为k210的神经网络编译器nncase多数语法由C++ 17,故需要开启C++ 17。个人认为没有必要,nncase是在PC端独立使用的, 71作用是将神经网络模型转为kmodel格式,此格式文件为已经编译的二进制文件。([shentalon](13212105191@163.com)注) 72 73然后执行scons编译: 74 75``` 76 set RTT_EXEC_PATH=C:\Users\xxxx\Downloads\xpack-riscv-none-embed-gcc-10.2.0-1.2\bin 77 scons 78``` 79来编译这个板级支持包。 80 81或者通过 `scons --exec-path="GCC工具链路径"` 命令,在指定工具链位置的同时直接编译。 82 83如果编译正确无误,会产生rtthread.elf、rtthread.bin文件。其中rtthread.bin需要烧写到设备中进行运行。 84注:如果初次使用编译报错,可能是使用的SDK过老,使用`menuconfig`命令,在→ RT-Thread online packages → peripheral libraries 85and drivers → the kendryte-sdk package for rt-thread中将SDK改为latest版本即可。 86## 3. 烧写及执行 87 88连接好串口,然后使用[K-Flash](https://kendryte.com/downloads/)工具进行烧写bin文件。 89 90 91 92### 3.1 运行结果 93 94如果编译 & 烧写无误,当复位设备后,会在串口上看到RT-Thread的启动logo信息: 95 96 97 98如果是K210-test_v0.2开发板,可以用如下命令来打开串口: 99 100 python -m serial.tools.miniterm --rts 0 --dtr 0 COM9 115200 101 102## 4. 驱动支持情况及计划 103 104| 驱动 | 支持情况 | 备注 | 105| ------ | ---- | :------: | 106| UART | 支持 | 高速UART,用于shell | 107 108## 5. 联系人信息 109 110维护人:[bernard](https://github.com/BernardXiong) 111 112## 6. 注意事项 113 114在进行系统menuconfig配置时,以下项是必选的 115 116| 配置项 | 强制配置值 | 117| ----- | --------- | 118| Alignment size for CPU architecture data access | 8 | 119| The stack size of idle thread | > 1024 | 120| the device name for console | "uarths" | 121| Set main thread stack size | 4096 | 122 123## 7. 参考 124 125* 芯片[datasheet][2] 126 127 [1]: https://www.rt-thread.org/download.html#download-rt-thread-env-tool 128 [2]: https://s3.cn-north-1.amazonaws.com.cn/dl.kendryte.com/documents/kendryte_datasheet_20180919020633.pdf 129