Reverse-engineering the first FPGA chip, the XC2064

Ingérierie inverse du premier FPGA de l'histoire : Le XC2064 de chez Xilinx.
(Permalink)

L’édito du hors-série spécial « Python 3 pour débuter en programmation »

Juste avant les vacances d’été, Linus Torvalds a validé une modification portant sur les règles d’écriture de la documentation du code du noyau [1]. Cette modification vise à mettre en place une terminologie dite « inclusive », ce qui signifie qu’il ne faut plus utiliser les termes :

  • blacklist (liste noire) / whitelist (liste blanche),
  • ou encore master (maître) / slave (esclave).

En lieu et place de ces termes largement employés dans le monde de l’informatique, il est proposé d’utiliser des termes comme :

  • denylist (liste de refus) / allowlist (liste d’autorisation),
  • blocklist (liste de blocage) / passlist (liste de passage),
  • initiator (initiateur) / target (cible),
  • leader (chef) / follower (disciple, fidèle),
  • ou encore director (directeur) / performer (interprète).

Nous sommes en présence d’une réplique de la frénésie de modification des codes de conduite de 2018 (relire à ce propos le très bon article de Jean-Pierre Troll [2]). Le fait, louable en soi, de vouloir introduire plus de tolérance et d’harmonie entre les développeurs prend une tournure extrémiste complètement irréfléchie. Admettons donc que l’on décide de ne plus employer les termes « maître » et « esclave » renvoyant pour certains aux traites négrières même s’il faut avoir un esprit particulièrement torturé pour penser à cela en se retrouvant par exemple devant deux disques durs branchés en maître / esclave. N’employons donc plus ces termes et imaginons des étudiants débutant leurs études. Comment vont-ils comprendre que les termes initiateur / cible employés par leur enseignant font référence à la même notion que directeur / interprète trouvée dans un livre ou encore à maître / esclave lu dans un magazine résolument rétrograde ? Il n’y a pas de consensus sur les termes à employer en remplacement ! Alors, comment faire pour se faire comprendre ? L’informatique est une science ! Nous sommes là pour transmettre et acquérir de nouveaux savoirs et non pour nous torturer l’esprit à savoir si chaque mot employé lors de la rédaction d’une documentation pourrait être interprété d’une manière différente de celle que nous avions envisagée si on le place dans un contexte différent. Parce que justement c’est le contexte, l’environnement du mot qui fait son sens et non le mot nu. Je viens d’ailleurs d’écrire le mot « nu », est-ce que pour autant le magazine va être placé dans les kiosques au rayon pornographie ? Va-t-il être interdit au moins de 18 ans ?

Pour reprendre la formule consacrée de Jean-Pierre Troll, y’en a marre de ce prosélytisme américain : ne nous laissons pas gagner par l’intoxication ! Continuez de lire GNU/Linux Magazine, nous ferons en sorte de rester compréhensibles pour ceux qui s’intéressent à la science et aux technologies.

[1] L. TORVALDS, Commit du 10 juillet 2020 sur la « terminologie inclusive » : https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=49decddd39e5f6132ccd7d9fdc3d7c470b0061bb

[2] J. TROLL, « Après le code source, le code moral ! », GNU/Linux Magazine n°222, janvier 2019 : https://connect.ed-diamond.com/GNU-Linux-Magazine/GLMF-222/Apres-le-code-source-le-code-moral

Tristan Colombo


Retrouvez GNU/Linux Magazine Hors-série n°110 :

Smart City + Smart Grid - Paris - Porte de Versailles Le 3 novembre 2020

Les 3 et 4 novembre 2020 à Paris - Porte de Versaille se tiendra la 7ème édition du salon Smart City + Smart Grid, le salon de la ville et des territoires intelligents, durables et connectés.

Pour la 7e année consécutive, le salon Smart City + Smart Grid présentera les acteurs des réseaux intelligents et de la mobilité durable pour les villes et les territoires. Un sujet d'actualité, car malgré la crise sanitaire mondiale que nous avons subie, les élections municipales et même le plan de relance européen ont bien montré que la transition énergétique fera partie des sujets clés de l'année 2021.


L'essentiel à retenir :
- 70 exposants
- plus de 1500 visiteurs professionnels
- une vingtaine de conférences
- en parallèle du salon IBS (Intelligent Building Systems) = 7 000 visiteurs

