Nous avons déjà examiné le Rockchip RK3568-power Youyeetoo YY3568 SBC avec Android 11 – et répertorié les spécifications et vérifié le kit matériel – dans la première partie de l’examen. Nous avons maintenant eu le temps de passer à Lubuntu 20.04, d’effectuer quelques tests de base et d’examiner de plus près le SDK AI RKNPU2 pour l’accélérateur IA TOPS 0.8 intégré trouvé dans le SoC Rockchip RK3568.
Installer Ubuntu ou Debian sur YY3568 SBC
La société fournit des images Debian et Ubuntu pour le SBC YY3568 avec des images différentes en fonction du périphérique de démarrage (carte SD ou flash eMMC) et de l’interface vidéo utilisée (DSI, eDP, HDMI).


Notre kit YY3568 « Bundle 5 » est livré avec un écran eDP de 11,6 pouces, nous allons donc sélectionner l’image « Ubuntu 20 » avec edp dans le nom de fichier. Le programme RKDevTool est utilisé pour flasher des images Linux et c’est la même procédure que celle que nous avons utilisée avec Android 11.
Une fois l’installation terminée, nous pouvons appuyer sur le bouton Réinitialiser et démarrer Ubuntu 20.04, ou plus exactement Lubuntu 20.04 avec l’environnement de bureau LXQt.

