【雕爷学编程】MicroPython动手做(02)——尝试搭建K210开发板的IDE环境

知识点:简单了解K210芯片

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2018年9月6日,嘉楠科技推出自主设计研发的全球首款基于RISC-V的量产商用边缘智能计算芯片勘智K210。该芯片依托于完全自主研发的AI神经网络加速器KPU,具备自主IP、视听兼具与可编程能力三大特点,能够充分适配多个业务场景的需求。作为嘉楠科技自主研发的边缘侧AI芯片,勘智K210兼具高能耗比和灵活性。在算力方面,勘智K210可在0.3W的条件下提供1TOP的算力支持,充分适配在多数业务场景中低功耗约束下的算力需求。

在芯片集成度方面,勘智K210采用视听一体化设计。在机器视觉上,芯片基于自主研发的神经网络加速器KPU,可完成基于神经网络的图像分类任务,进行人脸识别与检测,以及实时获被检测目标的分类。在听觉能力上,芯片自带APU语音处理单元,最高可支持8路音频数据及16个方向,无需占用CPU即可实现声源定向、声场成像、波束形成、语音识别与唤醒等功能。

在算法定制化方面,勘智K210在可编程能力上呈现出更高的灵活性。首先,相比ARM等架构,勘智K210采用RISC-V架构,拥有更强的可定制化能力,便于开发者根据具体应用场景定制算法。其次,芯片搭载FPIOA现场可编程IO阵列,支持TensorFlow、Keras、Darknet、PaddlePaddle和Caffe等主流AI编程框架,以及全面的开发文档,对开发者十分友好。此外,芯片内置64位双核处理器架构,分为计算核与应用核,能够为开发者提供足以应对复杂业务场景的计算资源。

在这里插入图片描述

勘智K210系统架构
K210 包含 RISC-V 64 位双核 CPU,每个核心内置独立 FPU. K210 的核心功能是机器视觉与听觉,其包含用于计算卷积人工神经网络的 KPU 与用于处理麦克风阵列输入的 APU. 同时 K210 具备快速傅里叶变换加速器,可以进行高性能复数 FFT 计算。因此对于大多数机器学习算法,K210 具备高性能处理能力。K210 内嵌 AES 与 SHA256 算法加速器,为用户提供基本安全功能。K210 拥有高性能、低功耗的 SRAM,以及功能强大的 DMA,在数据吞吐能力方面性能优异。K210 具备丰富的外设单元,分别是:DVP、JTAG、OTP、FPIOA、GPIO、UART、SPI、RTC、I²S、I²C、WDT、Timer 与 PWM,可满足海量应用场景。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
基于RISC-V开源指令集
RISC-V(读作“RISC-FIVE”)是基于精简指令集计算(RISC)原理建立的开放指令集架构(ISA),V表示为第五代RISC(精简指令集计算机),表示此前已经四代RISC处理器原型芯片。每一代RISC处理器都是在同一人带领下完成,那就是加州大学伯克利分校的David A. Patterson教授。与大多数ISA相反,RISC-V ISA可以免费地用于所有希望的设备中,允许任何人设计、制造和销售RISC-V芯片和软件。图1展示了此前的四代RISC处理器原型芯片。它虽然不是第一个开源的的指令集(ISA),但它很重要,因为它第一个被设计成可以根据具体场景可以选择适合的指令集的指令集架构。基于RISC-V指令集架构可以设计服务器CPU,家用电器cpu,工控cpu和用在比指头小的传感器中的cpu。

与大多数指令集相比,RISC-V指令集可以自由地用于任何目的,允许任何人设计、制造和销售RISC-V芯片和软件。虽然这不是第一个开源指令集,但它具有重要意义,因为其设计使其适用于现代计算设备(如仓库规模云计算机、高端移动电话和微小嵌入式系统)。设计者考虑到了这些用途中的性能与功率效率。该指令集还具有众多支持的软件,这解决了新指令集通常的弱点。该项目2010年始于加州大学伯克利分校,但许多贡献者是该大学以外的志愿者和行业工作者。RISC-V指令集的设计考虑了小型、快速、低功耗的现实情况来实做,但并没有对特定的微架构做过度的设计。截至2017年5月,RISC-V已经确立了版本2.22的用户空间的指令集(userspace ISA),而特权指令集(privileged ISA)也处在草案版本1.10。

