Explorar o código

support rt-thread

Meco Man %!s(int64=3) %!d(string=hai) anos
pai
achega
8190c2a0eb
Modificáronse 3 ficheiros con 90 adicións e 2 borrados
  1. 1 2
      README.md
  2. 33 0
      README_zh.md
  3. 56 0
      SConscript

+ 1 - 2
README.md

@@ -1,7 +1,6 @@
 # Kendryte K210 standalone SDK
 
-[![Build Status](https://travis-ci.org/kendryte/kendryte-standalone-sdk.svg)](https://travis-ci.org/kendryte/kendryte-standalone-sdk)
-[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
+[RT-Thread 适配说明(中文)](README_zh.md)
 
 This SDK is for Kendryte K210 without OS support.
 If you have any questions, please be free to contact us.

+ 33 - 0
README_zh.md

@@ -0,0 +1,33 @@
+# 勘智SDK驱动包
+
+## 1、介绍
+
+勘智SDK驱动包是一份RT-Thread上勘智K210处理器对应的外设驱动包,主要是对K210上提供的standalone sdk提
+供一份RT-Thread移植、包装,能够融合到RT-Thread系统中。
+
+### 1.1 目录结构
+
+| 名称 | 说明 |
+| ---- | ---- |
+| kendryte-standalone-sdk  | 勘智K210处理器的外设驱动包 |
+
+### 1.2 许可证
+
+许可证协议同kendryte-standalone-sdk的许可证
+
+### 1.3 依赖
+
+- RT-Thread 4.0+
+- K210 BSP
+
+## 2、如何使用
+
+正常的情况下,当使用K210 BSP时,这份外设驱动包就会自动使能。而驱动包本身在menuconfig中位于如下路径:
+
+```
+RT-Thread online packages
+    peripheral libraries and drivers --->
+        [*] the kendryte-sdk package for rt-thread
+```
+
+然后让 RT-Thread 的包管理器自动更新,或者使用 `pkgs --update` 命令更新包到 BSP 中。

+ 56 - 0
SConscript

@@ -0,0 +1,56 @@
+from building import *
+
+cwd     = GetCurrentDir()
+src     = Split('''
+lib/bsp/entry.c
+lib/bsp/entry_user.c
+lib/drivers/aes.c
+lib/drivers/clint.c
+lib/drivers/dmac.c
+lib/drivers/dvp.c
+lib/drivers/fft.c
+lib/drivers/fpioa.c
+lib/drivers/gpio.c
+lib/drivers/gpiohs.c
+lib/drivers/i2c.c
+lib/drivers/i2s.c
+lib/drivers/kpu.c
+lib/drivers/plic.c
+lib/drivers/pwm.c
+lib/drivers/rtc.c
+lib/drivers/sha256.c
+lib/drivers/spi.c
+lib/drivers/sysctl.c
+lib/drivers/timer.c
+lib/drivers/utils.c
+lib/drivers/wdt.c
+lib/nncase/runtime/kernel_registry.cpp
+lib/nncase/runtime/interpreter.cpp
+lib/nncase/runtime/neutral/neutral_ops.cpp
+lib/nncase/runtime/k210/interpreter.cpp
+lib/nncase/runtime/k210/k210_ops.cpp
+lib/nncase/runtime/cpu/cpu_ops.cpp
+lib/nncase/nncase.cpp
+''')
+CPPPATH = [cwd + '/lib/drivers/include',
+cwd + '/lib/nncase/include',  
+cwd + '/third_party/xtl/include',
+cwd + '/lib/bsp/include',
+cwd + '/lib/utils/include']
+CPPDEFINES = ['NNCASE_TARGET=k210',
+'TCB_SPAN_NO_EXCEPTIONS',
+'TCB_SPAN_NO_CONTRACT_CHECKING',
+'LV_CONF_INCLUDE_SIMPLE', 
+'_IOMEM_MALLOC_H', 
+'iomem_malloc=malloc', 
+'iomem_free=free', 
+'CONFIG_LOG_COLORS', 
+'CONFIG_LOG_ENABLE', 
+'CONFIG_LOG_LEVEL=LOG_VERBOSE', 
+'FPGA_PLL', 
+'LOG_KERNEL', 
+'__riscv64']
+
+group = DefineGroup('kendryte-sdk', src, depend = ['PKG_USING_KENDRYTE_SDK'], CPPPATH = CPPPATH, LOCAL_CPPDEFINES = CPPDEFINES)
+
+Return('group')