Difference between revisions of "Proj-2011-2012-elua-arduino"

From air
Jump to navigation Jump to search
Line 133: Line 133:
 
====Mise en place de Sourcery G+====
 
====Mise en place de Sourcery G+====
   
mkdir -p ~/stm32/CodeBench/;
+
$ mkdir -p ~/stm32/CodeBench/;
cd ~/stm32/CodeBench/
+
$ cd ~/stm32/CodeBench/
wget https://sourcery.mentor.com/sgpp/lite/arm/portal/package9742/public/arm-none-eabi/arm-2011.09-69-arm-none-eabi.bin
+
$ wget https://sourcery.mentor.com/sgpp/lite/arm/portal/package9742/public/arm-none-eabi/arm-2011.09-69-arm-none-eabi.bin
   
sudo dpkg-reconfigure -plow dash
+
$ sudo dpkg-reconfigure -plow dash
#Réponse Non
+
$ #Réponse Non
# Création du dossier d'installation
+
$ # Création du dossier d'installation
sudo mkdir -p /usr/local/CodeBench_1802_EABI
+
$ sudo mkdir -p /usr/local/CodeBench_1802_EABI
sudo chown $USER.users /usr/local/CodeBench_1802_EABI
+
$ sudo chown $USER.users /usr/local/CodeBench_1802_EABI
echo "export PATH=/usr/local/CodeBench_1802_EABI/bin:\$PATH" > ~/stm32/CodeBench/CodeBench_setup.sh
+
$ echo "export PATH=/usr/local/CodeBench_1802_EABI/bin:\$PATH" > ~/stm32/CodeBench/CodeBench_setup.sh
  +
  +
$ /bin/sh arm-2011.03-42-arm-none-eabi.bin
  +
  +
**Minimal installation
  +
**Install dir: /usr/local/CodeBench_1802_EABI
  +
**No add to path! (if you don't wan't this off course)
  +
**Don't create links
   
 
== Liens intéressants ==
 
== Liens intéressants ==

Revision as of 01:19, 29 February 2012

Description

Approche Arduino avec eLua sur la carte STM32F4-DISCOVERY

Récupérer les sources

Le code source du projet est disponible sur github.

$ git clone git://github.com/SalemHarrache/ricm4-STM32F4-Discovery-eLua-arduino.git

ou

$ git clone --recursive git://github.com/SalemHarrache/ricm4-STM32F4-Discovery-eLua-arduino.git

pour récupérer récursivement les dépôt git des outils qu'on utilise, à savoir :

Suivi du projet

Vous pouvez suivre ici l’avancement du projet semaine par semaine. L

Semaine 0

  • Etudier Lua
  • Comprendre l'approche de Arduino et se familiariser avec leurs outils
  • Essayer l'environnement Elua
  • Comprendre le sujet

Semaine 1


Semaine 2

Lundi:

  • Continuation de l'installation:
  • Tests:
    • "Building and running a program in SRAM"
    • Debut du test: "Building and flashing a program"

Mardi:

  • Suite des du test de Flash

Semaine 3

Simplification du programme blink_flask de stlink pour réussir le flash sur STM32F4 : Aucun résultat concluant.

TODO :

En attendant, test de libopencm3 (anciennement libopenstm32) :

$ git clone git://libopencm3.git.sourceforge.net/gitroot/libopencm3/libopencm3
$ cd libopencm3
$ make
$ cd examples/stm32/f4/stm32f4-discovery/miniblink
$ make
$ sudo \$STLINK_PATH/flash write ./miniblink.bin 0x8000000

Test OK. On garde sous le coude cette librairie, en attendant on attaque la mise en place de l'environnement eLua sur la carte.

Environnement eLua avec la plateforme pour la stm32f4-discovery:

$ git://github.com/jsnyder/elua.git
$ git checkout bikeNomad-master

Installer luarocks (permet l'installation des modules Lua):

$ sudo apt-get install luarocks
$ Voir: http://www.luarocks.org/

Exemples :

$ luarocks install luafilesystem ou 
$ git://github.com/keplerproject/luafilesystem.git
$ Voir: http://keplerproject.github.com/luafilesystem/
$ luarocks install md5
$ git://github.com/keplerproject/md5.git
$ Voir: http://www.keplerproject.org/md5/

Installer scons

$ sudo apt-get install scons

Lancer la compilation :

$ cd elua
$ scons board=STM32F4DSCY prog

Résultat attendu:

Compiling eLua ...
CPU:  STM32F407VG
Board:  STM32F4DSCY
Platform:  stm32f4
Allocator:  newlib
Boot Mode:  standard
Target:  lua
Toolchain:  codesourcery
ROMFS mode:  verbatim

Semaine 4

Vacances

Semaine 5

Fork eLua : https://github.com/SalemHarrache/elua/tree/polytech-master

$ git clone git@github.com:SalemHarrache/elua.git

Les deux branches à nous sont:

  • polytech-master : Reprend les derniers commits de James Snyder
$ git checkout polytech-master
$ scons board=STM32F4DSCY prog

TODO : Pourquoi cette erreur à la compilation ?

error: /home/salem/sat/lib/gcc/arm-none-eabi/4.5.2/../../../../arm-none-eabi/lib/libc.a(lib_a-setjmp.o): Conflicting CPU architectures 13/1


  • old-ploytech-master : Ancien travail de James Snyder
$ git checkout old-polytech-master
$ scons board=STM32F4DSCY prog


https://github.com/SalemHarrache/elua/tree/polytech-master

Semaine 6

Il semblerait que l'erreur de la compilation vue la semaine dernière soit à l'origine du non fonctionnement d'eLua sur la carte. En effet, on va utiliser Sourcery G++ pour compilation au lieu de la summon-arm-toolchain.

Mise en place de Sourcery G+

$ mkdir -p ~/stm32/CodeBench/;
$ cd ~/stm32/CodeBench/
$ wget https://sourcery.mentor.com/sgpp/lite/arm/portal/package9742/public/arm-none-eabi/arm-2011.09-69-arm-none-eabi.bin
$ sudo dpkg-reconfigure -plow dash
$ #Réponse Non
$ # Création du dossier d'installation
$ sudo mkdir -p  /usr/local/CodeBench_1802_EABI
$ sudo chown $USER.users  /usr/local/CodeBench_1802_EABI
$ echo "export PATH=/usr/local/CodeBench_1802_EABI/bin:\$PATH" > ~/stm32/CodeBench/CodeBench_setup.sh
$ /bin/sh arm-2011.03-42-arm-none-eabi.bin
    • Minimal installation
    • Install dir: /usr/local/CodeBench_1802_EABI
    • No add to path! (if you don't wan't this off course)
    • Don't create links

Liens intéressants

Echange enseignant

Tests réussis avec la carte STM32F4-DISCOVERY

  • Test de chaîne de compilation Sourcery G++ Lite 2011.03-42 for ARM EABI. Pour la compilation on utilise entre autres, --mcpu=cortex-m4
  • Test de | stlink sous linux pour le chargement de programme. Tutoriel OK avec l'application blink_F4.elf (et chargement en ram). Test avec flash de la mémoire non-effectuée