在这里插入图片描述

RISC-V主要特色
1、 完全开源
对指令集使用,RISC-V基金会不收取高额的授权费。开源采用宽松的BSD协议,企业完全自由免费使用,同时也容许企业添加自有指令集拓展而不必开放共享以实现差异化发展。

2 、架构简单
RISC-V架构秉承简单的设计哲学。体现为:
在处理器领域,主流的架构为x86与ARM架构。x86与ARM架构的发展的过程也伴随了现代处理器架构技术的不断发展成熟,但作为商用的架构,为了能够保持架构的向后兼容性,其不得不保留许多过时的定义,导致其指令数目多,指令冗余严重,文档数量庞大,所以要在这些架构上开发新的操作系统或者直接开发应用门槛很高。而RISC-V架构则能完全抛弃包袱,借助计算机体系结构经过多年的发展已经成为比较成熟的技术的优势,从轻上路。RISC-V基础指令集则只有40多条,加上其他的模块化扩展指令总共几十条指令。 RISC-V的规范文档仅有145页,而“特权架构文档”的篇幅也仅为91页。

3、 易于移植*nix
现代操作系统都做了特权级指令和用户级指令的分离,特权指令只能操作系统调用,而用户级指令才能在用户模式调用,保障操作系统的稳定。RISC-V提供了特权级指令和用户级指令,同时提供了详细的RISC-V特权级指令规范和RISC-V用户级指令规范的详细信息,使开发者能非常方便的移植linux和unix系统到RISC-V平台。

4 、模块化设计
RISC-V架构不仅短小精悍,而且其不同的部分还能以模块化的方式组织在一起,从而试图通过一套统一的架构满足各种不同的应用场景。用户能够灵活选择不同的模块组合,来实现自己定制化设备的需要,比如针对于小面积低功耗嵌入式场景,用户可以选择RV32IC组合的指令集,仅使用Machine Mode(机器模式);而高性能应用操作系统场景则可以选择譬如RV32IMFDC的指令集,使用Machine Mode(机器模式)与User Mode(用户模式)两种模式。

5 、完整的工具链
对于设计CPU来说,工具链是软件开发人员和cpu交互的窗口,没有工具链,对软件开发人员开发软件要求很高,甚至软件开发者无法让cpu工作起来。在cpu设计中,工具链的开发是一个需要巨大工作量的工作。如果用RISC-V来设计芯片,芯片设计公司不再担心工具链问题,只需专注于芯片设计,RISC-V社区已经提供了完整的工具链,并且RISC-V基金会持续维护该工具链。当前RISC-V的支持已经合并到主要的工具中,比如编译工具链gcc, 仿真工具qemu等

