Difference between revisions of "Proj-2011-2012-elua-arduino"
Line 63: | Line 63: | ||
'''Test OK'''. On garde sous le coude cette librairie, en attendant on attaque la mise en place de l'environnement eLua sur la carte. |
'''Test OK'''. On garde sous le coude cette librairie, en attendant on attaque la mise en place de l'environnement eLua sur la carte. |
||
− | |||
− | @Elizabeth : compléter cette partie avec l’installation de l’environnement d'eLua et toutes les dépendances (luarocks, md5, lfs, AsciiDoc, scons...) |
||
Environnement eLua avec la plateforme pour la stm32f4-discovery: |
Environnement eLua avec la plateforme pour la stm32f4-discovery: |
||
Line 74: | Line 72: | ||
$ sudo apt-get install luarocks |
$ sudo apt-get install luarocks |
||
$ Voir: '''http://www.luarocks.org/''' |
$ Voir: '''http://www.luarocks.org/''' |
||
+ | Exemples : |
||
− | |||
⚫ | |||
− | |||
$ luarocks install luafilesystem ou |
$ luarocks install luafilesystem ou |
||
$ '''git://github.com/keplerproject/luafilesystem.git''' |
$ '''git://github.com/keplerproject/luafilesystem.git''' |
||
Line 84: | Line 80: | ||
$ Voir: '''http://www.keplerproject.org/md5/''' |
$ Voir: '''http://www.keplerproject.org/md5/''' |
||
⚫ | |||
− | Installer scons, et lancer la commande suivante dans le fichier ou se trouve eLua: |
||
+ | $ sudo apt-get install scons |
||
+ | Lancer la compilation : |
||
+ | $ cd elua |
||
$ scons board=STM32F4DSCY prog |
$ scons board=STM32F4DSCY prog |
||
Revision as of 19:09, 20 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 :
- eLua : https://github.com/elua/elua
- stlink : https://github.com/texane/stlink
- summon-arm-toolchain : https://github.com/esden/summon-arm-toolchain
- libopencm3 : http://www.libopencm3.org/
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
- Faire fonctionner la carte
- Installation du Sourcery G++ (finalement pas utilisé pour l'instant)
- Installer de la toolchain cortex m3
Semaine 2
Lundi:
- Continuation de l'installation:
- Toolchain cortex m3
- StLink : https://github.com/texane/stlink
- 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 :
- Utiliser l’historique git pour voir les modifications qui ont été faites sur cette partie.
- Étudier le fork suivant sur github : https://github.com/bikeNomad/stlink
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
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
Liens intéressants
- Un pull request apportant un meilleur support des STM32F2 et STM32F4 pour eLua : https://github.com/elua/elua/pull/5 ?
- Toujours la même personne, deux forks de stlink et eLua apportant peut être une meilleure compatibilité avec la STM32F4 ?
- Programming the STM32F4 DISCOVERY with the Bus Blaster
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