Stellaris Luminary Lm3s6965

From air
Revision as of 20:05, 27 January 2011 by SebC (talk | contribs) (→‎qemu: Ajoute liens Sourcery G++)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

N'hésitez pas à enrichir cette page

Stellaris Luminary Lm3s6965

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

Les principales caratéristiques et intérêt 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é ci-aprés sont disponible 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 de 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 composant 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