Analyse comparative du SBC YY3568 sous Linux
Maintenant que Lubuntu 20.04 est correctement installé, nous pouvons exécuter quelques tests Linux sur le SBC YY3568.
Nous allons commencer par le script sbc-bench.sh de Thomass Kaiser :
petit membre, ramlat, mhz. Fait. Vérification de cpufreq OPP. Terminé (les résultats seront disponibles dans 10 à 16 minutes). Exécution de tinymembench. Fait. Exécution du testeur de latence RAM. Fait. Exécution du benchmark OpenSSL. Fait. Exécution d’un benchmark 7-zip. Fait. Vérification à nouveau de cpufreq OPP. Terminé (13 minutes se sont écoulées). Validation des résultats : * Vitesse d’horloge maximale du processeur annoncée par rapport à celle mesurée : -5,4 % avant, -6,4 % après * Activité en arrière-plan (% système) OK * Pas de limitation Performances de la mémoire mémoire : 3 074,9 Mo/s memset : 5 942,3 Mo/s Total 7 zip scores (3 exécutions consécutives) : 4496,4437,4431, monothread : 1211 Résultats OpenSSL : tapez 16 octets 64 octets 256 octets 1024 octets 8192 octets 16384 octets aes-128-cbc 178431,77k 520431,64k 992779,52k 12 88375,30k 1411738,28k 1420580,18 k aes-128-cbc 181153,17k 521213,70k 994408,62k 1288928,94k 1410916,35k 1421082,62k aes-192-cbc 172219,92k 460495,64k 802809,26k 990434,99k 1061336,41k 1067149,99k aes-192-cbc 172259,37k 460785,32k 802708,99k 990319,62k 1060656,47k 1066183,34k aes-256-cbc 165998,18k 424880,55k 694931,71k 826145,11k 872235,01k 875752,11k aes-256-cbc 165966,50k 424769,43k 694 433,88k 826590,55k 872420,69k 875724,80k
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
petit membre, ramlat, mhz. Fait. Vérification de cpufreq OPP. Terminé (les résultats seront disponibles dans 10 à 16 minutes). Exécution de tinymembench. Fait. Exécution du testeur de latence RAM. Fait. Exécution du benchmark OpenSSL. Fait. Exécution d’un benchmark 7-zip. Fait. Vérification à nouveau de cpufreq OPP. Terminé (13 minutes se sont écoulées). Validation des résultats : * Vitesse d’horloge maximale du processeur annoncée par rapport à celle mesurée : -5,4 % avant, -6,4 % après * Activité en arrière-plan (% système) OK * Pas de limitation Performances de la mémoire mémoire : 3074,9 Mo/s jeu de mémoires : 5 942,3 Mo/s Scores totaux 7-zip (3 exécutions consécutives) : 4496,4437,4431, monothread : 1211 Résultats OpenSSL : tapez 16 octets 64 octets 256 octets 1024 octets 8192 octets 16384 octets aes-128-cbc 178431,77k 520431,64k 992779,52k 1288375,30k 1411738,28k 1420580,18k aes-128-cbc 181153,17k 521213,70k 994408,62k 1288928,94k 1410916,35k 1421082,62k aes-192-cbc 172219,92k 460495,64k 802809,26k 990434,99k 1061336,41k 1067149,99k aes-192-cbc 172259,37k 460785,32k 802708,99k 990319,62k 1060656,47k 1066183,34k aes-256-cbc 165998,18k 424880,55k 694931,71k 826145,11k 872235,01k 875752,11k aes-256-cbc 165966,50k 424769,43k 694433,88k 826590,55k 872420,69k 875724,80k |
Vous pouvez trouver tous les détails @ http://ix.io/4Ga2
Nous avons ensuite utilisé iozone de Phoronix Test Suite pour tester les vitesses de lecture et d’écriture du flash eMMC. Avec une taille de fichier de 512 Mo et une taille de bloc de 1 Mo, iozone a signalé une vitesse de lecture de 1190,83 Mo/sec, ce qui ne semble pas réaliste :
IOzone 3.465 : pts/iozone-1.9.6 [Record Size: 1MB – File Size: 512MB – Disk Test: Read Performance]
Test 1 sur 8 Statut du profil de test : obsolète Nombre estimé d’exécutions d’essai : 3 Durée d’exécution du test estimée : 20 minutes Taille d’enregistrement : 1 Mo – Taille du fichier : 512 Mo – Test de disque : Performances de lecture : 1068.0517578125 1322.853515625 1323.724609375 1251.857421875 1277.0 048828125 1307.0283203125 1366.4228515625 1238.892578125 1197.197265625 999.79296875 1297.1181640625 1060.5302734375 979.6884765625 1058.6123046875 1113.677734375 Moyenne : 1 190,83 Mo/s Écart : 11,01 % Échantillons : 15 Comparaison de 1 716 échantillons OpenBenchmarking.org depuis le 26 février 2011 au 2 Août ; résultat médian : 4716 Mo/s. Boîte à moustaches d’échantillons :
[ |—*——–###########!######*####—*—-*————-*—-*–| ]
^ Ce résultat (6e centile) : 1191 Base de données de 512 Go : 5833 ^ 240 Go DELLBOSS VD : 11355 ^ 480 Go SAMSUNG MZ7LH480 : 10579 ^ 2 x 250 Go Samsung SSD 850 : 8195 ^ 5 x 500 Go Crucial_CT500MX2 : 7346 ^
1 2 3 4 5 6 7 8 9 dix 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 |
IOzone 3.465 : pts/iozone-1.9.6 [Record Size: 1MB – File Size: 512MB – Disk Test: Read Performance] Test 1 sur 8 Statut du profil de test : obsolète Nombre estimé d’essais : 3 Durée estimée du test : 20 minutes Taille de l’enregistrement : 1 Mo – Taille du fichier : 512 Mo – Test du disque : Performances de lecture : 1068.0517578125 1322.853515625 1323.724609375 1251.857421875 1277.0048828125 1307.0283203125 1366.4228515625 1238.892578125 1197.197265625 999.79296875 1297.1181640625 1060.5302734375 979.6884765625 1058.6123046875 1113.677734375 Moyenne : 1 190,83 Mo/s Écart : 11,01 % Échantillons : 15 Comparaison de 1 716 échantillons OpenBenchmarking.org depuis le 26 février 2011 au 2 août ; résultat médian : 4716 Mo/s. Boîte à moustaches d’échantillons : [ |—*——–###########!######*####—*—-*————-*—-*–| ] ^ Ce résultat (6e centile) : 1191 Base de données de 512 Go : 5833 ^ Disque vidéo DELLBOSS de 240 Go : 11355 ^ 480 Go SAMSUNG MZ7LH480 : 10579 ^ 2 SSD Samsung 850 : 8195 de 250 Go ^ 5 x 500 Go Crucial_CT500MX2 : 7346 ^ |
Ce résultat est clairement dû à la mise en cache, nous avons donc répété le test directement avec iozone en utilisant le paramètre I pour permettre à « DIRECT IO » de contourner le cache tampon et d’accéder directement au disque :
root@smartfly:/# iozone -e -I -a -s 512M -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone : test de performances de la version d’E/S de fichier $Révision : 3,489 $ Compilé pour 64 bits mode. Version : Linux Début de l’exécution : mercredi 20 septembre 15:24:27 2023 Inclure fsync dans le timing d’écriture Fonctionnalité O_DIRECT activée Mode automatique Taille de fichier définie sur 524 288 Ko Taille d’enregistrement 1 024 Ko Taille d’enregistrement 16 384 Ko Ligne de commande utilisée : iozone -e -I -a -s 512M -r 1024k -r 16384k -i 0 -i 1 -i 2 La sortie est en ko/sec. Résolution temporelle = 0,000001 seconde. Taille du cache du processeur définie sur 1 024 Ko. Taille de la ligne de cache du processeur définie sur 32 octets. Taille de foulée du fichier définie sur 17 * taille d’enregistrement. aléatoire aléatoire bkwd enregistrement foulée ko reclen écriture réécriture lecture relecture lecture écriture lecture réécriture lecture fwrite frewrite fread freread 524288 1024 87888 89372 112574 113474 113612 85778 524288 16384 98887 95894 152500 1535 58 153118 100792 Test iozone terminé.
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
root@smartfly:/# iozone -e -I -a -s 512M -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone : test de performances des E/S de fichiers Version $Révision : 3.489 $ Compilé pour le mode 64 bits. Version : Linux Début de la course : mercredi 20 septembre 15:24:27 2023 Inclure fsync dans le timing d’écriture Fonctionnalité O_DIRECT activée Mode automatique Taille du fichier définie sur 524 288 Ko Taille de l’enregistrement 1024 Ko Taille de l’enregistrement 16 384 Ko Ligne de commande utilisée : iozone -e -I -a -s 512M -r 1024k -r 16384k -i 0 -i 1 -i 2 La sortie est en kilo-octets/s Résolution temporelle = 0,000001 seconde. Taille du cache du processeur définie sur 1 024 Ko. Taille de la ligne de cache du processeur définie sur 32 octets. Taille de foulée du fichier définie sur 17 * taille d’enregistrement. aléatoire aléatoire bkwd foulée record ko reclen écrire réécrire lire relire lire écrire lire réécrire lire fécrire freécrire fread freread 524288 1024 87888 89372 112574 113474 113612 85778 524288 16384 98887 95894 152500 153558 153118 100792 Test d’iozone terminé. |
Cela représente une vitesse de lecture d’environ 153,5 Mo/s et une vitesse d’écriture de 98,8 Mo/s, donc le flash eMMC de 64 Go utilisé dans la carte est plutôt rapide.
Performances réseau
Nous testerons les performances des réseaux Ethernet et WiFi avec iperf3 en utilisant le routeur fourni par AIS (un opérateur télécom en Thaïlande)
La carte YY3568 dispose de deux interfaces Ethernet. Commençons par eth0 :
root@smartfly:/# iperf3 -c 192.168.1.162 -fg Connexion à l’hôte 192.168.1.162, port 5201
[ 5] port local 192.168.1.131 39516 connecté au port 192.168.1.162 5201
[ ID] Retr Cwnd de débit binaire de transfert d’intervalle
[ 5] 0,00-1,00 s 113 Mo 0,95 Gbits/s 0 451 Ko
[ 5] 1,00-2,00 s 113 Mo 0,95 Gbits/s 0 477 Ko
[ 5] 2,00-3,00 s 112 Mo 0,94 Gbits/s 0 477 Ko
[ 5] 3,00-4,00 s 112 Mo 0,94 Gbits/s 0 499 Ko
[ 5] 4,00-5,00 s 112 Mo 0,94 Gbits/s 0 525 Ko
[ 5] 5,00-6,00 s 113 Mo 0,94 Gbits/s 0 525 Ko
[ 5] 6,00-7,00 s 112 Mo 0,94 Gbits/s 0 525 Ko
[ 5] 7,00-8,00 s 113 Mo 0,95 Gbits/s 0 549 Ko
[ 5] 8,00-9,00 s 112 Mo 0,94 Gbits/s 0 549 Ko
[ 5] 9,00-10,00 s 112 Mo 0,94 Gbits/s 0 549 Ko – – – – – – – – – – – – – – – – – – – – – – – –
[ ID] Retrait du débit binaire de transfert par intervalle
[ 5] 0,00-10,00 s 1,10 Go 0,94 Gbits/s 0 expéditeur
[ 5] 0,00-10,04 sec 1,10 Go 0,94 Gbits/sec iperf du récepteur Terminé.
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 |
root@smartfly:/# iperf3 -c 192.168.1.162 -fg Connexion à l’hôte 192.168.1.162, port 5201 [ 5] port local 192.168.1.131 39516 connecté au port 192.168.1.162 5201 [ ID] Retr Cwnd de débit binaire de transfert d’intervalle [ 5] 0,00-1,00 s 113 Mo 0,95 Gbits/s 0 451 Ko [ 5] 1,00-2,00 s 113 Mo 0,95 Gbits/s 0 477 Ko [ 5] 2,00-3,00 s 112 Mo 0,94 Gbits/s 0 477 Ko [ 5] 3,00-4,00 s 112 Mo 0,94 Gbits/s 0 499 Ko [ 5] 4,00-5,00 s 112 Mo 0,94 Gbits/s 0 525 Ko [ 5] 5,00-6,00 s 113 Mo 0,94 Gbits/s 0 525 Ko [ 5] 6,00-7,00 s 112 Mo 0,94 Gbits/s 0 525 Ko [ 5] 7,00-8,00 s 113 Mo 0,95 Gbits/s 0 549 Ko [ 5] 8,00-9,00 s 112 Mo 0,94 Gbits/s 0 549 Ko [ 5] 9h00-10h00 s 112 Mo 0,94 Gbits/s 0 549 Ko – – – – – – – – – – – – – – – – – – – – – – – – [ ID] Retrait du débit binaire de transfert par intervalle [ 5] 0,00-10,00 s 1,10 Go 0,94 Gbits/s 0 expéditeur [ 5] 0,00-10,04 s 1,10 Go Récepteur 0,94 Gbits/s iperf Terminé. |
Tout va bien, et la même chose peut être dite lors de l’exécution du test sur Eth1 :
root@smartfly:/# iperf3 -c 192.168.1.162 -fg Connexion à l’hôte 192.168.1.162, port 5201
[ 5] port local 192.168.1.134 54100 connecté au port 192.168.1.162 5201
[ ID] Retr Cwnd de débit binaire de transfert d’intervalle
[ 5] 0,00-1,00 s 113 Mo 0,95 Gbits/s 0 451 Ko
[ 5] 1,00-2,00 s 112 Mo 0,94 Gbits/s 0 520 Ko
[ 5] 2,00-3,00 s 113 Mo 0,95 Gbits/s 0 520 Ko
[ 5] 3,00-4,00 s 112 Mo 0,94 Gbits/s 0 547 Ko
[ 5] 4,00-5,00 s 113 Mo 0,94 Gbits/s 0 547 Ko
[ 5] 5,00-6,00 s 112 Mo 0,94 Gbits/s 0 547 Ko
[ 5] 6,00-7,00 s 112 Mo 0,94 Gbits/s 0 547 Ko
[ 5] 7,00-8,00 s 112 Mo 0,94 Gbits/s 0 547 Ko
[ 5] 8,00-9,00 s 112 Mo 0,94 Gbits/s 0 547 Ko
[ 5] 9,00-10,00 s 112 Mo 0,94 Gbits/s 0 547 Ko – – – – – – – – – – – – – – – – – – – – – – – –
[ ID] Retrait du débit binaire de transfert par intervalle
[ 5] 0,00-10,00 s 1,10 Go 0,94 Gbits/s 0 expéditeur
[ 5] 0,00-10,04 s 1,10 Go Récepteur 0,94 Gbits/s
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 |
root@smartfly:/# iperf3 -c 192.168.1.162 -fg Connexion à l’hôte 192.168.1.162, port 5201 [ 5] port local 192.168.1.134 54100 connecté au port 192.168.1.162 5201 [ ID] Retr Cwnd de débit binaire de transfert d’intervalle [ 5] 0,00-1,00 s 113 Mo 0,95 Gbits/s 0 451 Ko [ 5] 1,00-2,00 s 112 Mo 0,94 Gbits/s 0 520 Ko [ 5] 2,00-3,00 s 113 Mo 0,95 Gbits/s 0 520 Ko [ 5] 3,00-4,00 s 112 Mo 0,94 Gbits/s 0 547 Ko [ 5] 4,00-5,00 s 113 Mo 0,94 Gbits/s 0 547 Ko [ 5] 5,00-6,00 s 112 Mo 0,94 Gbits/s 0 547 Ko [ 5] 6,00-7,00 s 112 Mo 0,94 Gbits/s 0 547 Ko [ 5] 7,00-8,00 s 112 Mo 0,94 Gbits/s 0 547 Ko [ 5] 8,00-9,00 s 112 Mo 0,94 Gbits/s 0 547 Ko [ 5] 9h00-10h00 s 112 Mo 0,94 Gbits/s 0 547 Ko – – – – – – – – – – – – – – – – – – – – – – – – [ ID] Retrait du débit binaire de transfert par intervalle [ 5] 0,00-10,00 s 1,10 Go 0,94 Gbits/s 0 expéditeur [ 5] 0,00-10,04 s 1,10 Go Récepteur 0,94 Gbits/s |
Nous avons utilisé le réseau 5 GHz du routeur AIS pour tester le WiFi 5 (module RTL8822CE) et la vitesse moyenne de transmission des données était respectable de 575 Mbps.
root@smartfly:/# iperf3 -c 192.168.1.162 -fm Connexion à l’hôte 192.168.1.162, port 5201
[ 5] port local 192.168.1.124 39890 connecté au port 192.168.1.162 5201
[ ID] Retr Cwnd de débit binaire de transfert d’intervalle
[ 5] 0,00-1,01 s 51,5 Mo 427 Mbits/s 0 2,67 Mo
[ 5] 1,01-2,00 s 72,5 Mo 614 Mbits/s 0 3,13 Mo
[ 5] 2,00-3,00 s 73,8 Mo 620 Mbits/s 0 3,13 Mo
[ 5] 3,00-4,00 s 73,8 Mo 619 Mbits/s 0 3,13 Mo
[ 5] 4,00-5,01 s 71,2 Mo 591 Mbits/s 0 3,13 Mo
[ 5] 5,01-6,01 s 70,0 Mo 590 Mbits/s 0 3,13 Mo
[ 5] 6,01-7,00 s 71,2 Mo 602 Mbits/s 0 3,13 Mo
[ 5] 7,00-8,00 s 72,5 Mo 608 Mbits/s 0 3,13 Mo
[ 5] 8,00-9,00 s 73,8 Mo 616 Mbits/s 0 3,13 Mo
[ 5] 9,00-10,01 s 61,2 Mo 509 Mbits/s 0 3,13 Mo – – – – – – – – – – – – – – – – – – – – – – – –
[ ID] Retrait du débit binaire de transfert par intervalle
[ 5] 0,00-10,01 s 692 Mo 579 Mbits/s 0 expéditeur
[ 5] 0,00-10,08 s 691 Mo Récepteur 575 Mbits/s
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 |
root@smartfly:/# iperf3 -c 192.168.1.162 -fm Connexion à l’hôte 192.168.1.162, port 5201 [ 5] port local 192.168.1.124 39890 connecté au port 192.168.1.162 5201 [ ID] Retr Cwnd de débit binaire de transfert d’intervalle [ 5] 0,00-1,01 s 51,5 Mo 427 Mbits/s 0 2,67 Mo [ 5] 1,01-2,00 s 72,5 Mo 614 Mbits/s 0 3,13 Mo [ 5] 2,00-3,00 s 73,8 Mo 620 Mbits/s 0 3,13 Mo [ 5] 3,00-4,00 s 73,8 Mo 619 Mbits/s 0 3,13 Mo [ 5] 4,00-5,01 s 71,2 Mo 591 Mbits/s 0 3,13 Mo [ 5] 5,01-6,01 s 70,0 Mo 590 Mbits/s 0 3,13 Mo [ 5] 6,01-7,00 s 71,2 Mo 602 Mbits/s 0 3,13 Mo [ 5] 7,00-8,00 s 72,5 Mo 608 Mbits/s 0 3,13 Mo [ 5] 8,00-9,00 s 73,8 Mo 616 Mbits/s 0 3,13 Mo [ 5] 9h00-10h01 s 61,2 Mo 509 Mbits/s 0 3,13 Mo – – – – – – – – – – – – – – – – – – – – – – – – [ ID] Retrait du débit binaire de transfert par intervalle [ 5] 0,00-10,01 s 692 Mo 579 Mbits/s 0 expéditeur [ 5] 0,00-10,08 s 691 Mo Récepteur 575 Mbits/s |
La mise en réseau fonctionne donc bien sur le SBC YY3568 avec Ethernet ou WiFi 5
Accélération graphique 3D sur Rockchip RK3568
Nous avons testé les performances du GPU Mali-G52 avec le benchmark glmark2, le système obtenant 115 points.
=================================================== ===== glmark2 2021.02 ============================================ ============ Informations OpenGL GL_VENDOR : ARM GL_RENDERER : Mali-G52 GL_VERSION : OpenGL ES 3.2 v1.g2p0-01eac0.327c41db9c110a33ae6f67b4cc0581c7 ================ ========================================
[build] use-vbo=false : FPS : 116 FrameTime : 8,621 ms
[build] use-vbo=true : FPS : 126 FrameTime : 7,937 ms
[texture] texture-filter=le plus proche : FPS : 156 FrameTime : 6,410 ms
[texture] texture-filter=linéaire : FPS : 150 FrameTime : 6,667 ms
[texture] texture-filter=mipmap : FPS : 157 FrameTime : 6,369 ms
[shading] shading=gouraud : FPS : 123 FrameTime : 8,130 ms
[shading] shading=blinn-phong-inf : FPS : 119 FrameTime : 8,403 ms
[shading] shading=phong : FPS : 122 FrameTime : 8,197 ms
[shading] shading=cel : FPS : 122 FrameTime : 8,197 ms
[bump] bump-render=high-poly : FPS : 91 FrameTime : 10,989 ms
[bump] bump-render=normals : FPS : 151 FrameTime : 6,623 ms
[bump] bump-render=hauteur : FPS : 147 FrameTime : 6,803 ms
[effect2d] noyau=0,1,0;1,-4,1;0,1,0; : FPS : 125 FrameTime : 8 000 ms
[effect2d] noyau = 1,1,1,1,1;1,1,1,1,1;1,1,1,1,1; : FPS : 70 FrameTime : 14,286 ms
[pulsar] light=false:quads=5:texture=false : FPS : 147 FrameTime : 6,803 ms
[desktop] Blur-radius=5:effect=blur:passes=1:separable=true:windows=4 : FPS : 78 FrameTime : 12,821 ms
[desktop] effect=shadow:windows=4 : FPS : 125 FrameTime : 8 000 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map : FPS : 55 FrameTime : 18,182 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata : FPS : 52 FrameTime : 19,231 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map : FPS : 73 FrameTime : 13,699 ms
[ideas] vitesse=durée : FPS : 74 FrameTime : 13,514 ms
[jellyfish]
[terrain]
[shadow]
[refract]
[conditionals] fragment-steps=0:vertex-steps=0 : FPS : 147 FrameTime : 6,803 ms
[conditionals] fragment-steps=5:vertex-steps=0 : FPS : 144 FrameTime : 6,944 ms
[conditionals] fragment-steps=0:vertex-steps=5 : FPS : 149 FrameTime : 6,711 ms
[function] fragment-complexity=low:fragment-steps=5 : FPS : 147 FrameTime : 6,803 ms
[function] fragment-complexity=medium:fragment-steps=5 : FPS : 129 FrameTime : 7,752 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5 : FPS : 144 FrameTime : 6,944 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5 : FPS : 146 FrameTime : 6,849 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5 : FPS : 131 FrameTime : 7,634 ms ========================== ============================== Score glmark2 : 115 ================ ========================================
1 2 3 4 5 6 7 8 9 dix 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 |
=================================================== ===== glmark2 2021.02 =================================================== ===== Informations OpenGL GL_VENDOR : BRAS GL_RENDERER : Mali-G52 GL_VERSION : OpenGL ES 3.2 v1.g2p0-01eac0.327c41db9c110a33ae6f67b4cc0581c7 =================================================== ===== [build] use-vbo=false : FPS : 116 FrameTime : 8,621 ms [build] use-vbo=true : FPS : 126 FrameTime : 7,937 ms [texture] texture-filter=le plus proche : FPS : 156 FrameTime : 6,410 ms [texture] texture-filter=linéaire : FPS : 150 FrameTime : 6,667 ms [texture] texture-filter=mipmap : FPS : 157 FrameTime : 6,369 ms [shading] shading=gouraud : FPS : 123 FrameTime : 8,130 ms [shading] shading=blinn-phong-inf : FPS : 119 FrameTime : 8,403 ms [shading] shading=phong : FPS : 122 FrameTime : 8,197 ms [shading] shading=cel : FPS : 122 FrameTime : 8,197 ms [bump] bump-render=high-poly : FPS : 91 FrameTime : 10,989 ms [bump] bump-render=normals : FPS : 151 FrameTime : 6,623 ms [bump] bump-render=hauteur : FPS : 147 FrameTime : 6,803 ms [effect2d] noyau=0,1,0;1,-4,1;0,1,0; : FPS : 125 FrameTime : 8 000 ms [effect2d] noyau = 1,1,1,1,1;1,1,1,1,1;1,1,1,1,1; : FPS : 70 FrameTime : 14,286 ms [pulsar] light=false:quads=5:texture=false : FPS : 147 FrameTime : 6,803 ms [desktop] Blur-radius=5:effect=blur:passes=1:separable=true:windows=4 : FPS : 78 FrameTime : 12,821 ms [desktop] effect=shadow:windows=4 : FPS : 125 FrameTime : 8 000 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map : FPS : 55 FrameTime : 18,182 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata : FPS : 52 FrameTime : 19,231 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map : FPS : 73 FrameTime : 13,699 ms [ideas] vitesse=durée : FPS : 74 FrameTime : 13,514 ms [jellyfish] [terrain] [shadow] [refract] [conditionals] fragment-steps=0:vertex-steps=0 : FPS : 147 FrameTime : 6,803 ms [conditionals] fragment-steps=5:vertex-steps=0 : FPS : 144 FrameTime : 6,944 ms [conditionals] fragment-steps=0:vertex-steps=5 : FPS : 149 FrameTime : 6,711 ms [function] fragment-complexity=low:fragment-steps=5 : FPS : 147 FrameTime : 6,803 ms [function] fragment-complexity=medium:fragment-steps=5 : FPS : 129 FrameTime : 7,752 ms [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5 : FPS : 144 FrameTime : 6,944 ms [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5 : FPS : 146 FrameTime : 6,849 ms [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5 : FPS : 131 FrameTime : 7,634 ms =================================================== ===== glmark2 Note : 115 =================================================== ===== |
Le score est un peu faible, mais l’accélération matérielle graphique 3D est activée.
Lecture vidéo et audio
Nous avons visionné des vidéos YouTube pour tester la lecture vidéo et audio. La carte Youyeetoo YY3568 dispose de plusieurs options de sortie audio, notamment une prise audio 3,5 mm et un connecteur avec un amplificateur de puissance mono classe D pour connecter directement les haut-parleurs. Nous n’avons eu aucun problème de lecture vidéo et audio et tout a bien fonctionné. Cela devrait être une plate-forme appropriée pour les applications d’affichage numérique.

Le court clip vidéo ci-dessus montre une vidéo YouTube diffusée dans le navigateur Web Chromium.
Vérification du SDK RKNPU2 pour la charge de travail IA sur le SoC Rockchip RK3568
RKNN-Toolkit2 est un kit de développement logiciel (SDK) pour la charge de travail d’IA exécutée sur les SoC Rockchip récents avec un NPU, à savoir RK3566, RK3568, RK3588, RK3588S, RV1103, RV1106, RK3562).
Il y a deux parties pour commencer
- Prendre des modèles pré-entraînés et les convertir en modèles RKNN à l’aide des outils de https://github.com/rockchip-linux/rknn-toolkit2
- Utilisation du modèle transformé via le RKNPU2 disponible sur https://github.com/rockchip-linux/rknpu2
Installation
Dans cette test, nous montrerons comment déployer le modèle YOLO5 converti via rknn-toolkit2. Construisons l’exemple RKNPU2 pour le processeur Rockchip RK3568 :
root @ smartfly: / # cd / home / youyeetoo / rknpu2 / exemples / rknn_yolov5_demo root @ smartfly: / home / youyeetoo / rknpu2 / exemples / rknn_yolov5_demo # les build-android_rk3562 568. sh CMakeLists.txt README.md build-android_RK3588.sh convert_rknn_demo src build-linux_RK3562.sh inclut les utils build-linux_RK3566_RK3568.sh modèle
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
root@smartfly:/# cd /home/youyeetoo/rknpu2/examples/rknn_yolov5_demo root@smartfly:/home/youyeetoo/rknpu2/examples/rknn_yolov5_demo# ls build-android_RK3562.sh build-linux_RK3588.sh README_CN.md build-android_RK3566_RK3568.sh CMakeLists.txt README.md build-android_RK3588.sh convert_rknn_demo src build-linux_RK3562.sh inclut des utilitaires modèle build-linux_RK3566_RK3568.sh <2/examples/rknn_yolov5_demo# ./build-linux_RK3566_RK3568.sh — L’identification du compilateur C est GNU 9.4.0 — L’identification du compilateur CXX est GNU 9.4.0 — Vérifiez que le compilateur C fonctionne : /usr/bin/aarch64-linux-gnu-gcc — Vérifiez que le compilateur C fonctionne : /usr/bin/aarch64-linux-gnu-gcc — fonctionne — Détection des informations ABI du compilateur C — Détection des informations ABI du compilateur C – terminé — Détection des fonctionnalités de compilation C — Détection des fonctionnalités de compilation C – terminé — Vérifiez que le compilateur CXX fonctionne : /usr/bin/aarch64-linux-gnu-g++ — Vérifiez que le compilateur CXX fonctionne : /usr/bin/aarch64-linux-gnu-g++ — fonctionne — Détection des informations ABI du compilateur CXX — Détection des informations ABI du compilateur CXX – terminé — Détection des fonctionnalités de compilation CXX — Détection des fonctionnalités de compilation CXX – terminé — OpenCV trouvé : /home/youyeetoo/rknpu2/examples/3rdparty/opencv/opencv-linux-aarch64 (version trouvée « 3.4.5 ») — Configuration terminée — Génération terminée — Les fichiers de build ont été écrits dans : /home/youyeetoo/rknpu2/examples/rknn_yolov5_demo/build/build_linux_aarch64rknn_benchmark/install/rknn_benchmark_Linux/lib/librknnrt.so /home/youyeetoo/rknpu2/examples/rknn_benchmark |
Une fois la construction terminée, nous obtiendrons un fichier binaire nommé rknn_yolov5_demo.
Exécution de YOLO5 sur la carte YY3568
Afin de tester l’échantillon, nous exécuterons rknn_yolov5_demo avec deux paramètres : un modèle à utiliser et une image d’entrée.
cd /home/youyeetoo/rknpu2/examples/rknn_yolov5_demo ./rknn_yolov5_demo ./model/RK3566_RK3568/yolov5s-640-640.rknn ./bus.jpg
cd /home/youyeetoo/rknpu2/examples/rknn_yolov5_demo ./rknn_yolov5_demo ./model/RK3566_RK3568/yolov5s-640-640.rknn ./bus.jpg |
La sortie sera l’image out.jpg avec des cases dessinées avec des étiquettes autour des objets détectés dans l’image. Le modèle est formé pour 640×640, alors ne soyez pas surpris si rien n’est détecté lors de l’utilisation d’images de différentes tailles. Outre l’image du bus, nous avons également testé l’image man.jpg, les deux ayant plusieurs objets détectés.
configuration post-traitement : box_conf_threshold = 0,25, nms_threshold = 0,45 Lire ./model/man.jpg … largeur img = 640, hauteur img = 640 Mode de chargement… version SDK : 1.5.2 (c6b7b351a@2023-08-23T15 :28:22) version du pilote : 0.8.8 numéro d’entrée du modèle : 1, numéro de sortie : 3 index=0, nom=images, n_dims=4, dims=[1, 640, 640, 3]n_elems=1228800, taille=1228800, w_stride = 640, size_with_stride=1228800, fmt=NHWC, type=INT8, qnt_type=AFFINE, zp=-128, scale=0,003922 index=0, name=output, n_dims=4, dims =[1, 255, 80, 80]n_elems=1632000, taille=1632000, w_stride = 0, size_with_stride=1638400, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, scale=0,003860 index=1, name=283, n_dims=4, dims =[1, 255, 40, 40]n_elems=408000, taille=408000, w_stride = 0, size_with_stride=409600, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, échelle=0,003922 index=2, nom=285, n_dims=4, dims =[1, 255, 20, 20]n_elems=102000, size=102000, w_stride = 0, size_with_stride=122880, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003915 le modèle est l’entrée NHWC hauteur d’entrée du modèle fmt=640, largeur= 640, canal = 3 une fois exécuté, utilisez 78,917000 ms loadLabelName ./model/coco_80_labels_list.txt personne @ (89 157 258 631) 0,895037 bol @ (483 221 506 240) 0,679969 bol @ (395 322 444 343) 0,6 59576 verre à vin @ (570 200 588 241) 0,544585 bol @ (505 221 527 239) 0,477606 bol @ (482 322 532 338) 0,458121 verre à vin @ (543 199 564 239) 0,452579 tasse @ (418 215 437 238) 0,410092 tasse @ (385 204 402 240) 0,374592 tasse @ (435 212 451 238) 0,371657 bol @ (613 215 639 239) 0,359605 verre à vin @ (557 200 575 240) 0,359143 tasse @ (446 211 461 238) 0,358369 cuillère @ (255 257 271 313) 0,340807 bouteille @ ( 412 84 432 119) 0,338540 cuillère @ (307 267 322 326) 0,318563 cuillère @ (324 265 340 332) 0,315867 bouteille @ (453 305 466 340) 0,308927 tasse @ (526 210 54 4 239) 0,290318 flacon @ (389 83 411 119) 0.277804 verre à vin @ (583 198 602 239) 0.277093 bol @ (24 359 101 383) 0.275663 four @ (4 370 168 632) 0.256395 cuillère @ (268 262 282 322) 0.252866 bouteille @ ( 434 85 454 118) 0,250721 nombre de boucles = 10, exécution moyenne 69,709700 ms
1 2 3 4 5 6 7 8 9 dix 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 |
configuration post-traitement : box_conf_threshold = 0,25, nms_threshold = 0,45 Lire ./model/man.jpg … largeur de l’image = 640, hauteur de l’image = 640 Mode de chargement… version du SDK : 1.5.2 (c6b7b351a@2023-08-23T15:28:22) version du pilote : 0.8.8 numéro d’entrée du modèle : 1, numéro de sortie : 3 index=0, nom=images, n_dims=4, dims=[1, 640, 640, 3]n_elems=1228800, taille=1228800, w_stride = 640, size_with_stride=1228800, fmt=NHWC, type=INT8, qnt_type=AFFINE, zp=-128, échelle=0,003922 index=0, nom=sortie, n_dims=4, dims=[1, 255, 80, 80]n_elems=1632000, taille=1632000, w_stride = 0, size_with_stride=1638400, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, échelle=0,003860 index=1, nom=283, n_dims=4, dims=[1, 255, 40, 40]n_elems=408000, taille=408000, w_stride = 0, size_with_stride=409600, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, échelle=0,003922 index=2, nom=285, n_dims=4, dims=[1, 255, 20, 20]n_elems=102000, taille=102000, w_stride = 0, size_with_stride=122880, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, échelle=0,003915 le modèle est l’entrée NHWC fmt hauteur d’entrée du modèle = 640, largeur = 640, canal = 3 une fois exécuté, utilisez 78,917000 ms loadLabelName ./model/coco_80_labels_list.txt personne @ (89 157 258 631) 0.895037 bol @ (483 221 506 240) 0,679969 bol @ (395 322 444 343) 0,659576 verre à vin @ (570 200 588 241) 0.544585 bol @ (505 221 527 239) 0,477606 bol @ (482 322 532 338) 0,458121 verre à vin @ (543 199 564 239) 0.452579 tasse @ (418 215 437 238) 0.410092 tasse @ (385 204 402 240) 0,374592 tasse @ (435 212 451 238) 0,371657 bol @ (613 215 639 239) 0,359605 verre à vin @ (557 200 575 240) 0.359143 tasse @ (446 211 461 238) 0,358369 cuillère @ (255 257 271 313) 0,340807 bouteille @ (412 84 432 119) 0.338540 cuillère @ (307 267 322 326) 0,318563 cuillère @ (324 265 340 332) 0,315867 bouteille @ (453 305 466 340) 0.308927 tasse @ (526 210 544 239) 0,290318 bouteille @ (389 83 411 119) 0.277804 verre à vin @ (583 198 602 239) 0.277093 bol @ (24 359 101 383) 0,275663 four @ (4 370 168 632) 0,256395 cuillère @ (268 262 282 322) 0,252866 bouteille @ (434 85 454 118) 0.250721 nombre de boucles = 10, exécution moyenne 69,709700 ms |
L’échantillon pouvait détecter jusqu’à 25 objets et cela a pris environ 70 ms, soit environ 14 FPS, ce qui peut être considéré comme assez rapide en utilisant un Raspberry Pi 4 avec YOLO5 et les mêmes images 640 × 640 fonctionnent à seulement 4 FPS (sur le CPU) .
Indice de référence RKNN
Nous pouvons évaluer les performances du NPU sur le YY3568 avec le benchmark RKNN fourni dans le SDK en exécutant le test 10 fois pour obtenir une valeur FPS moyenne.
./rknn_benchmark /home/youyeetoo/rknpu2/examples/rknn_yolov5_demo/model/RK3566_RK3568/yolov5s-640-640.rknn man.jpg 10
./rknn_benchmark /home/youyeetoo/rknpu2/examples/rknn_yolov5_demo/model/RK3566_RK3568/yolov5s-640-640.rknn man.jpg 10 |
Sortir:
Version rknn_api/rknnrt : 1.5.2 (c6b7b351a@2023-08-23T15:28:22), version du pilote : 0.8.8 taille du poids total : 7308672, taille interne totale : 6144000 dma total taille utilisée : 21528576 numéro d’entrée du modèle : 1 , numéro de sortie : 3 tenseurs d’entrée : index=0, name=images, n_dims=4, dims=[1, 640, 640, 3]n_elems=1228800, size=1228800, w_stride = 640, size_with_stride=1228800, fmt=NHWC, type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003922 tenseurs de sortie : index=0, name=output, n_dims= 4, diminue =[1, 255, 80, 80]n_elems=1632000, taille=1632000, w_stride = 0, size_with_stride=1638400, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, scale=0,003860 index=1, name=283, n_dims=4, dims =[1, 255, 40, 40]n_elems=408000, taille=408000, w_stride = 0, size_with_stride=409600, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, échelle=0,003922 index=2, nom=285, n_dims=4, dims =[1, 255, 20, 20]n_elems=102000, size=102000, w_stride = 0, size_with_stride=122880, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003915 chaîne personnalisée : Warmup… 0 : Temps écoulé = 58,82 ms, FPS = 17,00 1 : Temps écoulé = 59,41 ms, FPS = 16,83 2 : Temps écoulé = 59,29 ms, FPS = 16,87 3 : Temps écoulé = 59,30 ms, FPS = 16,86 4 : Temps écoulé = 59,30 ms, FPS = 16,86 Début perf … 0 : Temps écoulé = 59,52 ms, FPS = 16,80 1 : Temps écoulé = 49,05 ms, FPS = 20,39 2 : Temps écoulé = 44,44 ms, FPS = 22,50 3 : Temps écoulé = 44,29 ms, FPS = 22,58 4 : Temps écoulé = 44,33 ms, FPS = 22,56 5 : Temps écoulé = 44,48 ms, FPS = 22,48 6 : Temps écoulé = 44,29 ms, FPS = 22,58 7 : Temps écoulé = 44,28 ms, FPS = 22,58 8 : Temps écoulé = 44,46 ms, FPS = 22,49 9 : Temps écoulé = 44,29 ms, FPS = 22,58 Temps moyen 46,34 ms, FPS moyen = 21,577
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
Version rknn_api/rknnrt : 1.5.2 (c6b7b351a@2023-08-23T15:28:22), version du pilote : 0.8.8 taille du poids total : 7308672, taille interne totale : 6144000 taille totale dma utilisée : 21528576 numéro d’entrée du modèle : 1, numéro de sortie : 3 tenseurs d’entrée : index=0, nom=images, n_dims=4, dims=[1, 640, 640, 3]n_elems=1228800, taille=1228800, w_stride = 640, size_with_stride=1228800, fmt=NHWC, type=INT8, qnt_type=AFFINE, zp=-128, échelle=0,003922 tenseurs de sortie : index=0, nom=sortie, n_dims=4, dims=[1, 255, 80, 80]n_elems=1632000, taille=1632000, w_stride = 0, size_with_stride=1638400, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, échelle=0,003860 index=1, nom=283, n_dims=4, dims=[1, 255, 40, 40]n_elems=408000, taille=408000, w_stride = 0, size_with_stride=409600, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, échelle=0,003922 index=2, nom=285, n_dims=4, dims=[1, 255, 20, 20]n_elems=102000, taille=102000, w_stride = 0, size_with_stride=122880, fmt=NCHW, type=INT8, qnt_type=AFFINE, zp=-128, échelle=0,003915 chaîne personnalisée : Réchauffer … 0 : Temps écoulé = 58,82 ms, FPS = 17,00 1 : Temps écoulé = 59,41 ms, FPS = 16,83 2 : Temps écoulé = 59,29 ms, FPS = 16,87 3 : Temps écoulé = 59,30 ms, FPS = 16,86 4 : Temps écoulé = 59,30 ms, FPS = 16,86 Commencer les performances… 0 : Temps écoulé = 59,52 ms, FPS = 16,80 1 : Temps écoulé = 49,05 ms, FPS = 20,39 2 : Temps écoulé = 44,44 ms, FPS = 22,50 3 : Temps écoulé = 44,29 ms, FPS = 22,58 4 : Temps écoulé = 44,33 ms, FPS = 22,56 5 : Temps écoulé = 44,48 ms, FPS = 22,48 6 : Temps écoulé = 44,29 ms, FPS = 22,58 7 : Temps écoulé = 44,28 ms, FPS = 22,58 8 : Temps écoulé = 44,46 ms, FPS = 22,49 9 : Temps écoulé = 44,29 ms, FPS = 22,58 Temps moyen 46,34 ms, FPS moyen = 21,577 |
La valeur FPS moyenne est de 21,5 FPS, soit encore plus élevée que lors de notre seule exécution. Il semble que l’exécution continue du modèle plusieurs fois améliore les performances, probablement parce qu’une partie du code ou des données est mise en cache. Dans tous les cas, cela montre que les performances de la carte YY3568 sont adaptées aux applications de vision par ordinateur, tant qu’un traitement en temps réel (30 ips+) n’est pas nécessaire.
YOLO5 avec une caméra USB
Le kit de développement YY3358 « Bundle 5 » est livré avec une caméra MIPI CSI, mais malheureusement, nous avons été informés qu’il ne fonctionne que sous Android 11 et que les pilotes Linux ne sont pas prêts pour la caméra. Nous avons donc utilisé une caméra USB pour effectuer un test rapide, capturer une image et exécuter YOLO5 avec une seule ligne de commande :
fswebcam -r 1280×720 -S 1 –no-banner –no-timestamp me.jpg | ./rknn_yolov5_demo ./model/RK3566_RK3568/yolov5s-640-640.rknn $me.jpg
fswebcam -r 1280×720 -S 1 –no-banner –no-timestamp me.jpg | ./rknn_yolov5_demo ./model/RK3566_RK3568/yolov5s-640-640.rknn $me.jpg |
Nous pourrions enregistrer une image à partir d’une webcam USB et l’envoyer au programme rknn_yolov5_demo. Afin de dessiner un cadre autour de l’objet et d’étiqueter le texte plus clairement, nous pouvons éditer ~/rknpu2/examples/rknn_yolov5_demo/src/main.cc comme suit :
301 rectangle(orig_img, cv::Point(x1, y1), cv::Point(x2, y2), cv::Scalar(0, 0, 255, 0), 3); 302 putText(orig_img, text, cv::Point(x1, y1 + 12), cv::FONT_HERSHEY_SIMPLEX, 0.5, cv::Scalar(0, 0, 0));
301 rectangle(orig_img, cv::Point(x1, y1), cv::Point(x2, y2), cv::Scalar(0, 0, 255, 0), 3); 302 putText(orig_img, text, cv::Point(x1, y1 + 12), cv::FONT_HERSHEY_SIMPLEX, 0.5, cv::Scalar(0, 0, 0)); |

Conclusion
Après plus d’une semaine de tests, nous avons découvert qu’un problème récent avec la carte est qu’elle se bloque et cesse de fonctionner de temps en temps à cause du petit dissipateur thermique qui n’est pas suffisant pour refroidir le système et le faire fonctionner de manière fiable. fois. Si Youyeetoo avait un ensemble dissipateur thermique + ventilateur supplémentaire, ce serait bien, surtout parce que la carte est conçue pour connecter un ventilateur de refroidissement.
En dehors de ce problème, la convivialité est bonne et le guide de l’utilisateur sur le wiki de Youyeetoo est bien fait. Vous pouvez lire le manuel sans avoir besoin d’être un expert. En termes d’utilisation de l’IA, la plate-forme Rockchip évolue et s’améliore continuellement, comme le montre la dernière date de sortie du SDK RKNPU2 sur GitHub (il y a trois semaines au moment de la publication). Il y a une certaine courbe d’apprentissage pour utiliser les cartes Rockchip, mais le rapport performance/prix en fait généralement des choix intéressants.
Nous tenons à remercier Youyeetoo d’avoir envoyé le devkit YY3568 « Bundle 5 » pour examen. Le module CPU YY3568-Core, le YY3568 SBC et le kit Bundle 5 examinés ici peuvent tous être achetés sur la boutique Aliexpress, Amazon ou Youyeetoo à des prix commençant à 36,99 $ pour le module uniquement. Le kit « Bundle 5 » examiné ici avec un module équipé de 8 Go de RAM et de 64 Go de flash eMMC se vend 206,15 $ plus frais de port.
CNXSoft : Cet article est une traduction – avec quelques modifications – de la test originale sur Raspberryme Software Thailand par Arnon Thongtem, et édité par Suthinee Kerdkaew.
Retrouvez l’histoire de Raspberry Pi dans cette vidéo :