6 、开源实现
BOOM: Christopher Celio的RV64乱序处理器实现。Chisel, BSD Licensed。[GitHub][Doc]
BottleRocket: RV32IMC微处理器。Chisel, Apache Licensed。 [GitHub]
bwitherspoon: RV32微处理器。SystemVerilog, ISC Licensed。[GitHub]
Clarvi: 剑桥大学教学用RISC-V处理器。SystemVerilog, BSD Licensed。[GitHub]
F32: 针对FPGA的RV32微处理器,VHDL,BSD Licensed。[GitHub]
GRVI: Gray Research LLC. 针对FPGA优化的RV32微处理器,commercial licensed。[Web]
Hummingbird E200. 二级流水线,目标替代Cortex-M0/8051, Verilog, Apache 2.0 licensed。[GitHub]
invicta: 一级流水线的RV32微处理器。Verilog,BSD Licensed。[GitHub]
Kamikaze: RV32微处理器。Verilog,MIT Liencensed。[GitHub]
KCP53000: Samuel A. Falvo II的RV64处理器实现。Verilog, MPL Licensed。[GitHub]
nanorv32: 2机流水线的RV32实现。Verilog, GPLv2 Licensed。[GitHub]
OpenV: 支持RV32的开源微处理器,Verilog,MIT Licensed,OnChipUIS,来源于哥伦比亚的Universidad Industrial de Santander。[GitHub]
ORCA: 支持RV32的开源微处理器,VHDL,BSD Licensed,VectorBlox。[Github]
PicoRV32: Clifford Wolf设计的(针对FPGA)RV32微处理器,Verilog,ISC Licensed。[GitHub]
Potato: 针对FPGA的RV32微处理器。VHDL,BSD Licensed。[GitHub]
RI5CY:支持RV32的开源微处理器
PULPino: SystemVerilog,Solderpad Licensed, 来源于苏黎世理工和博洛尼亚大学的PULP项目。[GitHub][Web]
River: GNSS Senor Ltd.基于Rocket架构开发的RV64处理器。VHDL, BSD Licensed。[GitHub]
Rocket: 支持RV64/32的开源处理器
Rocket-Chip: Chisel,BSD Licensed, Free chips project, UC Berkeley分离的开源工程。[GitHub]
Freedom: Chisel,Apache Licensed, SiFive, UC Berkeley分离的初创企业。[GitHub][Web]
lowRISC:Chisel+SystemVerilog,Solderpad Licensed, 从剑桥大学发起的非盈利组织。[GitHub][Web]
RoCC: the Rocket customized coprocessor interface 和Rocket处理器紧密互联的的协处理器接口。[BSG]
RV12: RoaLogic的RV32微处理器。Verilog, RoaLogic non-commercial Licensed。[GitHub]
SCR1: Syntacore的RV32开源微处理器。SystemVerilog,Solerpad Licensed。[GitHub]
SHAKTI:印度IIT-Madras的RISC-V处理器系列,Bluespec, BSD Licensed。[Bitbucket]
Sodor: 教学用的RISC-V处理器。Chisel, BSD Licensed。[GitHub]
uRV: 针对FPGA的RV32微处理器。Verilog,LGPLv3 Licensed.[ohwr]
VexRiscv: 用SpinalHDL编写的针对FPGA的RV32微处理器。SpinalHDL, MIT Licensed。[GitHub]
YARVI: Tommy Thorn设计的RV32I微处理器,Verilog,GPL2v Licensed。[GitHub]

6 、成功的流片案例
已经有机构和商业公司流片的案例。可关注RISC-V社区了解具体信息。

7 、社区贡献
完整的工具链维护,大量的开源项目。risc-v的google讨论组(名称:RISC-V ISA Dev)吸引各地自愿者参与讨论来不断改进risc-v架构。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

勘智K210成支持RISC-V NOMMU范本
如果谈及嵌入式领域,RISC-V或许是你绝对绕不过的一个知识点。虽然ARM依旧是移动端的霸主,但RISC-V被外界赋予了太多意义,架构本身适合于颇具前景的嵌入式开发,其免费开源的特性也在当前的国际环境中备受关注,俨然成为移动端领域的新晋网红。 RISC-V大势所趋,市场上也涌现了一些基于该架构的芯片与开发模组,例如很多开发者正在使用的勘智K210。去年底,名为Jean-Luc的资深工程师分享了将Linux5.1系统部署在K210处理器上的工作。同时,他也在文中引用了西部数据的分享,勘智K210被作为支持RISC-V NOMMU的示范列入其中。

在AI领域,神经网络属于计算密集型场景,人脸识别等算法往往会受到边缘侧应用场景的功耗限制。嘉楠表示ARM在实际计算的过程中往往会伴随大量的能耗,并不是非常经济的架构。公开资料显示,嘉楠是RISC-V联盟中前五家使用RISC-V架构的厂商之一。在勘智系列AI芯片的研发中,嘉楠使用了RISC-V RocketChip,减少了大量相关的工作量,也节省了大量的研发人力成本,以及IP授权的成本。 目前,勘智K210及其开发模组受到不少开发者的青睐,吸引了来自百度、阿里等国内顶尖AI团队的目光。例如嘉楠为百度AI开发平台PaddlePaddle定制开发模组PaddlePi-K210,打通了PaddlePaddle 模型设备端部署解决方案。开发人员不需要硬件更改,使用公版模具就可以一直做到样品阶段。在前沿项目的探索上,勘智K210兼容阿里最新TinyML算法模型,是可用于探索TinyML科研项目的RV平台。

