Greboca  

Planet Libre  -  Eddy33 : Maixduino : processeur RISC-V K210

 -  16 juin - 

Salut.

Le kit Maixduino de Sipeed est équipé d'un processeur RISC-V développé par la société chinoise Canaan et appelé K210 (K pour Kendryte).

Ce processeur est basé sur une architecture de jeu d'instructions (Instruction Set Architecture) libre RISC-V. Le projet RISC-V est intéressant car c'est un projet de matériel libre (open hardware) que peut implanter tout un à chacun. On vous dit bien sûr quoi faire mais pas comment le faire.

Il existe à l'heure actuelle peu de processeurs RISC-V hardcores et qui supportent Linux en plus.  On peut citer :

  • Le processeur SiFive U540 de la société SiFive qui est le premier processeur hardcore supportant Linux comportant 4+1 cœurs RISC-V 64 bits.
  • Le processeur Kendryte K210 comportant 2 cœurs RISC-V 64 bits et un processeur d'Intelligence Artificielle (IA) et supportant Linux et FreeRTOS.
  • Le microcontrôleur GD32V de la société GigaDevice.
Il existe aussi des implantations en tant que processeurs softcores. On peut citer :
  • Le projet LowRISC. On a un processeur RISC-V 64 bits. Le projet LowRISC peut tourner sur une carte FPGA Nexys 4 DDR ou A7 de Digilent et supporte Linux.

La codification d'un processeur RISC-V est normalisée. Le préfixe est RV (pour RISC-V) suivi de 32, 64 ou 128 selon la taille du processeur puis suivi de I ou E (pour Embedded). Exemple : RV32I, RV64I...

Le préfixe est suivi d'une ou plusieurs lettres décrivant les extensions rajoutées :

  • M : Standard Extension for Integer Multiplication and Division
  • A : Standard Extension for Atomic Instructions
  • F : Standard Extension for Single-Precision Floating-Point
  • D : Standard Extension for Double-Precision Floating-Point
  • G : raccourci pour MAFD
  • Q : Standard Extension for Quad-Precision Floating-Point
  • C : Standard Extension for Compressed Instructions. Instructions courtes sur 16 bits
Par exemple, le microcontrôleur GD32V est un RISC-V RV32IMAC. Le processeur K210 est un RISC-V RV64IMAFDC ou de façon plus concise un RISC-V RV64GC.

Le processeur K210 possède les fonctionnalités suivantes :


Le processeur K210 vise des applications d'IA et de traitement du son :
  • Détection d'objets
  • Classification d'images
  • Détection et reconnaissance de visages
  • Obtention de la taille et des coordonnées d'une cible en Temps Réel
  • Détection de l'orientation d'une source de son
  • Reconnaissance de la voix
  • ...

Le processeur K210 contient différents périphériques :
  • 2 coeurs RISC-V RV64GC à 400 MHz
  • 1 processeur KPU (Knowledge Processor Unit) pour l'IA et accélérateur de calcul pour un réseau de neurones convolutionnel CNN
  • 1 processeur APU (Audio Processor Unit) pour le traitement du son
  • 1 accélérateur pour les transformées de Fourier rapides FFT et IFFT sur 64, 128, 256 ou 512 points
  • Accélérateurs pour le chiffrement SHA256 et AES128, AES192 et AES256
  • 8 Mo de SRAM
  • Transferts DMA
  • Périphériques divers  : UART, GPIO, SPI, I²C, I²S, WDT, TIMER, RTC...
  • JTAG
  • ...
Les spécifications du processeur K210 sont disponibles ici (fichier kendryte_datasheet_20181011163248_en.pdf).

Des kits de développement sont disponibles pour le processeur K210 :
  • Kit Kendryte KD2333 de Canaan. Ne semble plus disponible
  • Kit Maixduino de Sipeed pour 23,90 USD
  • Kit MaixCube de Sipeed pour 24,90 USD
  • Kit Maix Go de Sipeed pour 40,90 USD
  • Kit Maix Bit Suit de Sipeed pour 20,90 USD
Il faut noter que la société Sipeed a intégré le processeur K210 dans un module qu'elle a développé : le module Maix-I.

Le module Maix-I ou M1 intègre outre le processeur K210 16 Mo de mémoire Flash et une interface Wifi (M1w à 8,90 USD) ou non (M1 à 7,90 USD). Il permet de réaliser plus facilement sur propre circuit PCB.

La figure suivante montre le module M1.

Nous verrons dans un prochain billet quels sont les environnements de développement disponibles pour le processeur K210 et donc pour le kit Maixduino.

++

Gravatar de Eddy33
Original post of Eddy33.Votez pour ce billet sur Planet Libre.

par Eddy33

Planet Libre

Le Planet sur Linux et les Logiciels Libres

Framablog : Nos plans pour PeerTube v3 : collecte perlée, du live pour cet automne

 -  26 mai - 

Nous dévoilons aujourd’hui la feuille de route des six prochains mois de développement de PeerTube. Avec votre soutien, nous voulons poursuivre les (...)


antistress : L'extension du jour : Request Blocker pour Firefox

 -  19 avril - 

Captain Extensions recommande Request Blocker Pfiou… Les gens ordinaires n'imaginent pas la difficulté d'être un super-héros. Prenez mon cas : la (...)


ephase : Wireguard et OpenWRT, le VPN facile

 -  2 avril - 

Wireguard est un logiciel et un protocole de communication pour créer un VPN en mode point à point routé ou bridgé. Il se compose d’un module noyau (...)


genma : Borg - comment s'assurer que vos serveurs ont des backups récents

 -  9 mars - 

Voir également Mes articles parlant de Borg comme outil de sauvegarde. Introduction Les réseaux sociaux ont pour principe de faire des messages (...)


Framablog : 10 bonnes raisons de fermer certains services Framasoft (la 5e est un peu bizarre…)

 -  3 mars - 

On le sait, faire le « grand ménage de printemps » c’est pas une partie de plaisir… mais c’est tellement agréable, quand c’est fait. À l’heure où (...)