En tant que partenaire du salon, CAP'TRONIC vous accueille sur son village accompagné des entreprises adhérentes. Les ingénieurs-conseil seront présents, ce sera l'occasion de venir à leur rencontre pour évoquer vos projets d'innovation produit ou process.


Exposez au Smart City + Smart Grid 2020 et profitez d'une offre clé en main :

  • 1 emplacement au sein du village CAP'TRONIC (1 comptoir haut, 1 tabouret haut, 1 enseigne posée sur la cloison de fond au nom de la société (sticker), éclairage, 1 triplette)
  • Inscription au catalogue et sur le site internet du salon (rubrique exposant)
  • Intervention dans une conférence destinée à faire la promotion de votre technologie sur le thème "Les start-up au cœur de la ville intelligente"

Cette offre de participation est uniquement destinée pour les start-up adhérentes au programme CAP'TRONIC et s'élève à 790 € HT.

Pour plus d'informations sur le salon, contactez marceau@captronic.fr

Arrow Chameleon96 Arm + Cyclone V FPGA Board Sold for $32 (Promo)

Un sérieux concurrent pour les cartes Zync.
Un dual core ARM Cortex A9 avec un FPGA 110KLut pour $35.
(Permalink)

L’édito de GNU/Linux Magazine n°240 !

Depuis quelque temps déjà il se dégage une tendance forte dans le développement logiciel : l’emploi de méthodes de développement dites agiles. De la plus petite TPE/PME à la plus grosse multinationale, il semblerait que désormais tout le monde ne jure plus que par les méthodes agiles. Mais pourquoi donc ?

Les méthodes agiles posent pour base une plus grande implication du client dans le projet et une meilleure réactivité des équipes de développement face à ses demandes. Ainsi, le nombre d’itérations (livraison de versions opérationnelles du projet) sera plus important qu’avec une méthode classique de développement, et le client sera régulièrement consulté pour orienter l’avancée du projet. Or donc, pour une entreprise désireuse de mettre en avant ses processus de développement à des fins purement marketing, il est très rentable de « vendre » de l’agilité : le client ne se sent plus dépossédé de son projet, il peut régulièrement participer à son élaboration… mais sait-il que grâce à lui l’équipe de développement va gagner un temps précieux et permettre à son employeur d’économiser beaucoup d’argent ? En effet, certains ont eu tôt fait de faire le raccourci entre nombreuses itérations/participations du client et délégation des tests utilisateur ! Pourquoi réaliser ce travail fastidieux quand le client peut s’en charger ? En plus ce dernier sera ravi :

  • il y aura de nombreuses livraisons du projet ce qui, psychologiquement, aura un impact positif : « mon projet n’est pas mort, je vois bien que des gens travaillent dessus » ;
  • le client sera véritablement impliqué et écouté : « je viens de noter un bug à tel endroit, il va être corrigé ».

Les bénéfices sont énormes pour l’entreprise en charge du développement : le client est heureux de payer pour être intégré à l’équipe de développement au rang le plus bas qui soit, celui de testeur. Vous connaissez beaucoup de gens qui payent pour travailler et qui en plus sont contents ? Les développeurs n’ont plus à tester les nouvelles fonctionnalités qu’ils viennent d’ajouter : il leur suffit de signifier à leur client une mise à jour de la version en préproduction et le tour est joué ! Ce dévoiement de l’Agile (avec un A majuscule) montre l’agilité du commercial qui arrive à vendre tout et n’importe quoi à ses clients, ce qui est bien loin de l’aspect technique et cadrant proposé initialement par la méthode…

En suivant la même logique, nous aurions pu vous proposer des articles non relus, non formatés et non mis en page pour « validation » par vos soins de manière à vous impliquer dans le processus de réalisation de chaque magazine. Ce n’est bien sûr pas le cas, alors je vous souhaite une bonne lecture, sans travail supplémentaire et surtout, si vous employez une méthode agile dans votre travail, respectez-en l’essence !

Tristan Colombo


Retrouvez GNU/Linux Magazine n°240 :

[LMHS n°110] Références de l’article « Comment bien construire des applications ? »

Retrouvez ci-dessous la liste des références qui accompagnent l’article « Comment bien construire des applications ? », publié dans LMHS N°110 :

[1] Documentation du module argparse : https://docs.python.org/3/library/argparse.html

[2] Documentation de fileinput : https://docs.python.org/3/library/fileinput.html

