Commits

Anonymous committed d0d56aa Draft

évolution de la doc

Comments (0)

Files changed (3)

   Documentation sur python et le STM32F4 : 
 ==========================================
 
-
 .. warning ::
 
-    Cette documentation ne porte que sur la plateforme linux. Il sera donc nécessaire de la compléter pour win32, et Mac Os.
+    Cette documentation ne porte que sur la plateforme linux (de préférence ubuntu). Il sera donc nécessaire de la compléter pour win32, et Mac Os.
 
 .. warning ::
     
     Pymite ne fonctionne qu'avec PYTHON 2.6 et rien d'autre.
 
 .. warning ::
-    
-    ipm ne fonctionne pas encore sur le STM32F4, pour la simple raison que le code qui devrait assurer cette fonction
-    n'est pas développé (cf le fichier plat.c où il reste à développer la communication avec la liaison série,
-    pour récupérer le code à exécuter ainsi que renvoyer le résultat de l'exécution)
-
-.. warning ::
 
     Les éléments importants :
 
-    - `arm-2011.09-69-arm-none-eabi.bin <https://sourcery.mentor.com/sgpp/lite/arm/portal/release2032>`_
+    - `summon-arm-toolchain <https://github.com/esden/summon-arm-toolchain.git>`_ (la tool chain ...)
 
-    - `summon-arm-toolchain <https://github.com/esden/summon-arm-toolchain.git>`_ (la tool chain ...)
+    - `arm-2011.09-69-arm-none-eabi.bin <https://sourcery.mentor.com/sgpp/lite/arm/portal/release2032>`_ (la version lite est téléchargeable)
 
     - `pymite fork <https://bitbucket.org/tuck/pymite>`_ (ce dépôt est à jour et résout pas mal de problème de compilation pour la version 0.9)
 

source/installation.rst

         - pymite-09.tar.gz
 
     * pour le reste de la documentation on supposera que tout se passe dans un répertoire
-      créé pour l'exemple ::
-           virtualenv --python=python2.6 myvenv
-           source ./myvenv/bin/activate
-           mkdir ~/stm32f4_work
-           cp stlink.tar.gz ~/stm32f4_work
-           cp pymite-09.tar.gz ~/stm32f4_work
-           cp arm-2011.09-69-arm-none-eabi.bin ~/stm32f4_work
+      créé pour l'exemple::
+               virtualenv --python=python2.6 myvenv
+               source ./myvenv/bin/activate
+               mkdir ~/stm32f4_work
+               cp stlink.tar.gz ~/stm32f4_work
+               cp pymite-09.tar.gz ~/stm32f4_work
+               cp arm-2011.09-69-arm-none-eabi.bin ~/stm32f4_work
 
-    * installer la chaîne de compilation si vous avez les binaires
+    * Installer la chaîne de compilation de **Sourcery** si vous avez les binaires
 
         - exécuter le binaire arm-2011.09-69-arm-none-eabi.bin::
-               cd ~/stm32f4_work
-               ./arm-2011.09-69-arm-none-eabi.bin
+                dev@tuck-eeepc:~$ ./arm-2011.09-69-arm-none-eabi.bin
 
             vous pouvez exécuter ce binaire depuis votre utilisateur habituel (pas besoin de sudo)
             cela exécute un installeur basé en java, suivre la procédure d'installation, le programme
              + ~/Sourcery_CodeBench_Lite_for_ARM_EABI
              + ~/CodeSourcery/
 
-        - installer la chaîne de compilation grâce au projet **`summon-arm-tool-chain<http://jeremyherbert.net/get/stm32f4_getting_started>`_**::
-            sudo apt-get install git zlib1g-dev libtool flex \
-            bison libgmp3-dev libmpfr-dev libncurses5-dev libmpc-dev \
-            autoconf texinfo build-essential libftdi-dev
-            # install some packages ...
-            git clone https://github.com/esden/summon-arm-toolchain.git
-            cd summon-arm-toolchain
-            ./summon-arm-toolchain
-            # les binaires seront alors installés dans votre home directory
-            # sous $(HOME)/sat
-            # regardez le contenu du fichier README contenu dans le projet
-            # pour d'autres paramètres d'installation
+        - rendre accessible le binaire arm-none-eabi-gdb pour cela modifier votre PATH::
+               dev@tuck-eeepc:~$ export PATH=$PATH:~/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin/
+
+    * Installer la chaîne de compilation grâce au projet **`summon-arm-tool-chain<http://jeremyherbert.net/get/stm32f4_getting_started>`_**
+
+        - utilisation du projet  summon daemon pour installer la tool chain::
+                dev@tuck-eeepc:~$ sudo apt-get install git zlib1g-dev libtool flex \
+                bison libgmp3-dev libmpfr-dev libncurses5-dev libmpc-dev \
+                autoconf texinfo build-essential libftdi-dev
+                # install some packages ...
+                dev@tuck-eeepc:~$ git clone https://github.com/esden/summon-arm-toolchain.git
+                dev@tuck-eeepc:~$ cd summon-arm-toolchain
+                dev@tuck-eeepc:~/summon-arm-toolchain$ ./summon-arm-toolchain
+                # attention le process peut durer quelques heures (~ 3h ...)
+                # les binaires seront alors installés dans votre home directory
+                # sous $(HOME)/sat
+                # regardez le contenu du fichier README contenu dans le projet
+                # pour d'autres paramètres d'installation
         
         - rendre accessible le binaire arm-none-eabi-gdb pour cela modifier votre PATH::
