SOP 002-Environnement informatique » Historique » Révision 76
Révision 75 (Patrice Nadeau, 2017-07-29 15:29) → Révision 76/151 (Patrice Nadeau, 2017-07-29 15:43)
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 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 x.x.x 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
</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.