[3] Cookbook pour le module logging : https://docs.python.org/3/howto/logging-cookbook.html

[4] Documentation avancée pour le module logging : https://docs.python.org/3/howto/logging.html#logging-advanced-tutorial

[5] Tutoriel pour le module logging : https://docs.python.org/3/howto/logging.html#logging-basic-tutorial

[LMHS n°110] Références de l’article « Gestion du système de fichiers »

Retrouvez ci-dessous la liste des références qui accompagnent l’article « Gestion du système de fichiers », publié dans LMHS N°110 :

[1] Documentation du module fnmatch : https://docs.python.org/3/library/fnmatch.html

[2] Documentation du module tempfile : https://docs.python.org/3/library/tempfile.html

[3] Documentation du module mmap : https://docs.python.org/3/library/mmap.html

Déployez un intranet Linux dans votre PME !

Dans ce nouveau hors-série, vous apprendrez à déployer un intranet dans votre PME à l’aide d’Ansible et de Red Hat Enterprise Linux. Vous commencerez par découvrir toute la puissance d’Ansible pour configurer votre installation avant de déployer votre serveur et de mettre en place un wiki interne avec MediaWiki. Vous apprendrez à maintenir votre infrastructure, optimiser sa configuration et planifier ses sauvegardes. Un dernier chapitre sera dédié à la sécurisation de votre serveur avec la mise en place d’un pare-feu et l’activation de SELinux.

Linux Pratique Hors-série n°48 vous attend chez votre marchand de journaux dès lundi, sur notre boutique (ports offerts pour toute livraison en France métro.) en papier et flipbook et sur notre plateforme de documentation numérique Connect. Pensez à l’abonnement pour ne manquer aucun numéro !

Au sommaire

Actus

p.06 Brèves
p.12 Trouver ses racines avec Ancestris

Boîte à outils

p.16 Garder ses secrets avec Tomb

Dossier : Déployez votre système de supervision

p.26 Introduction au dossier
p.28 Premiers pas et prérequis
p.36 Installation du serveur à l’aide d’Ansible
p.50 Mise en place de l’intranet
p.76 Amélioration de l’infrastructure
p.92 Sécurisation du serveur

Système

p.102 Assurez l’intégrité de vos fichiers avec fs-verity

Zoom sur…

p.122 Panorama des attaques informatiques : état des lieux pour 2020

Les indispensables pour débuter en programmation avec Python !

Ce nouveau hors-série de GNU/Linux Magazine vous propose de découvrir l’essentiel pour débuter en programmation avec Python 3. Vous apprendrez pourquoi et comment utiliser les environnements virtuels, les bonnes pratiques pour coder en Python, les modules indispensables à connaître absolument ainsi que les outils pour tester et optimiser vos programmes.

Ce hors-série vous attend en kiosque dès aujourd’hui, sur notre boutique (ports offerts pour toute livraison en France métro.) en version papier et flipbook et sur notre plateforme de documentation numérique Connect. Pensez à vous abonner pour ne manquer aucun numéro 😉 

Au sommaire

Actus

p.06 Côté livres…
p.08 Tendance actuelle : la conteneurisation d’applications

Bas Niveau

p.20 Aller plus loin avec coreboot

Dossier : Python 3

p.30 Les environnements virtuels : pourquoi et comment les utiliser

p.40 Python « moderne » : comment coder en Python en 2020 ?

p.50 Les 10 modules à connaître !

p.72 Gérer les données temporelles, l’internationalisation et la localisation

p.80 Gestion du système de fichiers

p.86 Comment bien construire des applications ?

p.98 Les outils pour les développeurs Python

Web

p.116 Découvrez React Native en créant une liste de courses

Monitorez tous vos conteneurs avec Prometheus !

Dans ce numéro de rentrée, nous vous accompagnerons dans la supervision de vos serveurs physiques et conteneurs à l’aide de Prometheus ! Vous découvrirez aussi comment réaliser facilement vos sauvegardes, comment tirer parti d’un serveur NIS pour authentifier vos utilisateurs sur votre réseau. Vous apprendrez comment déployer un serveur vocal interactif avec Asterisk ou encore quels sont les risques et enjeux du BYOD pour les entreprises.

