[[tinyclros:accueiltinyclr|{{ :iconemaison.jpg?nolink&30|Sommaire TinyCLR OS}}]] {{ :tinyclros:tinyclr_os.jpg?nolink|}} ===== Les outils logiciels à installer pour programmer en C# sous TinyCLR-OS ===== [Mise à jour le 11/4/2020] === Sources === * Site de GHI Electronics : Getting Started === Lectures connexes === * [[brainpad:tclr_bp2pap|Premiers programmes en C# avec une carte BrainPad 2 "Étape par Étape"]] ===== 1. Préambule ===== Pour programmer sous TinyCLR OS, il est nécessaire d'installer (ou de mettre à jour) des outils logiciels sur le PC et sur la carte cible. * **Sur le PC**, on doit disposer : * de l'**IDE** Microsoft Visual Studio Community 2017 ou 2019, * de l'**extension GHI** pour VS Community 2017 ou 2019, * des **nugets** utiles au projet (bibliothèques de code). * Sur la **carte cible**, le firmware doit être à jour et compatible avec l'extension GHI. La procédure à suivre pour installer Visual studio community 2019, la dernière version de l'extension GHI pour VS2019 (**§2.1**), les bibliothèques de code (**§2.3**) et le firmware de la carte cible (**§3.2**) sont décrits dans les paragraphes ci-dessous. \\ La procédure à suivre est issue du site de GHI Electronics. ---- > **NB - INSTALLATION des Drivers des cartes BrainPad v1(G30), Panda3(G80), FEZCLR, BrainPad2 etc. ** > - sous **W10** : pas d'installation nécessaire > - sous **W7** : voir le paragraphe 4 de cette page ---- ===== 2. Les logiciels à installer sur le PC ===== {{ :tinyclros:visual_studio.jpg?nolink&150|}} ==== 2.1 L'environnement de développement ==== Sous **TinyCLR OS** les cartes sont programmables avec la version 2017 ou 2019 de Visual Studio (Community). TinyCLR OS ne fonctionne pas avec les versions précédentes de Visual Studio. * **Télécharger** et **installer** l'environnement de développement intégré VISUAL STUDIO COMMUNITY 2019. {{ :tinyclros:vsbetm.png?nolink |}} ==== 2.2 Le système de projet TinyCLR OS ===== > **Sources** : lien > **Important** : Désinstaller la version en cours avant d'installer la nouvelle. * **Solution 1 (à privilégier)** : Dans Visual Studio Community, sélectionner //Outils// -> //Extensions et mises à jour//. Entrer //TinyCLR// dans la barre de recherche et installer l'extension. {{ :tinyclros:tclrext.png?nolink |}} {{ :tinyclros:bandeaughi.png?nolink&300|}} * **Solution 2 : télécharger** et **installer** la dernière version de l’extension **Visual Studio Project System** pour l'IDE Visual Studio 2017 ou 2019 à partir du lien [[http://docs.ghielectronics.com/software/tinyclr/downloads.html|{{:tinyclros:download-noborder.jpg?nolink&100|Site GHI}}]]. __Exemple__ {{ :tinyclros:exvsps.png?nolink |}} * **Double-cliquer** sur le fichier **.vsix** téléchargé précédemment pour l'installer dans Visual Studio Community. ==== 2.3 Les bibliothèques GHI Electronics ==== >> Les bibliothèques de codes sont installées dans les projets sous la forme de **Nugets**. Il suffit de se rendre sur le site **nugets.org** à partir de Visual Studio comme cela est expliqué dans le tutoriel [[brainpad:tclr_bp2pap|Premiers programmes en C# avec une carte BrainPad BP2 "étape par étape"]]. > Les bibliothèques peuvent également être sauvegardées sur le PC ou sur un serveur local. Télécharger les bibliothèques disponibles ici {{ :tinyclros:biblioghi.png?nolink |}} ==== 2.4 L'outil TinyCLR Config ==== TinyCLR Config est un outil de gestion des cartes de développement chargées avec TinyCLR OS. Il est connecté au cloud. A condition qu'un firmware soit déja présent dans la carte, l'outil **TinyCLR Config**, situé dans le menu GHI Electronics, permet de mettre à jour. TinyCLR Config trouve et télécharge automatiquement les versions les plus récentes du firmware à partir d'une liste de sources fournies. Ces sources peuvent être sur Internet ou locales sur votre machine si vous n'avez pas ou ne voulez pas accéder à Internet. {{:tinyclros:gpio:icone-attention_min.png?nolink&40|}} La fonctionnalité de mise à jour du micrologiciel ne fonctionne que pour les appareils équipés de GHI **Bootloader v2**. * **Télécharger** la dernière version de **TinyCLR Config** sur le site de GHI Electronics et l'installer par un double clic sur le fichier .msi. {{ :tinyclros:tinyclrconfig.png?nolink |}} ===== 3. Les logiciels à installer sur la carte cible ===== ==== 3.1 Généralités ==== Une carte (BrainPad, FEZ T18, Panda III, etc.) est programmable sous **Visual Studio (Community)** si elle est préalablement chargée avec : * un **firmware** (**TinyCLR OS**) * un **bootloader**, > Les cartes développées par GHI Electronics sont toutes chargées avec un bootloader. Elle sont également chargées avec un firmware TinyCLR OS à l'exception de la carte Brainpad 2 destinée à être programmée avec le logiciel Microsoft **MakeCode**. ==== 3.2 Mise à jour ou installation du firmware (TinyCLR OS)==== === 3.2.1 La carte BrainPad 2=== Cette carte peut être programmée avec BrainPad Makecode ou **Microsoft Visual Studio Community**. Pour cela, elle est chargée avec le bootloader v1.0.2. L'action puis le relâchement du bouton-poussoir Reset ouvre une fenêtre dans laquelle il suffit de faire glisser le fichier produit par Makecode ou le firmware spécifique à cette carte (pour une programmation en C# sous Microsoft Visual Studio). {{ :tinyclros:fez.png?nolink |}} === 3.2.2 Autres cartes - Cas le plus fréquent : mise à jour avec TinyCLR Config === > La mise à jour du firmware d'une carte, disposant d'un bootloader version 2, se fait avec **TinyCLR Config** (installation décrite dans le §2.4). - **Lancer** {{:tinyclros:iconeclrconfig.png?nolink|}}. - **Connecter** la carte au PC avec un câble USB, la **sélectionner** dans //Select a device// et clic sur //Connect// {{ :tinyclros:tclrconfig.png?nolink |}} - **Télécharger** la nouvelle version du firmware sur la page download et l'installer dans le champ Firmware. === 3.2.3 Autres cartes : remplacement de .NETMF === > **Source** : Teck Talk #041 - **Vidéo** "Updating BrainPad's Firmware" > La mise à jour du firmware d'une carte sous **.NetMF** (anciennes cartes BrainPad v1 (G30), Panda III (G80) etc.) se fait en suivant la procédure ci-dessous. {{ :tinyclros:teraterm.png?nolink|}} - **Télécharger** et **installer** le logiciel Tera Term 4.1 ou supérieur. - **Télécharger** le firmware de la carte ciblée à partir de la page {{:tinyclros:download-noborder.jpg?nolink&100|}} lien. * Pour la carte **BrainPad v1** (soc **G30**){{ :tinyclros:socg30.png?nolink |}} * Pour la carte **Panda III** (soc **G80**) {{ :tinyclros:g80.png?nolink |}} * Pour les cartes **FEZ T18**.{{ :tinyclros:fez.png?nolink |}} - **Connecter** la carte au PC et la placer en mode **bootloader**. * Pour la carte **BrainPad v1 ** : action simultanée sur les boutons-poussoirs **UP** et **Reset**, relâcher Reset puis UP. La carte doit être accessible par un port COMx (Ex : COM5) dans "Périphériques et imprimantes" ou "Gestionnaire de périphériques". * Pour la carte **Panda III** : action simultanée sur les boutons-poussoirs **LDR0** et **LDR1**, suivi d'une action sur le bouton **Reset** puis relâcher LDR0 et LDR1. La carte doit être accessible par un port COMx (Ex : COM5) dans "Périphériques et imprimantes" ou "Gestionnaire de périphériques". * Pour la carte **FEZ T18** : Action simultanée sur les boutons-poussoirs **BOOT0** et **Reset**, relâcher Reset puis BOOT0. * __Remarque__ : Voir la vidéo Teck Talk #041 pour une autre carte. - **Lancer Tera Term**{{ :tinyclros:teratermnc.png?nolink&300|}} - **Sélectionner //Serial//** et le port sur lequel apparaît la carte. Puis OK. - **Entrer v** puis **[Entrée]** dans la console qui vient de s'ouvrir **pour visualiser** la version du bootloader. - Pour **effacer la mémoire**, entrer **e** puis **[Entrée]** puis **Y** et **[Entrée]** à la question "//Are you sure (Y/N)//". La console présente alors un message indiquant que l'effacement a été correctement réalisé comme dans la copie d'écran ci-dessous.{{ :tinyclros:teratermerase.png?nolink&300 |}} - **Mettre** le firmware à jour. Pour établir la connexion avec la carte, entrez x (ou u, voir la vidéo !) puis [Entrée] puis Yes et [Entrée] à la question Are you sure (Y/N). Une série de CCCCCCCCCCC s'affiche sur l'écran indiquant que la connexion est établie. Il faut maintenant sélectionner le firmware à télécharger. Ceci est réalisé en sélectionnant le menu "Send…" comme ci-dessous.{{ :tinyclros:teratermxmodem.png?nolink |}}{{:tinyclros:gpio:icone-attention_min.png?nolink&40|}} Dans la fenêtre qui s'ouvre, sélectionner l'option **1K**.{{ :tinyclros:xmodem.png?nolink |}} - **Sélectionnez** le firmware à télécharger à son emplacement sur le disque. Par exemple G30 Firmware.x.x.x.ghi pour la carte BraiPad v1. - **Cliquez** sur Ouvrir. **Si tout se passe bien**, le chargement du firmware apparaît comme ci-dessous !{{ :tinyclros:teratermok.png?nolink |}} >> Pour les autres cartes, par exemple la **Netduino 3** de Wilderness Labs, se reporter à la documentation. ==== 3.3 Le bootloader ==== {{ :tinyclros:bootloader-noborder.png?nolink&200|}} > **Source** : Teck Talk #041 - **Vidéo** "Updating BrainPad's Firmware" et site de documentation Bootloaders Introduction Un **chargeur de démarrage** (**bootloader**) est un petit logiciel qui démarre le système et exécute le micrologiciel. Il est également utilisé pour mettre à jour le firmware (ici TinyCLR OS). \\ Le bootloader est à réinstaller exceptionnellement (en cas de problème ou si une mise à jour est nécessaire). Un exemple de procédure pour la carte **BrainPad v2** est donné ci-dessous . * **Télécharger** le binaire à transférer dans la carte BrainPad v2 à partir du site The BrainPad Documentation de GHI Electronics. {{ :tinyclros:bootloaderbrainpad.png?nolink |}} {{ :tinyclros:stm32boot.png?nolink&100|}} * Pour **télécharger** le bootloader, il est nécessaire de passer la carte en **mode DFU**, pour cela : - Appuyer sur le bouton BOOT0 de la carte BrainPad et le maintenir - Appuyer sur le bouton Reset et le relâcher. - Relâcher le bouton BOOT0. > L'icône ci-contre doit apparaître dans "**Périphériques et imprimantes**". * **Téléchargez** l'outil DfuSe v3.05 ou supérieur sur le site de ST Microélectronics et l'installer sur le PC. {{ :tinyclros:stm32defuse.png?nolink |}} * **Lancer** {{:tinyclros:defusedemo.png?nolink|}} * **Réglez** "//Available DFU and compatible HID Devices//" comme ci-dessous. {{ :tinyclros:availabledfu.png?nolink |}} * **Cliquer** sur **Choose** pour sélectionner le fichier préalablement téléchargé sur le site de GHI Electronics comme dans l'exemple ci-dessous. {{ :tinyclros:dfuchoose.png?nolink |}} * Si tout se passe correctement ! {{ :tinyclros:dfucorrect.png?nolink |}} * **Cliquer** sur **Upgrade** pour télécharger le bootloader. {{ :tinyclros:dfuupgrade.png?nolink&400 |}} * **Cliquer** sur Oui > Une barre de téléchargement doit indiquer sa progression. Faire ensuite un reset de la carte. * Si tout se passe correctement ! {{ :tinyclros:upgradeok.png?nolink |}} ===== 4. Drivers sous W7 ===== > **ATTENTION** > Les drivers ne sont pas automatiquement reconnus sous W7 : voir le site GHI Electronics {{ :tinyclros:driver7.png?nolink |}} ===== 5. Source GHI pour aller plus loin ===== **Vidéo de présentation ** : Updating BrainPad's Firmware - Tech Talk #041"