Difference between revisions of "Stellaris Luminary Lm3s6965"

From air
Jump to navigation Jump to search
(→‎qemu: Ajoute liens Sourcery G++)
(Mise en Page + Ortho)
Line 2: Line 2:
   
 
[[File:EKI-LM3S6965.jpg|200px|thumb|right| Stellaris Luminary Lm3s6965 ]]
 
[[File:EKI-LM3S6965.jpg|200px|thumb|right| Stellaris Luminary Lm3s6965 ]]
Ce [http://www.luminarymicro.com/products/lm3s6965_ethernet_evaluation_kit.html kit] est contruit autour d'un microcontrolleur [[ARM Cortex-M3]] Lm3s6965
+
Ce [http://www.luminarymicro.com/products/lm3s6965_ethernet_evaluation_kit.html kit] est construit autour d'un microcontrolleur [[ARM Cortex-M3]] Lm3s6965
 
de marque Luminary Micro appartenant au groupe Texas Instrument.
 
de marque Luminary Micro appartenant au groupe Texas Instrument.
   
Les principales caratéristiques et intérêt de ce kit sont:
+
Les principales caratéristiques et intérêts de ce kit sont:
   
 
* Processeur ARM 32bit Cortex-M3
 
* Processeur ARM 32bit Cortex-M3
Line 37: Line 37:
 
Ce script va récupérer et compiler openocd.
 
Ce script va récupérer et compiler openocd.
   
./setup_lm3s6965.sh
+
<pre>./setup_lm3s6965.sh</pre>
   
 
Construire et installer le bon pilote FTDI
 
Construire et installer le bon pilote FTDI
   
  +
<pre>
 
wget http://www.intra2net.com/en/developer/libftdi/download/libftdi-0.18.tar.gz
 
wget http://www.intra2net.com/en/developer/libftdi/download/libftdi-0.18.tar.gz
 
#install open FTDI drivers
 
#install open FTDI drivers
Line 50: Line 51:
 
sudo make install
 
sudo make install
 
sudo ldconfig
 
sudo ldconfig
  +
</pre>
   
 
On lance openocd en root
 
On lance openocd en root
   
sudo openocd -f /usr/local/share/openocd/scripts/board/ek-lm3s6965.cfg
+
<pre>sudo openocd -f /usr/local/share/openocd/scripts/board/ek-lm3s6965.cfg</pre>
   
 
Et on peut flash la microntrolleur
 
Et on peut flash la microntrolleur
  +
<pre>
 
 
#flash mcu with some code at address 0x00000 and execute
 
#flash mcu with some code at address 0x00000 and execute
 
telnet localhost 4444
 
telnet localhost 4444
Line 62: Line 64:
 
flash write_image erase /tmp/main.bin 0
 
flash write_image erase /tmp/main.bin 0
 
reset
 
reset
  +
</pre>
 
   
 
Exemple avec le déboggeur gdb
 
Exemple avec le déboggeur gdb
Line 70: Line 72:
 
D'autres paquets disponibles sur le [http://www.codesourcery.com/sgpp/lite/arm/portal/release1592 site du logiciel]
 
D'autres paquets disponibles sur le [http://www.codesourcery.com/sgpp/lite/arm/portal/release1592 site du logiciel]
   
Les fichiers test-cortex-m3.c, startup_gcc.c et lm3s.ld utilisé ci-aprés sont disponible dans l'archive: [[File:Test-cortex-m3.tar]]
+
Les fichiers test-cortex-m3.c, startup_gcc.c et lm3s.ld utilisés ci-aprés sont disponibles dans l'archive: [[File:Test-cortex-m3.tar]]
   
   
Line 80: Line 82:
 
arm-none-eabi-nm test-cortex-m3.elf
 
arm-none-eabi-nm test-cortex-m3.elf
   
  +
Juste de pour voir le code déassemblé
+
Juste pour voir le code déassemblé
 
arm-none-eabi-objdump -d test-cortex-m3.elf
 
arm-none-eabi-objdump -d test-cortex-m3.elf
  +
   
 
Il faut une version binaire simple à charger et non la version trop riche
 
Il faut une version binaire simple à charger et non la version trop riche
Line 92: Line 96:
 
./configure --target-list=arm-softmmu # On configure pour ne pas tout compiler
 
./configure --target-list=arm-softmmu # On configure pour ne pas tout compiler
 
make
 
make
  +
   
 
Lancement de l'émulation avec qemu
 
Lancement de l'émulation avec qemu
Line 98: Line 103:
 
QEMU 0.13.0 monitor - type 'help' for more information
 
QEMU 0.13.0 monitor - type 'help' for more information
 
(qemu) quit
 
(qemu) quit
  +
   
 
== FAQ ==
 
== FAQ ==
===Quels sont les composant reconnus de la carte?===
+
===Quels sont les composants reconnus de la carte?===
   
 
:Extrait de la [http://qemu.weilnetz.de/qemu-doc.html#ARM-System-emulator Documentation Officielle] :
 
:Extrait de la [http://qemu.weilnetz.de/qemu-doc.html#ARM-System-emulator Documentation Officielle] :

Revision as of 20:08, 27 January 2011

N'hésitez pas à enrichir cette page

Stellaris Luminary Lm3s6965

Ce kit est construit autour d'un microcontrolleur ARM Cortex-M3 Lm3s6965 de marque Luminary Micro appartenant au groupe Texas Instrument.

Les principales caratéristiques et intérêts de ce kit sont:

  • Processeur ARM 32bit Cortex-M3
  • Port Ethernet
  • Ecran OLED monochrome 128 x 64 pixels (16 niveaux)
  • Un bon support d'OpenOCD
  • Support de eLua (port du langage de script Lua)


Ressources

  • LM3S6965: Tips & Tricks / OpenOCD : [1]
  • Building toolchain and OpenOCD for Stellaris on Linux : [2]
  • Test qemu + arm + gdb + ld ... :[3]
  • ARM Projets divers : [4]

Exemples d'utilisation

Utilisation avec OpenOCD sous linux

Récupérer le script setup_lm3s6965.sh sur [5]. Ce script va récupérer et compiler openocd.

./setup_lm3s6965.sh

Construire et installer le bon pilote FTDI

 wget http://www.intra2net.com/en/developer/libftdi/download/libftdi-0.18.tar.gz
 #install open FTDI drivers
 tar -xzf libftdi-0.18.tar.gz
 cd libftdi-0.18/
 sudo apt-get install libusb-dev
 ./configure
 make
 sudo make install
 sudo ldconfig

On lance openocd en root

sudo openocd -f /usr/local/share/openocd/scripts/board/ek-lm3s6965.cfg

Et on peut flash la microntrolleur

 #flash mcu with some code at address 0x00000 and execute
 telnet localhost 4444
 halt
 flash write_image erase /tmp/main.bin 0
 reset

Exemple avec le déboggeur gdb

qemu

Binaire Linux pour Sourcery G++ Lite.
D'autres paquets disponibles sur le site du logiciel

Les fichiers test-cortex-m3.c, startup_gcc.c et lm3s.ld utilisés ci-aprés sont disponibles dans l'archive: File:Test-cortex-m3.tar


Construction de l'exécutable

arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb test-cortex-m3.c -o test-cortex-m3.o
arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb startup_gcc.c -o startup_gcc.o
arm-none-eabi-ld -T lm3s.ld  startup_gcc.o test-cortex-m3.o -o test-cortex-m3.elf
arm-none-eabi-nm test-cortex-m3.elf


Juste pour voir le code déassemblé

arm-none-eabi-objdump -d test-cortex-m3.elf


Il faut une version binaire simple à charger et non la version trop riche

arm-none-eabi-objcopy -O binary test-cortex-m3.elf test-cortex-m3.bin


Récupération et compilation du qemu version qemu-0.13.0

wget http://wiki.qemu.org/download/qemu-0.13.0.tar.gz
cd qemu-0.13.0
./configure --target-list=arm-softmmu # On configure pour ne pas tout compiler
make


Lancement de l'émulation avec qemu

./qemu-0.13.0/arm-softmmu/qemu-system-arm -M lm3s6965evb -nographic -kernel test-cortex-m3.bin
Hello world!
QEMU 0.13.0 monitor - type 'help' for more information
(qemu) quit


FAQ

Quels sont les composants reconnus de la carte?

Extrait de la Documentation Officielle :
The Luminary Micro Stellaris LM3S6965EVB emulation includes the following devices:

Cortex-M3 CPU core.
256k Flash and 64k SRAM.
Timers, UARTs, ADC, I^2C and SSI interfaces.
OSRAM Pictiva 128x64 OLED with SSD0323 controller connected via SSI.

Ressources