在这里插入图片描述

新的开发板: Maixduino(高性价比的百元体验)

春节后入手了这款搭载K210芯片的AI开发板,尝试学习
号称——1TOPS算力RV64架构AIoT的开发板

在这里插入图片描述
在这里插入图片描述
Maixduino
基于MAIX模块,是用于AI + IoT应用的RISC-V 64开发板。与其他Sipeed MAIX dev不同。主板Maixduino采用Arduino Uno外形设计,板载ESP32模块和MAIX AI模块。MAIX是Sipeed专门设计的产品系列,专为在边缘运行AI而设计。将AI模型从云端移动到网络边缘的设备,在这些设备上运行速度更快,成本更低,隐私性更高。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

CPU:带FPU的双核64位RISC-V;400MHz神经网络处理器
QVGA@60FPS/VGA@30FPS图像识别
板载ESP32模块支持2.4G 802.11.b/g/n和蓝牙4.2
Arduino Uno外形,Arduino兼容接口
板载全向I[size=75%]2S数字输出MEMS麦克风
用于DVP相机的24P 0.5mm FPC连接器
8位MCU LCD 24P 0.5mm FPC连接器
基于卷积神经网络的机器视觉

在这里插入图片描述

支持自弹式micro SD卡支架
重置和启动按钮;3W DAC+PA音频输出
连接USB Type-C电缆以完成下载
用于机器听觉的高性能麦克风阵列处理器
支持MaixPy IDE、Arduino IDE、OpenMV IDE和PlatformIO IDE
支持Tiny-Yolo、Mobilenet和TensorFlow Lite,用于深度学习

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/54655.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

快速搭建Vue项目

1.安装node环境 下载地址为:https://nodejs.org/en/ 注意node版本问题,有很多情况下是node版本问题导致的错误。 2.安装淘宝镜像cnpm 为了提高我们的效率,可以使用淘宝的镜像:http://npm.taobao.org/ npm install cnpm -g --r…

PostgreSQL Patroni_exporter 监控 patroni高可用工具

Patroni是Cybertec公司基于python语言开发的,可用于使用流复制来创建,管理,维护和监视高可用性PostgreSQL集群设置的工具。 目前,PatroniEtcd 是最为推荐的PostgreSQL数据库高可用方案之一。 PostgreSQL有postgres_exporter监控采…

华为OD机试真题 JavaScript 实现【小朋友排队】【2023 B卷 100分】,附详细解题思路

目录 一、题目描述二、输入描述三、输出描述四、解题思路五、JavaScript算法源码六、效果展示1、输入2、输出 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试&am…

uC-OS2 V2.93 STM32L476 移植:环境搭建篇

前言 uC-OS2 是比较经典的 RTOS,如今软件授权已经改为 Apache License Version 2.0,意味着可以免费商用了 当前 uC-OS2 的最新版本是: V2.93,打算研究一下 RTOS 的设计思想,所以想在已有的开发板:NUCLEO-L…

WAVE SUMMIT 定档8月16日,或将曝百度飞桨、文心大模型最新进展

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

【LeetCode 75】第十七题(1493)删掉一个元素以后全为1的最长子数组

目录 题目: 示例: 分析: 代码运行结果: 题目: 示例: 分析: 给一个数组,求删除一个元素以后能得到的连续的最长的全是1的子数组。 我们可以先单独统计出连续为1的子数组分别长度…

Vue3--->组合式API与Pinia

目录 使用create-vue搭建 1、使用create-vue创建项目 2、项目目录和关键文件 组合式API 1、组合式API - setup选项 2、组合式API - reactive和ref函数 3、组合式API - computed 4、组合式API - watch 1、基础使用 - 侦听单个数据 2、基础使用 - 侦听多个数据 3、immediate&…

【单片机】温控系统参数辨识及单片机PID控制

温控系统参数辨识及单片机PID控制 1. 温控系统组成2. matlab辨识系统参数2.1 采集阶跃响应信号导入matlab系统辨识模块 PID控制 1. 温控系统组成 半导体制冷片正向通电制冷,反向通电制热。系统采用半导体制冷片(帕尔贴)作为执行单元&#xf…