Linux Pratique vous attend chez votre marchand de journaux, sur notre boutique (ports offerts pour toute livraison en France métro.) en papier et flipbook et sur notre plateforme de documentation numérique Connect. Pensez à l’abonnement pour ne manquer aucun numéro !

Au sommaire

Actualités & Nouveautés

p. 08 Brèves

Logithèque & Applicatif

p. 10 Notes : commentez votre navigation sur le Web

p. 11 Leechblock : limitez l’accès aux sites qui vous font perdre du temps

p. 12 Tout ce qu’il faut savoir pour bien traiter vos images numérisées

Système & Configuration

p. 22 Effectuer des sauvegardes avec rdiff-backup

p. 30 Supervision des architectures à microservices avec Prometheus

p. 46 Gérer une base de données avec Adminer

Réseau & Administration

p. 54 Comment mettre en place un serveur NIS

Entreprises & Structures

p. 64 Avec Asterisk, déployez votre serveur vocal interactif

Réflexion & Société

p. 76 Les enjeux du BYOD pour les entreprises

Comment ne pas sacrifier la sécurité avec le télétravail ?

Comment ne pas sacrifier la sécurité avec le télétravail ? Notre dossier de rentrée vous fournira plusieurs pistes sur le sujet grâce à ses divers retours d’expérience portant notamment sur l’accès VPN, les enjeux organisationnels et juridiques ou encore le suivi des accès distants à la production.

Rendez-vous sans plus tarder chez votre marchand de journaux pour découvrir ce numéro, sur notre boutique en ligne (frais de ports offerts pour une livraison en France métro.) pour les versions papier et flipbook, et sur notre plateforme de documentation numérique Connect. Pensez à l’abonnement pour ne plus manquer aucun numéro !

Au sommaire

Exploit Corner

p. 06 CVE-2020-3153 : élever ses privilèges grâce au télétravail

Forensic Corner

p. 12 Retour d’expérience : investigation numérique dans un environnement Windows

Malware Corner

p. 20 Désamorcer des bombes logiques

Dossier

p. 28 Introduction

p. 29 Covid-19, télétravail : mise en œuvre d’accès distants sécurisés pour se rapprocher du SI

p. 36 Télétravail : une sécurité à repenser et une nouvelle organisation à encadrer

p. 45 Surveillance des accès de production en télétravail

Code

p. 54 Zéro SQLi malgré les développeurs

Réseau

p. 64 Détection d’anomalies par ACP

Système

p. 76 Comprendre et exploiter les données d’authentification sur Windows

Les indispensables pour débuter en programmation avec Python !

Ce nouveau hors-série de GNU/Linux Magazine vous propose de découvrir l’essentiel pour débuter en programmation avec Python 3. Vous apprendrez pourquoi et comment utiliser les environnements virtuels, les bonnes pratiques pour coder en Python, les modules indispensables à connaître absolument ainsi que les outils pour tester et optimiser vos programmes.

Ce hors-série vous attend en kiosque dès aujourd’hui, sur notre boutique (ports offerts pour toute livraison en France métro.) en version papier et flipbook et sur notre plateforme de documentation numérique Connect. Pensez à vous abonner pour ne manquer aucun numéro ;-) 

Au sommaire

Actus

p.06 Côté livres…
p.08 Tendance actuelle : la conteneurisation d’applications

Bas Niveau

p.20 Aller plus loin avec coreboot

Dossier : Python 3

p.30 Les environnements virtuels : pourquoi et comment les utiliser

p.40 Python « moderne » : comment coder en Python en 2020 ?

p.50 Les 10 modules à connaître !

p.72 Gérer les données temporelles, l’internationalisation et la localisation

p.80 Gestion du système de fichiers

p.86 Comment bien construire des applications ?

p.98 Les outils pour les développeurs Python

Web

p.116 Découvrez React Native en créant une liste de courses

Accélérez vos codes avec Numba !

Dans ce numéro de rentrée, vous apprendrez à accélérer vos codes Python avec CUDA et Numba ! Vous découvrirez aussi comment planifier et gérer l’arrêt d’une machine Windows à distance, les commandes pour manipuler les namespaces, comment utiliser l’orchestrateur Terraform avec vos projets Docker… Retrouvez ce magazine en kiosque dès vendredi, sur notre boutique (ports offerts pour toute livraison en France métro.) en version papier et flipbook, ainsi que sur notre plateforme de documentation numérique Connect. GNU/Linux Magazine est aussi disponible à l’abonnement juste ici.

