Projet

Général

Profil

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

Révision 7 (Patrice Nadeau, 2015-09-20 10:31) → Révision 8/151 (Patrice Nadeau, 2015-09-20 10:35)

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é. 
 > Certaines sections peuvent avoir de la documentation pour Windows. 

 {{lastupdated_at}} {{lastupdated_by}} 

 --- 

 {{toc}} 

 h2. Matériel 

 h3. Ordinateur 

 * Processeur 
 ** Intel Atom et plus 
 * 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 Dragon 
 ** Ne seras plus supporté 
 * Atmel AVRISP mkII 

 h2. Logiciels 

 h3. Système d'exploitation 

 Dernière version _openSUSE_ avec interface graphique (_Xfce_ suggéré) 

 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"> 
 zypper install gvim vim-data vim-plugin-a 
 </code></pre> 

 Plugin de http://www.vim.org/ 
 * puppet_syntax 
 * taglist 
 * NERDTree 

 Ctags 
 <pre><code class="bash"> 
 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"> 
 zypper install unison 
 </code></pre> 

 h3. Minicom 

 Logiciel de terminal sous GNU/Linux 

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

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

 h3. XƎTEX 

 Installation 
 <pre><code class="bash"> 
 zypper install texlive-latex texlive-listing texlive-fancyhdr texlive-graphics texlive-todo texlive-siunitx texlive-beamer texlive-context-fullpage texlive-lastpage texlive-polyglosisa 
 </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"> 
 zypper install gcc make 
 </code></pre> 

 h4. splint 

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

 h3. Doxygen 

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

 Installation 
 <pre><code class="bash"> 
 zypper install doxygen texlive-latex 
 </code></pre> 

 h3. Git 

 Système de contrôle de version 

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

 h3. Atmel AVR 

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

 h4. Atmel AVR 8-bit toolchain 

 Télécharger du site de Atmel (un compte n’est pas obligatoire) 
 >Choisir la version 32 ou 64 bits selon le système d’exploitation installé. 
 GNU\Linux : http://www.atmel.com/tools/ATMELAVRTOOLCHAINFORLINUX.aspx 
 Windows : http://www.atmel.com/tools/ATMELAVRTOOLCHAINFORWINDOWS.aspx 

 Décompresser le fichier. 
 En tant que root : 
 <pre><code class="bash"> 
 # Créer le dossier (si n’existe pas déjà) 
 mkdir --parents /opt/cross/avr 
 # Copier les fichiers 
 cp --recursive avr8-gnu-toolchain-linux_x86/* /opt/cross/avr 
 # Creer les liens 
 ln --symbolic /opt/cross/avr/ /usr/local/avr 
 </code></pre> 

 Créer le fichier */etc/profile.d/avr.sh* avec le contenu suivant : 
 <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. Avrdude 

 Logiciel de transfert pour AVR. 

 openSUSE inclus la version 5.11.1. 
 >La version 6.0.1 ne DOIT PAS être installée, elle contient le bogue "#40142":https://savannah.nongnu.org/bugs/?40142 

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

 Permissions USB (GNU\Linux) 
 Créer le fichier */etc/udev/rules.d/60-avrisp.rules* contenant 
 <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"> 
 groupadd avr 
 usermod --groups avr username 
 </code></pre> 

 L’usager doit se reloguer. 

 h3. BeagleBone 

 h2. CAD 

 h3. KiCAD 

 h4. Installation 

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

 h4. Personnalisation 

 Les fichiers gabarit d'un projet sont : 
 > Ne s’applique qu'à la création d'un nouveau projet. 
 * Global (system wide) : */usr/share/kicad/template/kicad.pro*. 
 * Utilisateur courant : *~/noname.pro* 

 Les lignes _LibDir_ (2) sont celles pointant vers les librairies. 

 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 

 Eeschema 
 * Preference 
 ** Librairy 
 *** User search path list : */home/pnadeau/Documents/projects/cad/libraries/kicad/*  
 *** Component library files : Enlever les librairies existantes et ajouter les librairies _SLPN_ 
 ** Save Preferences 

 CvPcb 
 * Preference 
 ** Librairy 
 *** User search path list : */home/pnadeau/Documents/projects/cad/libraries/kicad/* 
 *** Component library files : Enlever les librairies existantes et ajouter les librairies _SLPN_ 
 ** Save Preferences 

 Pcbnew 
 * Preference 
 ** Librairy 
 *** User define search paths : */home/pnadeau/Documents/projects/cad/libraries/kicad/*  
 *** Component library files : Enlever les librairies existantes et ajouter les librairies _SLPN_ 
 ** Save Preferences 

 h3. EAGLE 

 >*Ce logiciel n'est pas "open-source"* 
 > Il ne devrait pas servir pour la création de nouveau projets sauf sur demande du client. 

 Télécharger de http://www.cadsoftusa.com/download-eagle/ 

 Installer les librairies nécessaires  

 <pre><code class="bash"> 
 zypper install libpng12-0-32bit libpng16-16-32bit libjpeg8-32bit libXi6-32bit libXrender1-32bit libXrandr2-32bit libXcursor1-32bit libfreetype6-32bit fontconfig-32bit 
 </code></pre> 

 >nécessaire en mode 64 bits seulement 
 <pre><code class="bash"> 
 zypper install libpng12-0 libpng16-16 libjpeg8 libXi6 libXrender1 libXrandr2 libXcursor1 libfreetype6 fontconfig 
 </code></pre> 

 h4. Configuration des répertoires 

 h2. Autres 

 h3. Logic 

 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 
 </code></pre> 

 Débrancher et rebrancher la sonde.