K210简介
K210全称为堪智K210,堪智K210采用RISC-V处理器架构,具备视听一体、自主IP核与可编程能力强三大特点,支持机器视觉与机器听觉多模态识别,可广泛应用于智能家居、智能园区、智能能耗与智能农业等情景。
处理器架构 |
算力 |
人脸检测 |
功耗 |
RISC-V双核64位CPU |
1TOPS |
60帧/秒 |
300mW |
参数
性能 |
安全 |
功耗 |
扩展性 |
中央处理器:RISC-V Dual Core 64bit,with FPU 图像识别:QVGA@60fps/VGA@30fps 语音识别:麦克风阵列(8mics) |
高级加密硬件加速器(AES) 一次性只读存储器(OTP)SHA256 |
典型应用场景功耗<1W 芯片功耗<300mW |
操作系统:FreeRTOS 网络模型:TinyYOLOv2(after pruned) 深度学习框架:TensorFlow/Keras/Darknet 外设:FPIOA、UART、GPIO、SPI、IIC、IIS、WDT、TIMER、RTC等 |
##开发环境
使用VS Code进行开发,需提前安装CMake与toolchain,可前往官网进行资源下载-官方资源
下载官方SDK进行软件开发
点亮LED灯
打开官方SDK
使用VS Code打开SDK,路径如下:kendryte-freertos-sdk-0.7.0

在当前路径下创建一个build文件夹,在TERMINAL终端使用cd build移动到build路径下
工程创建
在src文件夹下新建一个工程文件,命名为gpio_rgb,在其路径下新建main.c与pin_config.h两个文件
打开main.c文件,编写代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| #include <stdio.h> #include <unistd.h> #include "sleep.h" #include "gpio.h" #include "gpiohs.h" #include "pin_config.h"
gpio_pin_value_t value = GPIO_PV_HIGH;
void hardware_init(void) { fpioa_set_function(PIN_RGB_R, FUNC_RGB_R); fpioa_set_function(PIN_RGB_G, FUNC_RGB_G); fpioa_set_function(PIN_RGB_B, FUNC_RGB_B);
fpioa_set_function(PIN_LED_0, FUNC_LED0); fpioa_set_function(PIN_LED_1, FUNC_LED1); }
void rgb_all_off(void) { gpiohs_set_pin(RGB_R_GPIONUM, GPIO_PV_HIGH); gpiohs_set_pin(RGB_G_GPIONUM, GPIO_PV_HIGH); gpiohs_set_pin(RGB_B_GPIONUM, GPIO_PV_HIGH); }
void init_rgb(void) { gpiohs_set_drive_mode(RGB_R_GPIONUM, GPIO_DM_OUTPUT); gpiohs_set_drive_mode(RGB_G_GPIONUM, GPIO_DM_OUTPUT); gpiohs_set_drive_mode(RGB_B_GPIONUM, GPIO_DM_OUTPUT);
gpio_set_drive_mode(LED0_GPIONUM, GPIO_DM_OUTPUT); gpio_set_drive_mode(LED1_GPIONUM, GPIO_DM_OUTPUT);
gpio_set_pin(LED0_GPIONUM, value); gpio_set_pin(LED1_GPIONUM, value);
rgb_all_off(); }
int main(void) { int state = 0; hardware_init(); init_rgb();
while(1) { rgb_all_off(); gpiohs_set_pin(state, GPIO_PV_LOW); msleep(500); gpio_set_pin(LED0_GPIONUM, value); gpio_set_pin(LED1_GPIONUM, value = !value);
state++; state=state%3; } return 0; }
|
打开pin_config.h文件,编写代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| #ifndef _PIN_CONFIG_H_ #define _PIN_CONFIG_H_
#include "fpioa.h"
#define PIN_RGB_R (6) #define PIN_RGB_G (7) #define PIN_RGB_B (8)
#define PIN_LED_0 (0) #define PIN_LED_1 (17)
#define RGB_R_GPIONUM (0) #define RGB_G_GPIONUM (1) #define RGB_B_GPIONUM (2)
#define LED0_GPIONUM (3) #define LED1_GPIONUM (4)
#define FUNC_RGB_R (FUNC_GPIOHS0 + RGB_R_GPIONUM) #define FUNC_RGB_G (FUNC_GPIOHS0 + RGB_G_GPIONUM) #define FUNC_RGB_B (FUNC_GPIOHS0 + RGB_B_GPIONUM)
#define FUNC_LED0 (FUNC_GPIO0 + LED0_GPIONUM) #define FUNC_LED1 (FUNC_GPIO0 + LED1_GPIONUM)
#endif
|
在终端先使用 cmake .. -DPROJ=gpio_rgb -G “MinGW Makefiles” 命令,再使用 make 命令完成编译,再使用KFlash工具进行.bin文件下载
实现了RGB灯与LED0、LED1不断闪烁
效果视频