tag 标签: K210

相关博文
  • 2024-9-5 09:39
    140 次阅读|
    0 个评论
    第三章 CanMV 简介 本章将对 CanMV 进行简单介绍 本章分为如下几个小节: 3.1 初识 CanMV 3 .2 CanMV 的应用开发方式 3.1 初识 CanMV CanMV 是嘉楠科技针对 AIOT 编程的独立开源项目,其源代码在 G itHub 上开源( https://github.com/kendryte/canmv.git ),可在例如 Kendryte K 210 等强大的嵌入式 AI SoC 上运行, CanMV 提供了基于 MicroPython 语法的应用开发方式,但同时也支持使用基于 C 语言和 FreeRTOS 的应用开发方式。 3.2 CanMV 的应用开发方式 C anMV 提供了基于 C 语言和 FreeRTOS 的应用开发方式和基于 MicroPython 语法的应用开发方式。 当使用 CanMV 提供的基于 C 语言和 FreeRTOS 的方式进行应用开发时,开发过程使用 C 或 C++ 语言进行开发,与使用裸机 SDK 的裸机开发方式一样,这种开发方式要求开发者了解目标芯片的各种参数信息和特性,但相较于使用裸机 SDK 的裸机开发方式, CanMV 提供了移植好的 FreeRTOS 操作系统,以便开发者能够完成更加复杂多任务应用的开发。 虽然使用 C 语言的裸机或操作系统的开发方式往往能使应用具有较高的运行效率和性能,但需涉及目标芯片底层寄存器的配置并同时对开发者的嵌入式开发能力有一定要求,但如果是为了初步了解目标芯片的功能、快速地进行一些功能验证或是完成一些相对简单的功能开发,那 CanMV 提供的基于 MicroPython 语法的开发方式就是再合适不过的选择了。使用 CanMV 提供的基于 MicroPython 语法的应用开发方式,开发者可以快速且便捷地完成应用开发,以下是两个基于 MicroPython 语法的简单应用示例: 寻找 I 2 C 设备示例: from machine import I2C i2c = I2C ( I2C . I2C0 , freq = 100000 , scl = 28 , sda = 29 ) devices = i2c . scan () print ( devices ) 拍照示例: import sensor import image import lcd lcd . init () sensor . reset () sensor . set_pixformat ( sensor . RGB565 ) sensor . set_framesize ( sensor . QVGA ) while True : img = sensor . snapshot () lcd . display ( img ) AI 人脸检测示例: import sensor import image import lcd from maix import KPU lcd . init () sensor . reset () sensor . set_pixformat ( sensor . RGB565 ) sensor . set_framesize ( sensor . QVGA ) anchor = ( 0.1075 , 0.126875 , 0.126875 , 0.175 , 0.1465625 , 0.2246875 , 0.1953125 , 0.25375 , 0.2440625 , 0.351875 , 0.341875 , 0.4721875 , 0.5078125 , 0.6696875 , 0.8984375 , 1.099687 , 2.129062 , 2.425937 ) face_detecter = KPU () face_detecter . load_kmodel ( '/sd/face_detect_320x240.kmodel' ) face_detecter . init_yolo2 ( anchor , anchor_num = 9 , img_w = 320 , img_h = 240 , net_w = 320 , net_h = 240 , layer_w = 10 , layer_h = 8 , threshold = 0.5 , nms_value = 0.2 , classes = 1 ) while True : img = sensor . snapshot () face_detecter . run_with_output ( img ) faces = face_detecter . regionlayer_yolo2 () for face in faces : img . draw_rectangle ( face , face , face , face , color =( 0 , 255 , 0 )) 可以看到,使用 CanMV 提供的基于 MicroPython 语法的开发方式,仅需少量的几行代码便可实现一些简单的功能。 CanMV 的源码本质上是一套基于 C 的软件开发框架, CanMV 可谓是站在巨人的肩膀上实现的一套软件框架,为什么这么说呢?这是因为 CanMV 集成了许多现成的软件库,例如裸机 SDK 、 FreeRTOS 、 MicroPython 、 OpenMV 的图像处理库等一系列软件库,其中裸机 SDK 提供了 CanMV 驱动 Kendryte K 210 底层硬件的能力, F reeRTOS 为 CanMV 实现多核多任务的任务调度以及移植 MicroPython 成为可能, MicroPython 让 CanMV 的应用可以以类似 Python 脚本的方式进行开发, OpenMV 的图像处理库让 CanMV 的应用程序可以快速地对图像进行各种包括但不限于元素绘制、图像滤波、特征检测、色块追踪、图像对比和码识别的处理。
  • 2024-9-5 09:21
    0 个评论
    《DNK210使用指南 -CanMV版 V1.0》第二章 Kendryte K210简介
    第二章 Kendryte K210 简介 本章 将对 K endryte K210 进行简单的介绍,带领读者了解 K endryte K210 是 什么?有什么资源?能做什么?让读者对 Kendryte K210 有一个 基本的了解。 本章分为如下几个小节: 2 .1 初识 Kendryte K210 2 .2 Kendryte K210 资源简介 2 .1 初识 Kendryte K210 Kendryte K 210 (勘智 K 210 )是嘉楠科技( C anaan )于 2 018 年 9 月发布的一款人工智能芯片,集成了机器视觉与机器听觉的能力,定位于人工智能与边缘计算领域。 Kendryte K 210 使用台积电( TSMC )超低功耗的 2 8 纳米制程,具有双核 6 4 位处理器,拥有较好的功耗性能、稳定性与可靠性。 K endryte K210 的特点主要有以下几个方面: 1 ,具备机器视觉能力。 2 ,具备机器听觉能力。 3 ,更好的低功耗视觉处理速度与准确率。 4 ,具备卷积人工神经网络硬件加速器 KPU ,可高性能进行卷积人工神经网络运算。 5 , TSMC 28 nm 先进制程,温度范围 - 40 ℃到 1 25 ℃,稳定可靠。 6 ,支持固件加密,难以使用普通方法破解。 7 ,独特的可编程 IO 阵列,使产品设计更加灵活。 8 ,低电压,与相同处理能力的系统相比具有更低功耗。 9 , 3 .3 V /1.8V 双电压支持,无需电平转化,节约成本。 Kendryte K 210 具备机器视觉能力,通过嘉楠科技完全自主研发的神经网络加速器 IP ,可以在超低功耗下进行高速卷积神经网络计算,以独立且实时地实现基于卷积神经网络的目标检测或图像分类,以及人脸检测和人脸识别等机器视觉任务。 同时 K endryte K 210 也具备了机器听觉能力,其芯片上自带高性能麦克风阵列音频处理器,可以在不占用 CPU 资源的前提下,对实时声源定向与波束成形等的计算进行硬件加速,从而实现声源定向、声场成像、波束成形、语音唤醒和语音识别等功能。 Kendryte K 210 的图片,如图 2.1.1 所示: 图 2 .1.1 Kendryte K21 此外, Kendryte K 210 也是一颗性能强劲的 MCU ,它包含了 R ISC-V 64 位双核 CPU ( C entral Processing Unit ,中央处理器),主频高达 4 00 MHz (可超频至 6 00 MHz ),并且每个核心都内置了独立的 F PU ( F loating Point Unit ,浮点运算单元)。 Kendryte K210 包含的用于加速计算卷积人工神经网络的 KPU 和用于处理麦克风阵列输入的 APU 是其机器视觉与机器听觉这两大核心功能的基础。同时 K endryte K210 还具备了快速傅里叶变换加速器,可以进行高性能复数 FFT 计算。 因此对于大多数机器学习算法, K endryte K210 都具备高性能的处理能力。 2 .2 Kendryte K210 资源简介 K endryte K210 采用了 B GA144 的封装,在 8x8x0.953mm 的体积下封装了丰富的引脚资源和外设资源, Kendryte K210 的硬件资源,如表 2 .2.1 所示: K endryte K210 硬件资源 SRAM 8MiB R TC 1 个 G PIOHS 3 2 个 通用 IO 4 8 个 S HA256 1 个 D MAC 5 通道 K PU 1 个 D VP 1 个 I 2C 3 个 A PU 1 个 F FT 1 个 S PI 4 个 F PIOA 1 个 U ART 3 个 I 2S 3 个 W DT 2 个 U ARTHS 1 个 T IMER 3 个 A ES 1 个 G PIO 8 个 表 2 .2.1 Kendryte K210 硬件资源表 从上表中可以看出, K endryte K210 不仅拥有强劲的性能,并且还拥有丰富的硬件资源,这些硬件资源大大地扩展了 K endryte K210 上两颗 R ISC-V 64 位 CPU 的应用场景。 在机器视觉、机器听觉与机器学习算法的应用场景下, K PU 、 APU 和 FFT 可以针对应用场景下的专门计算作硬件加速,这使得 Kendryte K210 可以高性能且低功耗地胜任这些应用场景。 在安全加密的应用场景下, K endryte K210 包含的 A ES 和 SHA 256 可以相对于软件,以极快的速度完成 ECB 、 CBC 、 GCM 模式下等多种 Key 长度的加解密运算和 S HA-256 的计算。 在音视频采集与音频输出的应用场景下, DVP 和 I 2 S 将为其提供相应的硬件接口。其中, DVP 采集到的图像数据可以直接一并或单独地转发给 AI 模块或者内存,以实现高效的机器视觉处理。 在控制与通讯的应用场景下, K endryte K210 包含了众多控制与通讯的外设,例如: UART 、 UARTHS 、 GPIO 、 GPIOHS 、 I 2C 、 SPI 、 TIMER ,这些外设提供了 K endryte K210 在控制与通讯应用场景下的能力。 此外, Kendryte K210 包含的 SRAM 、 F PIOA 、 WDT 、 RTC 和 DMAC 等外设也为 K endryte K210 在各个应用场景下灵活、稳定且高效的运行提供了保障。 关于 Kendryte K210 更详细的介绍,可以查看 Kendryte K 210 的数据手册仓库( https://github.com/kendryte/kendryte-doc-datasheet.git ) ,读者可以在 A 盘 àKendryte K 210 参考资料 à Kendryte K210 数据手册 中找到这个仓库的存档。
  • 热度 35
    2020-3-30 13:33
    9723 次阅读|
    0 个评论
    【雕爷学编程】MicroPython动手做(02)——尝试搭建K210开发板的IDE环境
    喜欢今日头条,偶然看到广告,半个多月前交了8.9元,报名参加了头条上Python的四天培训课,呵呵,总算是有了零的开始(还是有点收获的,见 https://www.sohu.com/a/381128744_120248280 )。三天前搜到这个电子工程世界论坛,马上注册了ID,发现这里可能是学习交流MicroPython的最大平台....... 春节新冠疫情过后,我入手了一块支持MicroPython的开发板(性价比还行,百多元),国产自主知识产权的K210芯片,从零开始学习,尝试动手做实验。 自2018年9月6日,嘉楠科技推出自主设计研发的全球首款基于RISC-V的量产商用边缘智能计算芯片勘智K210,至今使用K210芯片的开发板已经很多了,比如号称第一款采用RISC-V芯片设计的香蕉Pi板BPI-K210,还有KD233、Sipeed M1(荔枝丹),MAIX Bit,M5Stick-V,MAIX GO,pyAI- K210,MAIX Dock,PaddlePi-K210和Maixduino等。 图为香蕉Pi板BPI-K210 最后选择Maixduino的理由挺简单的,就是这款开发板的版型能够兼容Arduino UNO的许多资源,相对来说其生态环境要好一些。作为测试的简单实验,半个月左右,先后尝试了在Maixduino上,配置Arduino IDE与PlatformIO IDE开发环境(win10)。 https://cn.bbs.sipeed.com/d/102-maixduino2-arduinowin10 https://cn.bbs.sipeed.com/d/154-maixduino8-platformio-idewin10 1、安装开发板串口驱动 正常情况下,win10 ,linux3.0+ ,mac os都可以自动识别并安装串口驱动。如果遇到驱动失败,可以去 FTDI 官网下载对应的 VCP 驱动程序。 https://www.ftdichip.com/Drivers/VCP.htm win驱动下载地址: http://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip 如果到驱动安装不正确,请彻底卸载原驱动,下载官方驱动,切断网络并安装驱动即可解决问题。 2、下载K210开发板固件,更新MaixPy固件相当于给开发板烧录系统,使用Type C 线连接开发板和电脑,下载开发板固件,方式有两种: (1)GitHub发布的固件(下载最新版本) https://codeload.github.com/sipeed/MaixPy/zip/master 2)官方最新提交的固件版本 https://dl.sipeed.com/MAIX/MaixPy/release/master/ 这里选择了v0.5.0_31版本 打开后应该是选择最后这个(固件完整版) 通常一个固件文件中至少有四个文件,以“maixpy_v0.5.0_31_gd3e71c0”固件为例,具体说明如下: eif_maixpy_v0.5.0_31_gd3e71c0.7z: 普通用户不用关心,用于死机调试; maixpy_v0.5.0_31_gd3e71c0_m5stickv:M5STACK环境; maixpy_v0.5.0_31_gd3e71c0_minimum: MaixPy固件最小集合,不支持 MaixPy IDE, 不包含OpenMV的相关算法; maixpy_v0.5.0_31_gd3e71c0.bin:完整版的MaixPy固件。 这里我们需要使用maixpy_v0.5.0_31_gd3e71c0.bin:完整版的MaixPy固件。 3、下载烧录软件kflash_gui 应用,直接下载GitHub项目工程,下载完成点击“kflash_gui.exe”文件安装。 资料页 https://github.com/sipeed/kflash_gui 下载页面 https://github.com/sipeed/kflash_gui/releases 只下载了V1.5版本,其他还在下载之中....... 出错了,无法安装kflash_gui.exe 后来只好把所有版本都下载,逐一试试....... 经测试,1.24、1.25和1.32都能打开(这里使用v1.32版本来烧录固件) 红点标注处的几个选项要选好 附:kflash_gui 特性 支持 *.bin 和 *.kfpgk 文件, 支持文件选择器选择 支持开发板选择 可选择程序烧录到 Flash 或者 SRAM 自动检测电脑上的串口 波特率可编辑 黑白两种皮肤可供选择 界面支持中英文切换 支持烧录进度显示和烧录速度显示 支持取消下载进程 支持合并多个 bin 文件为一个 bin 文件 支持把 kfpkg 文件转换为一个 bin 文件 支持使能 bin 文件 自动识别文件是不是固件 kflash_gui 使用方法 下载文件(kflash_gui_v*.*) 下载地址:release页面 解压, 并双击 kflash_gui.exe 或 kflash_gui 可以自行建快捷方式或者固定到开始页面或者固定要任务栏方便使用; 如果是 Linux, 可以修改 kflash_gui.desktop 里面的路径, 然后用管理员身份复制到/usr/share/application 目录, 然后就可以在系统菜单里面找到kflash_gui的图标了,点击即可打开 选择 bin 文件或者 kfpkg 文件, 如果是bin文件需要指定地址,如果是固件需要指定0x0000地址 选择开发板 选择烧录到开发板的哪个位置 Flash(速度慢但是重新上电还可运行) 或者 SRAM(RAM中运行,下载快断电丢失程序) 选择串口 选择波特率,推荐1.5M 点击 下载 按钮来开始下载 如果需要取消,点击 取消 按钮 4、下载MaixPy IDE,MaixPy 使用Micropython 脚本语法,所以不像 C语言 一样需要编译,要使用MaixPy IDE , 开发板固件必须是V0.3.1 版本以上(这里使用V0.5.0), 否则MaixPy IDE上会连接不上, 使用前尽量检查固件版本和IDE 版本,都更新到最新版以保障能正常使用。 https://cn.dl.sipeed.com/MAIX/MaixPy/ide https://dl.sipeed.com/MAIX/MaixPy/ide/_/v0.2.4/maixpy-ide-windows-0.2.4.exe 5、下载结束,进行安装 6、测试运行MaixPy IDE (1)确定开发板:工具——选择开发板——Maixduino (2)安装驱动,选择端口 工具——打开终端——串行端口——COM6——115200 (3)开始连接 图标绿色变红色表示已连接,见底栏,显示固件版本 V0.5.0 7、使用串口工具 (1)连接硬件 连接 Type C 线, 一端电脑一端开发板 查看设备是否已经正确识别: 在 Windows 下可以打开设备管理器来查看 如果没有发现设备, 需要确认有没有装驱动以及接触是否良好 (2)下载串口工具 (a) putty https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html (b)xshell https://xshell.en.softonic.com/download (3)然后选择串口模式, 然后设置串口和波特率,打开串口。 4)检查固件版本 使用串口终端PuTTY打开串口,然后复位(或按ctrl+D),看输出的版本信息,与github 或者 master 分支 的固件版本对比,根据当前版本情况考虑升级到最新版本。这里烧录的固件版本是“ v0.5.0-31-gd3e71c0” 。 (5)串口终端PuTTY的控制命令: CTRL-A-在空白行上,进入原始REPL模式 CTRL-B-在空白行上,进入常规REPL模式 CTRL-C-中断正在运行的程序 CTRL-D-在空白行上,对电路板进行软复位 CTRL-E-在空白行上进入粘贴模式 (6)有关可用模块的列表,请键入help('modules') KPU gc random uio Maix hashlib re ujson __main__ heapq sensor ulab _boot image socket uos _thread json struct urandom _webrepl lcd sys ure array machine time usocket audio math touchscreen ustruct binascii math ubinascii utime board micropython ucollections utimeq builtins modules ucryptolib uzlib cmath nes uctypes video collections network uerrno zlib errno os uhashlib fpioa_manager pye_mp uheapq Plus any modules on the filesystem 8、Hello world! #尝试搭建K210的Micropython开发环境(Win10) #实验程序之一:串口打印‘hello maixpy’,固件版本号
相关资源
  • 所需E币: 0
    时间: 2024-7-25 19:12
    大小: 1.53MB
    上传者: ZoLion
    MAIXBit开发板是SiPEED公司MAIX产品线的一员,基于嘉楠堪智科技的边缘智能计算芯片K210(RISC-V架构64位双核)设计的一款AIOT开发板。经典两侧排针设计,可以直接配合面包板使用,板载Type-C接口和USB-UART电路,用户可以直接通过USBType-C线连接电脑进行开发,配置128MbitFlash、LCD、DVP、MicroSD卡等接口并把所有IO引出,方便用户扩展。
  • 所需E币: 0
    时间: 2024-7-25 19:13
    大小: 1.77MB
    上传者: ZoLion
    MAIXBit开发板是SiPEED公司MAIX产品线的一员,基于嘉楠堪智科技的边缘智能计算芯片K210(RISC-V架构64位双核)设计的一款AIOT开发板。经典两侧排针设计,可以直接配合面包板使用,板载Type-C接口和USB-UART电路,用户可以直接通过USBType-C线连接电脑进行开发,配置128MbitFlash、LCD、DVP、MicroSD卡等接口并把所有IO引出,方便用户扩展。
  • 所需E币: 0
    时间: 2024-7-25 19:14
    大小: 325.28KB
    上传者: ZoLion
    MAIXBit开发板是SiPEED公司MAIX产品线的一员,基于嘉楠堪智科技的边缘智能计算芯片K210(RISC-V架构64位双核)设计的一款AIOT开发板。经典两侧排针设计,可以直接配合面包板使用,板载Type-C接口和USB-UART电路,用户可以直接通过USBType-C线连接电脑进行开发,配置128MbitFlash、LCD、DVP、MicroSD卡等接口并把所有IO引出,方便用户扩展。
  • 所需E币: 0
    时间: 2022-10-25 17:36
    大小: 13.95KB
    上传者: samewell
    STM32+K210+SD卡实现人脸识别(完整K210代码).zip