WilliamNing - 电脑办公环境 - 以及个人工作/开发习惯 - Windows/Mac

主要是记录个人的办公环境习惯,方便到新的环境,快速搭建自己熟悉的环境,从而提高工作效率 1. Windows 深圳客友 腾讯外包 家里电脑 TBD 2. Mac SeekAsia[深圳就业网络] Kumu[成都脑海科技] 2.1 桌面软件列表 后调整 -- 加了一些软件 同时…

组件化、跨平台…未来前端框架将如何演进?

前端框架在过去几年间取得了显著的进步和演进。前端框架也将继续不断地演化,以满足日益复杂的业务需求和用户体验要求。从全球web发展角度看,框架竞争已经从第一阶段的前端框架之争(比如Vue、React、Angular等),过渡到…

BUG分析以及BUG定位

一般来说bug大多数存在于3个模块: 1、前台界面,包括界面的显示,兼容性,数据提交的判断,页面的跳转等等,这些bug基本都是一眼可见的,不太需要定位,当然也不排除一些特殊情况&#xf…

随笔03 考研笔记整理

图源:文心一言 上半年的考研类博文整理,因为真的花费了很多时间才写好,所以设置为仅关注我的伙伴可以查看~🥝🥝 第1版:整理博文~🧩🧩 第2版:博文链接提前,方…

Vector - CAPL - 诊断模块函数(设置和获取)

目录 CanTpGetRxIdentifier CanTpGetTxIdentifier CanTpSetRxIdentifier CanTpSetTxIdentifier 代码示例 CanTpGetPadding & CanTpSetPadding 代码示例 CanTpGetAcceptOtherMode & CanTpSetAcceptOtherMode 代码示例 对于使用OSEK.dll文件调用发送诊断数据和接…

【element-plus】 table表格每行圆角解决方案 element也通用

系列文章目录 【Vue3ViteTselement-plus】使用tsx实现左侧栏菜单无限层级封装 前言 我们在使用element-plus或element 的table时是否有时UI给到的UI效果是如下面这样的,但是我们翻遍了组件库的文档 调整了很多次样式 发现在 左右侧栏固定的时候 普通的方法是完全…

基于小程序+spring boot流浪动物救助系统-计算机毕设 附源码12783

小程序spring boot流浪动物救助系统 摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,流浪动物救助系统被用…

音视频技术开发周刊 | 304

每周一期,纵览音视频技术领域的干货。 新闻投稿:contributelivevideostack.com。 更强的Llama 2开源,可直接商用:一夜之间,大模型格局变了 Meta 终于发布了大家期待已久的免费可商用版本 Llama 2。 6000份问卷透露出AI…

Diffusion扩散模型学习3——Stable Diffusion结构解析-以图像生成图像(图生图,img2img)为例

Diffusion扩散模型学习3——Stable Diffusion结构解析-以图像生成图像(图生图,img2img)为例 学习前言源码下载地址网络构建一、什么是Stable Diffusion(SD)二、Stable Diffusion的组成三、img2img生成流程1、输入图片编…

如何获取微信公众号关注主页地址

1,首先。在公众号后台发布一篇文章,(文章也可以关注公众号) 2,浏览器打开文章地址 。在页面找到_biz码 3,https://mp.weixin.qq.com/mp/profile_ext?actionhome&__bizxxxxx&scene110#wechat_redi…

减轻 PWM 的滤波要求

经典脉宽调制器 (PWM) 发出 H 个连续逻辑高电平(1),后跟 L 个连续逻辑低电平(0)的重复序列。每个高电平和低电平持续一个时钟周期 T 1/F (Hz)。结果的占空比可定义为 H/N,其中 N HL 时钟周期。N 通常是 2…

谷粒商城第六天-商品服务之分类管理下的获取三级分类树形列表

目录 一、总述 1.1 前端思路 1.2 后端思路 二、前端部分 2.1 在网页中建好目录及菜单 2.1.1 建好商品目录 2.1.2 建好分类管理菜单 ​编辑 2.2 编写组件 2.2.1 先完成组件文件的创建 2.2.2 编写组件 2.2.2.1 显示三级分类树形列表 三、后端部分 3.1 编写商品分类…