-               export PATH=$PATH:~/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin/
-               # ou pour la toolchain obtenue grâce à summon-arm-toolchain
-               # et qui par défaut doit s'installer sous ~/sat
-               export PATH=$PATH:~/sat/bin/
+               dev@tuck-eeepc:~$ export PATH=$PATH:~/sat/bin/
 
-        - installer des librairies nécessaires (facultatif et fonction du système ...)::
-                sudo apt-get install libusb--dev
-                sudo apt-get install libusb-1.0-0
-                sudo apt-get install libusb-1.0-0-dev
-                sudo apt-get install libsgutils2-dev
-                sudo apt-get install scons
+    * installer des librairies nécessaires (facultatif et fonction du système ...)::
+            dev@tuck-eeepc:~$ sudo apt-get install libusb--dev
+            dev@tuck-eeepc:~$ sudo apt-get install libusb-1.0-0
+            dev@tuck-eeepc:~$ sudo apt-get install libusb-1.0-0-dev
+            dev@tuck-eeepc:~$ sudo apt-get install libsgutils2-dev
+            dev@tuck-eeepc:~$ sudo apt-get install scons
 
-        - compiler stlink: stlink peut être obtenue à partir d'un dépôt directement depuis github::
-            git clone https://github.com/texane/stlink stlink
-            # please read README file ...
-            ./autogen.sh
-            ./configure
-            make
+    * compiler stlink: ce projet peut être obtenu à partir d'un dépôt github::
+            dev@tuck-eeepc:~$ git clone https://github.com/texane/stlink stlink
+            dev@tuck-eeepc:~$ cd stlink
+            # profitez-en pour le lire le fichier README ...
+            dev@tuck-eeepc:~/stlink$ ./autogen.sh
+            dev@tuck-eeepc:~/stlink$ ./configure
+            dev@tuck-eeepc:~/stlink$ make
 
-        - décompresser l'archive de pymite ou récupèrer le projet depuis bitbucket :
-
-            si vous avez déjà l'archive pymite::
-              cd ~/stm32f4_work
-              tar -zxvf pymite-09.tar.gz
-
-            dans le cas contraire s ::
-              hg clone https://bitbucket.org/tuck/pymite
+    * Récupérer le projet depuis bitbucket ::
+            dev@tuck-eeepc:~$ hg clone https://bitbucket.org/tuck/pymite
 
 .. note::
         
 directement sur le STM32F4. Il y a différent éléments à connaître pour
 utiliser correctement cette console interactive.
 
+    - Le mode interactif n'est disponible que si pyserial est installé::
+           (myvenv)dev@tuck-eeepc:~/pymite/src/tools$ easy_install pyserial
+
+    - Vérifier que votre utilisateur a accès au port série (/dev/ttyUSB0 dans notre exemple)::
+           (myvenv)dev@tuck-eeepc:~/pymite/src/tools$ ls -al /dev/ttyUSB0
+           (myvenv)dev@tuck-eeepc:~/pymite/src/tools$ groups
+           (myvenv)dev@tuck-eeepc:~/pymite/src/tools$ dev dialout
+           # sinon vous deverez ajouter votre utilisateur à 'dialout'
+           (myvenv)dev@tuck-eeepc:~/pymite/src/tools$ sudo usermod -a -G dialout dev
+
     - Le mode interactif n'est disponible que si vous modifiez le fichier main.py
       afin d'exécuter la fonction ipm. Il peut se résumer à::
-
            import ipm
            ipm.ipm()
 
                 # et ajouter votre module pour qu'il soit compilé
                 PY_SOURCES = ["main.py", "stm32f4discovery.py", "gpio.py", "pin.py", "lcd.py", "wire.py","my_tool"]
                 # n'oubliez pas de recompiler le projet ensuite et de le recharger sur la carte
-                sconscript PLATFORM=stm32f4
+                (myvenv)dev@tuck-eeepc:~/pymite$ scons PLATFORM=stm32f4
                 # puis recharger le binaire pour le STM32F4
 
 Plus concrètement :
 
         make ipm
         #démarrer la console ipm
-        python ipm.py -f ../platform/stm32f4/pmfeatures.py  --serial=/dev/ttyUSB0 --baud=57600
+        (myvenv)dev@tuck-eeepc:~/pymite/src/tools$ python ipm.py -f ../platform/stm32f4/pmfeatures.py  --serial=/dev/ttyUSB0 --baud=57600
 
     o modifier la vitesse de transfert (57600 par défaut) ::
 
         vars.Add("PM_UART_ALT_BAUD", "ALT Baud rate of the ipm serial connection.", "57600")
         
         # recompiler ensuite le binaire et recharger le main.elf sur le STM32F4
-        scons PLATFORM=stm32f4
+        (myvenv)dev@tuck-eeepc:~/pymite/src/tools$ scons PLATFORM=stm32f4
 
 .. note::