Au sommaire

Actus & Humeur

p. 06 De Smalltalk à Pharo : 40 ans d’innovations en génie logiciel

IA, Robotique & Science

p. 20 Analyse et réalisation d’un RADAR à bruit par radio logicielle

Outils & Système

p. 38 Utilisez Terraform pour vos projets Docker

Hack & Bidouille

p. 44 Comment arrêter un ordinateur sans crise de nerfs ?

Libs & Modules

p. 54 Accélération de Python avec Numba

Kernel & Bas niveau

p. 68 Les utilitaires relatifs aux namespaces

Accélérez vos codes avec Numba !

Dans ce numéro de rentrée, vous apprendrez à accélérer vos codes Python avec CUDA et Numba ! Vous découvrirez aussi comment planifier et gérer l’arrêt d’une machine Windows à distance, les commandes pour manipuler les namespaces, comment utiliser l’orchestrateur Terraform avec vos projets Docker… Retrouvez ce magazine en kiosque dès vendredi, sur notre boutique (ports offerts pour toute livraison en France métro.) en version papier et flipbook, ainsi que sur notre plateforme de documentation numérique Connect. GNU/Linux Magazine est aussi disponible à l’abonnement juste ici.

Au sommaire

Actus & Humeur

p. 06 De Smalltalk à Pharo : 40 ans d’innovations en génie logiciel

IA, Robotique & Science

p. 20 Analyse et réalisation d’un RADAR à bruit par radio logicielle

Outils & Système

p. 38 Utilisez Terraform pour vos projets Docker

Hack & Bidouille

p. 44 Comment arrêter un ordinateur sans crise de nerfs ?

Libs & Modules

p. 54 Accélération de Python avec Numba

Kernel & Bas niveau

p. 68 Les utilitaires relatifs aux namespaces

Community Sourced - Lattice Semiconductor

#Lattice liste les cartes de développements #opensource utilisant leurs #FPGA sur leur site officiel désormais.
Bientôt une évocation des logiciels de synthèse et de placement routage libre pour leurs produits ?
#yosys #nextpnr #arachnepnr
(Permalink)

COMMUNICATION LONG RANGE & FOCUS 5G - Orléans (45) Le 15 octobre 2020

Le CRESITT Industrie, en partenariat avec CAP'TRONIC et le pôle S2E2, vous invite à un séminaire GRATUIT sur le sujet "Communications Long Range & Focus 5G"
(inscription obligatoire)

13h30 : Accueil café

14h00 : Introduction CRESITT et partenaires

14h15 : Introduction et feuille de route du déploiement, par Bouygues

14h45 : Coopération en région CVL sur la 5G Val de Loire, par ST et Amphenol Antenna

15h15 : Point technique sur les composants 5G, par Ericsson

15h45 : Pause, échanges autour des stands

16h15 : Panorama technologies Long Range, par CRESITT Industrie

16h30 : LoRaWAN, différence et complémentarité avec la 5G, par Semtech (à distance)

17h00 : Retour d'expérience sur les essais 5G à Lille, par CITC

17h30 : Clôture, échanges autour des stands et pot amical

Informations et inscription en ligne (obligatoire)

SERV user manual — SERV documentation

La doc en images du SERV (processeur RISC-V microscopique).
(Permalink)

How to avoid glitch in combinatorial circuit

(Permalink)

The Case of the Phantom Packets - A Formal Debugging Posterchild | Electronics etc…

Comment reproduire un bug dans une transmission grâce à la méthode formelle.
(Permalink)

Filtre gtkwave

Sous le coude: un filtre gtkwave pour afficher les états dans le chronogramme plutôt que leurs codes
(Permalink)

FPGA Pong | Project F - FPGA Development

Pong en verilog
(Permalink)

PipelineC: Un HDL en C ?

Pipeline C permet de décrire un composant numérique en C puis de générer du VHDL pour la synthèse.
(Permalink)

Maixduino : mise en oeuvre avec Arduino IDE

Salut.

Le kit Maixduino de Sipeed que nous avons présenté précédemment peut être utilisé avec un atelier de développement logiciel comme Arduino IDE. On pourra alors programmer avec le langage C/C++.

On installera dans un premier temps Arduino IDE. On suppose que l'on est sous Linux. La procédure d'installation est décrite dans ce document.

