Stellaris Luminary Lm3s6965: Difference between revisions

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 18: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