嘉楠科技AI芯片K230-初探

1 篇文章 0 订阅

在这里插入图片描述

介绍

    K230芯片是嘉楠科技 Kendryte®系列AIoT芯片中的最新一代SoC产品。该芯片采用全新的多异构单元加速计算架构,集成了2个RISC-V高能效计算核心,内置新一代KPU(Knowledge Process Unit)智能计算单元,具备多精度AI算力,广泛支持通用的AI计算框架,部分典型网络的利用率超过了70%。 该芯片同时具备丰富多样的外设接口,以及2D、2.5D等多个标量、向量、图形等专用硬件加速单元,可以对多种图像、视频、音频、AI等多样化计算任务进行全流程计算加速,具备低延迟、高性能、低功耗、快速启动、高安全性等多项特性。
在这里插入图片描述

入门

购买开发板

在这里插入图片描述
网上购买开发板, 附带有开发资料, 可快速理解入门

安装

购买的配件包含:

  1. K230 主板
  2. 3.5寸屏幕 (屏排线)
  3. TYPE-C 连接线
  4. 一个亚克力板

安装很简单, 几颗螺丝参考照片锁紧即可.

开机

启动
    接上TYPE-C 即可开机可以看到主板上的灯亮了, 屏幕没亮? 莫急, 需要把系统镜像烧录到TF卡, 再插入TF卡启动.
系统镜像在商家提供的资料中可以找到: 01Studio_CanMV_K230_MicroPython_v1.0.img
烧录镜像的工具用的是: rufus-4.2
烧录过程这里不过多介绍(rufus是个通用工具, 使用比较简单)
参考: 镜像烧录和开机


IDE
CanMV IDE K230 按安装向导安装即可 (Windows 8 不支持)
在这里插入图片描述

开发学习

开发资料包含了很多的参考例程, 可以在IDE中直接打开不同功能模块的参考代码, 学习调试很方便.
在这里插入图片描述

点亮第1个LED

大部分人开始学习嵌入式单片机编程都会从点亮LED开始:

'''
实验名称:点亮LED蓝灯
版本:v1.0
作者:01Studio
实验平台:01Studio CanMV K230
教程:wiki.01studio.cc
'''

from machine import Pin #导入Pin模块
from machine import FPIOA
import time

#将GPIO52配置为普通GPIO
fpioa = FPIOA()
fpioa.set_function(52,FPIOA.GPIO52)

LED=Pin(52,Pin.OUT) #构建led对象,GPIO52,输出
LED.value(1) #点亮LED,也可以使用led.on()

打开IDE, 创建代码, 连接设备, 点击左下角绿色三角运行, LED点亮!

点亮屏幕预览摄像头

import time, os, sys

from media.sensor import *
from media.display import *
from media.media import *
try:
    print("camera preview")
    # construct a Sensor object with default configure
    sensor = Sensor()
    # sensor reset
    sensor.reset()
    sensor.set_framesize(width=800, height=480)

    # set chn0 output format
    sensor.set_pixformat(Sensor.RGB565)

    # use hdmi as display output
    # ST7701:LCD
    # LT9611:HDMI
    Display.init(Display.ST7701, to_ide = True)

    # init media manager
    MediaManager.init()
    # sensor start run
    sensor.run()

    # drop 100 frames
    for i in range(10):
        sensor.snapshot()
    while True:
        os.exitpoint()
        # snapshot and save
        img = sensor.snapshot()
        Display.show_image(img)

except KeyboardInterrupt as e:
    print(f"user stop")
except BaseException as e:
    print(f"Exception '{e}'")
finally:
    # sensor stop run
    if isinstance(sensor, Sensor):
        sensor.stop()
    # deinit display
    Display.deinit()

    os.exitpoint(os.EXITPOINT_ENABLE_SLEEP)
    time.sleep_ms(100)

    # release media buffer
    MediaManager.deinit()

代码离线运行

直接在IDE里面运行功能代码是保存在开发板的RAM(内存)里面,方便调试,但断电后丢失,那么如何实现开发板上电运行我们的代码呢?方法如下:
Micropython机制是上电默认先运行名字为boot.py文件,然后在运行main.py文件,如果没有boot.py那么直接运行main.py。

  • boot.py: 上电第1个运行的脚本,如果代码有while True阻塞,将不会运行下面的main.py。
  • main.py:上电第2个运行的脚本。

也就是我们只需要将代码以boot.py或main.py文件发送到开发板,那么开发板就可以实现上电运行相关程序。
可以将在当前CanMV K230 IDE连接开发板后将打开的例程代码以main.py发送到开发板:

在线训练平台

参考后文链接

参考

[1] K230 AI 教程
[2] 购买参考
[3] K230 主页
[4] 01studio CanMV-K230套件介绍
[5] 3.11 image 图像处理 API手册
[6] 模型训练流程
[7] 在线训练平台使用文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值