On récupère Arduino IDE pour Linux (ici pour la version 64 bits) à l'adresse : https://www.arduino.cc/en/Main/Software. A ce jour, il s'agit de la version 1.8.13.

On installe ensuite Arduino IDE (pour moi sous Fedora 64 bits) :

$ tar -xvJf arduino-1.8.13-linux64.tar.xz

On validera l'accès au port USB pour dialoguer avec le kit et on installera les paquetages Python nécessaires :

$ sudo usermod -a -G dialout $(whoami)
$ sudo dnf install python3 python3-pip
$ sudo pip3 install pyserial

On lancera ensuite Arduino IDE :

$ cd arduino-1.8.13
$ ./arduino

Il faudra ensuite configurer Arduino IDE et rajouter le profil des cartes Sipeed en allant dans le menu Fichier > Préférences.

On ajoutera dans le champ "URL de gestionnaire de cartes supplémentaires" l'adresse suivante : http://dl.sipeed.com/MAIX/Maixduino/package_Maixduino_k210_index.json.

Il faudra ensuite ajouter la carte Maixduino à Arduino IDE. Pour cela on va dans le menu Outils > Type de carte > Gestionnaire de carte. On filtrera pour choisir le kit Maixduino et on installera le support Maixduino (version 0.3.11 à ce jour).

Dans le menu Outils, on ajustera les paramètres suivants :

  • Type de carte : Sipeed Maixduino Board.
  • Port : /dev/ttyUSB0.
  • Programmateur : k-flash.

Tout est maintenant installé. On peut alors tester avec un croquis de base. On choisit le croquis Blink disponible sous Fichier > Exemples > 01.Basics.

Le code source du croquis Blink est le suivant (cela correspond en embarqué au célèbre "Hello World!") :

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  
  delay(500);                     
  digitalWrite(LED_BUILTIN, LOW);
  delay(500);
}

On cliquera sur le bouton Téléverser ou via le menu Croquis > Téléverser. Le croquis est compilé puis téléversé et programmé en mémoire Flash de la carte Maixduino.

Si tout va bien, la led  TX-K210 doit clignoter.

Cela correspond à la valeur 1 pour la constante LED_BUILTIN qui est définie dans le fichier ~/.arduino15/packages/Maixduino/hardware/k210/0.3.11/variants/sipeed_maixduino/pins_arduino.h. 

On peut aussi mettre en oeuvre une PWM pour jouer sur l'intensité de l'éclairage ce qui donne le croquis Blink2 suivant :

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void setColor(int value) {
  analogWrite(LED_BUILTIN, 255-value);
}

void loop() {
  int i;
 
  for (i=0; i<256; i++) {
    setColor(i);
    delay(5);
  }
  delay(100);
  for (i=0; i<256; i++) {
    setColor(255-i);
    delay(5);
  }      
}

Le pinout de la carte Maixduino est disponible ici.

La documentation pour développer avec Arduino IDE est disponible ici. Cela reste en fait de la programmation traditionnelle sous Arduino.

++

Verilog Tutorial

(Permalink)

DRAMSys

Un simulateur de DRAM en SystemC/TLM. Maintenant opensource
(Permalink)

Getting started with Formal Verification - YouTube

Toute l'introduction pour apprendre à faire de la vérification formelle avec yosys.
(Permalink)

Corescore : qui a la plus grosse ?

Corescore est un outils permettant d'intégrer des cœurs de processeurs SERV (RISC-V) dans un FPGA.
L'idée du corescore est de faire fonctionner le plus possible de  SERV en parallèle.

Ça donne une métrique pour comparer les FPGA.

Par exemple, pour la colorlight on peut mettre 55 cores : https://github.com/olofk/corescore/commit/f8935218df2a2c7190ddfc44beaaa7aa4b140d8c
(Permalink)

Maixduino : outils de développement

Salut.

Le kit Maixduino de Sipeed peut être utilisé avec différentes outils de développement.

Si l'on résume, on peut utiliser :

  • Le langage C/C++ en mode ligne de commandes avec le kit SDK Kendryte standalone. Il est disponible ici.
  • Le langage C/C++ avec un atelier de développement logiciel IDE. On pourra utiliser au choix Arduino IDE ou bien PlatformIO IDE. On trouvera des informations sur Arduino IDE ici et PlatformIO IDE .
  • Le langage Python avec le firmware Micropython pour le processeur K210 flashé au préalable et qui est appelé MaixPy. On pourra le faire directement au niveau de l'interpréteur de commandes MaixPy du kit.
  • Le langage Python avec un atelier de développement logiciel IDE s'exécutant sur le PC hôte. On utilisera alors l'IDE MaixPyIDE spécifique de Sipeed. On trouvera des informations sur MaixPyIDE ici.

