Projet

Général

Profil

SOP 002-Environnement informatique » Historique » Révision 80

Révision 79 (Patrice Nadeau, 2017-07-29 15:55) → Révision 80/151 (Patrice Nadeau, 2017-07-29 16:02)

h1. SOP 002-Environnement informatique 

 Ce SOP explique comment configurer un poste pour 
 * la programmation (C) 
 * le désign de circuits électroniques 
 > Pour l’instant, seulement un environnement GNU\Linux (openSUSE) est documenté. 

 {{lastupdated_at}} {{lastupdated_by}} 

 --- 

 {{toc}} 

 h2. Matériel 

 h3. Ordinateur 

 * Processeur 
 ** 64 bits 
 * Mémoire 
 ** 2 Mo 
 * Disque 
 * Port série ou convertisseur USB/série (communication série et programmeur AVR) 
 * Port USB 2.0 ou plus (sonde Logic et programmeur AVR) 


 h3. Écran 

 * Résolution minimal de 1690x900 (VIM 2 x 80 colonnes + taglist) 
 ** 1 minimum, 2 fortement recommandés 

 h3. Programmeur 

 Pour le transfert des programmes vers les uC AVR. 

 Les programmeur suivants ont été testés : 
 * Atmel STK500 
 * Atmel STK600 
 * Atmel AVRISP mkII 

 h2. Logiciels 

 h3. Système d'exploitation 

 openSUSE Leap 42.3 avec interface graphique 

 h3. Navigateur Web 

 Pour l’accès à Redmine 

 h4. Firefox  

 Dictionnaire français 

 h3. Suite bureautique 

 LibreOffice 

 h3. Autres 

 Document viewer (Evince) 

 h3. Éditeur 

 L’éditeur "VIM":http://www.vim.org est utilisé.  
 Plusieurs compléments sont installés et une personnalisation est appliquée. 

 <pre><code class="bash"> 
 sudo zypper install gvim vim-data vim-plugin-a vim-plugin-NERDtree 
 </code></pre> 

 Plugin de http://www.vim.org/ 
 * puppet_syntax 
 * tagbar 

 Ctags 
 <pre><code class="bash"> 
 sudo zypper install ctags 
 </code></pre> 

 h4. Personnalisation 

 Copier les gabarits 
 > TODO : gabarits Vim 

 <pre><code class="bash"> 
 mkdir ~/Documents/projects 
 ... 
 </code></pre> 

 Créer des liens symboliques pour : 
 <pre><code class="bash"> 
 ln -s ~/Documents/projects/vim/vimrc ~/.vimrc 
 ln -s~/Documents/projects/vim/vim ~/.vim 
 ln -s~/Documents/projects/vim/ctags ~/.ctags 
 </code></pre> 

 Créer un raccourci pour l’application 
 <pre><code class="bash"> 
 gvim –cmd:cd /home/repertoire_projets 
 </code></pre> 

 h3. Unison 

 Synchronisation de données 
 <pre><code class="bash"> 
 sudo zypper install unison 
 </code></pre> 

 h3. Minicom 

 Logiciel de terminal sous GNU/Linux 

 Installation 
 <pre><code class="bash"> 
 sudo zypper install minicom 
 </code></pre> 

 Personnalisation 
 Ajouter l’utilisateur dans le groupe *dialout*. 
 <pre><code class="bash"> 
 sudo usermod --groups dialout username 
 </code></pre> 
 L’usager doit se reloguer. 

 h3. XƎTEX 

 Installation 
 <pre><code class="bash"> 
 sudo zypper install texlive-latex texlive-listing texlive-fancyhdr texlive-graphics texlive-todo texlive-siunitx texlive-beamer texlive-context-fullpage texlive-lastpage texlive-polyglosisa texlive-lstaddons 
 </code></pre> 

 h2. Programmation 

 Le langage _C_ est celui utilisé pour les systèmes embarqués. 

 h3. Éditeur 

 Ajouts supplémentaire à VIM 

 h3. Compilateur C 

 h4. gcc 

 <pre><code class="bash"> 
 sudo zypper install gcc make 
 </code></pre> 

 h4. splint 

 Vérificateur de syntaxe C 
 <pre><code class="bash"> 
 sudo zypper install splint 
 </code></pre> 

 h3. Doxygen 

 Outil de documentation (C/C++, java) 

 Installation 
 <pre><code class="bash"> 
 sudo zypper install doxygen texlive-latex texlive-xtab texlive-multirow texlive-sectsty texlive-tocsoft 
 </code></pre> 

 h3. Git 

 Système de contrôle de version 

 Installation 
 <pre><code class="bash"> 
 sudo zypper install git 
 </code></pre> 

 h3. Atmel AVR 

 Pour la programmation des micro-controleur AVR 8 bits d’Atmel. 

 h4. Atmel AVR 8-bit GNU toolchain 



 

 > Version 3.5.4 

 (!) Contient la version avr-gcc 4.9.2 avec le bogue "64452":https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64452. Utiliser la solution de logiciel tiers en attendant la version 4.9.3. 

 Télécharger du site de Atmel (un compte n’est pas obligatoire) : http://www.atmel.com/tools/ATMELAVRTOOLCHAINFORLINUX.aspx 

 Décompresser le fichier. 
 <pre><code class="bash"> 
 tar xf avr8-gnu-toolchain-3.5.4.1709-linux.any.x86_64.tar.gz 
 </code></pre> 

 Copier les fichiers : 
 <pre><code class="bash"> 
 # Créer le dossier (si n’existe pas déjà) 
 sudo mkdir --parents /opt/cross/avr 
 # Copier les fichiers 
 sudo cp --recursive avr8-gnu-toolchain-linux_x86_64/* /opt/cross/avr 
 # Créer les liens 
 sudo ln --symbolic /opt/cross/avr/ /usr/local/avr 
 </code></pre> 

 Créer le fichier d'environnement : 
 <pre><code class="bash"> 
 sudo vi /etc/profile.d/avr.sh 
 </code></pre> 
 Contenu du fichier : 
 <pre><code class="bash"> 
 #!/bin/bash 
 # Export path for AVR toolchain 
 export PATH=/usr/local/avr/bin:${PATH} 
 export MANPATH=/usr/local/avr/man:/usr/local/avr/share/man:${MANPATH} 
 </code></pre> 

 Se loguer en tant que l’utilisateur et exécuter 
 <pre><code class="bash"> 
 source /etc/profile.d/avr.sh 
 </code></pre> 

 h4. Logiciel tiers pour toolchain 

 > Version 4.8.4 de avr-gcc 

 <pre><code class="bash"> 
 wget http://download.opensuse.org/repositories/home:/derselbst/openSUSE_Leap_42.2/x86_64/cross-avr-gcc-4.8.4-5.15.x86_64.rpm 
 wget http://download.opensuse.org/repositories/home:/derselbst/openSUSE_Leap_42.2/noarch/avr-libc-1.8.1-3.4.noarch.rpm 
 sudo zypper install cross-avr-binutils cross-avr-gcc-4.8.4-5.15.x86_64.rpm cross-avr-binutils-2.25.0-5.1.x86_64.rpm avr-libc-1.8.1-3.1.noarch.rpm 
 </code></pre> 

 > Version 5.4.0 de avr-gcc 

 <pre><code class="bash"> 
 sudo zypper addrepo http://download.opensuse.org/repositories/CrossToolchain:avr/openSUSE_Leap_42.3/CrossToolchain:avr.repo 
 sudo zypper refresh 
 sudo zypper install cross-avr-gcc cross-avr-binutils avr-libc 
 </code></pre> 

 h4. Avrdude 
 > Version 6.1 

 Logiciel de transfert pour AVR. 

 Installation Les modules suivant sont nécessaire : 
 <pre><code class="bash"> 
 sudo zypper install avrdude libusb-compat-devel 
 </code></pre> 

 Permissions USB 
 Créer le fichier de règle : 
 <pre><code class="bash"> 
 sudo vi /etc/udev/rules.d/60-avrisp.rules 
 </code></pre> 
 Contenu du fichier :  
 <pre><code class="bash"> 
 SUBSYSTEM!="usb_device", ACTION!="add", GOTO="avrisp_end" 
 # Atmel Corp. JTAG ICE mkII 
 ATTR{idVendor}=="03eb", ATTR{idProduct}=="2103", MODE="660", GROUP="avr" 
 # Atmel Corp. AVRISP mkII 
 ATTR{idVendor}=="03eb", ATTR{idProduct}=="2104", MODE="660", GROUP="avr" 
 # Atmel Corp. Dragon 
 ATTR{idVendor}=="03eb", ATTR{idProduct}=="2107", MODE="660", GROUP="avr" 
 LABEL="avrisp_end" 
 </code></pre> 

 Rebrancher le programmeur USB pour relire le fichier */etc/udev/rules.d* 

 Créer un groupe *avr* et y ajouter les usagers nécessaires. 
 <pre><code class="bash"> 
 sudo groupadd avr 
 sudo usermod --groups avr username 
 </code></pre> 

 L’usager doit se reloguer. 

 h3. BeagleBone 

 h2. Simulation 

 Simulation de circuit électronique. 

 h3. GNUCap 

 <pre><code class="bash"> 
 sudo zypper install gnucap gspiceui geda-gschem geda-netlist 
 </code></pre> 

 h2. CAD 

 h3. KiCAD 
 > Version 4.0.6 

 h4. Installation 

 <pre><code class="bash"> 
 sudo zypper install kicad 
 </code></pre> 

 h4. Personnalisation 

 Les fichiers gabarit d'un +nouveau+ projet sont : 
 * Global (system wide) : */usr/share/kicad/template/kicad.pro*. 
 * Utilisateur courant : *~/noname.pro* 

 >Comme les libraires fournis proviennent de source divers et que je ne contrôle pas, je ne travaille qu’avec mes propres libraires. 
 >J’enlève donc les librairies de KiCad et j'ajoute les miennes. 
 >Fichier _~/noname.pro_ (2 lignes à modifier) : 
 >* _LibDir_ : */home/pnadeau/Documents/projects/cad/libraries/kicad/* 

 h2. Autres 

 h3. Logic 
 > Version 1.2.10 

 Analyseur logique 

 Téléchargement à partir de http://www.saleae.com/downloads 

 Décompresser le fichier et placer les fichiers dans *~/Logic* 

 Installer le pilote 
 <pre><code class="bash"> 
 ~/Logic/Drivers/install_driver.sh 
 </code></pre> 

 Débrancher et rebrancher l'analyseur.