Ci-après, une photo de l'outil MaixPyIDE :


On aura aussi à disposition d'autres outils connexes dont on pourra avoir besoin.

Pour flasher MaixPy dans la mémoire flash du kit Maixduino, on pourra utiliser le script python kflash disponible ici ou bien sa version graphique kflash_gui disponible .

On pourra aussi utiliser l'outil graphique uPyLoader disponible ici pour télécharger des scripts Python sous /sd de MaixPy. On pourra faire la même opération en ligne de commandes avec l'outil ampy d'Adafruit disponible avec pip ou bien ici.

Enfin, il y a à disposition l'outil rshell (remote shell) en ligne de commandes qui permet d'interagir à distance aussi avec le kit Maixduino. rshell est disponible ici.

Nous verrons la mise en oeuvre de ces différents outils dans les prochains billets. Je m'attarderai dans un premier temps sur l'IDE Arduino pour développer en langage C/C++ puis le présenterai l'environnement de développement Micropython bien plus intéressant car il permettra de faire de l'IA avec le kit.

++

Chromite-M SoC targeted for FPGAs | Blogs @ InCore Semi

Un gros core RV64 opensource pour les FPGA écrit en Verilog + BlueSpec
(Permalink)

L’édito du hors-série spécial « Programmation avec un moteur 3D » !

La société Synopsys a récemment publié un rapport de 39 pages intitulé « 2020 Open Source Security and Risk Analysis (OSSRA) Report » [1]. Cette étude, basée sur l’analyse de 1253 applications, indique que 99% des applications auditées contiennent des composants open source. Si toutes les applications analysées étaient open source, cela n’aurait guère d’intérêt, mais il faut savoir que 30% d’entre elles sont propriétaires. Il y a donc un intérêt indéniable pour l’open source qui s’immisce dans pratiquement tous les développements logiciels.

L’objet premier de ce rapport, comme son nom l’indique, est de pointer les risques liés à la sécurité des applications. Ce ne sont pas ces informations qui m’ont particulièrement intéressé, même si l’on peut noter que 75% des applications auditées contiennent au moins une vulnérabilité (dûe le plus souvent à l’usage d’une version obsolète d’un composant open source) ; je trouve plus pertinent de s’attarder sur les composants open source les plus utilisés : jQuery, Bootstrap, Font Awesome, Lodash, jQuery UI, Underscore-stay, Inherits, isArray, VisionMedia/debug, et Minimatch. Il ne s’agit que de technologies web, la plupart utilisant le langage JavaScript. Il n’y a donc rien d’étonnant à ce qu’il y ait autant de failles si les versions utilisées sont anciennes (91% des applications contiennent des composants qui n’ont pas été mis à jour depuis plus de 4 ans ou qui n’ont pas été maintenus depuis 2 ans).

Plus intéressant, dans 73% des applications des conflits de licences open source (ou plus simplement une absence de mention dans 33% des cas) ont été relevés. Pour beaucoup de développeurs et de décideurs, l’open source est un « supermarché » en libre service où l’on peut venir piocher des éléments à sa guise gratuitement. En 2020, alors que l’open source n’effraie plus que quelques dinosaures rétrogrades, il est donc toujours d’actualité d’expliquer encore et toujours ce qu’est un logiciel libre ou open source et quelles sont les différentes licences et ce qu’elles permettent et impliquent. Si les failles de sécurité sont dangereuses pour les applications, les défauts de licence sont dangereux pour les entreprises qui risquent des attaques en justice.

Continuez donc d’utiliser des logiciels open source, de lire GNU/Linux Magazine et portez la bonne parole y compris auprès des utilisateurs de systèmes autres que Linux : la plupart des outils et langages que nous utilisons sont multiplateformes, ne l’oublions pas !

[1] #2020 OSSRA Report : https://www.synopsys.com/software-integrity/resources/analyst-reports/2020-open-source-security-risk-analysis.html

Tristan Colombo


Retrouvez GNU/Linux Magazine Hors-série n°109 :