Stellaris Luminary Lm3s6965
N'hésitez pas à enrichir cette page
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
- Site officiel du kit Stellaris Luminary Lm3s6965
- LM3S6965: Tips & Tricks / OpenOCD : [1]
- Building toolchain and OpenOCD for Stellaris on Linux : [2]
- Test qemu + arm + gdb + ld ... :[3]
- ARM Projets divers : [4]
- Tutorial général: File:Tuto lm3s6965.pdf
- Le document technique (datasheet) du microcontrolleur Lm3s6965: File:Datasheet-LM3S6965.pdf
Exemples d'utilisation
Compilation
Suivre Binaire Linux pour récupérer la chaîne de compilation 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
Le binaire peut ensuite être placé(flashé) sur la carte avec OpenOCD ou utilisé avec l'émulateur QEMU, voir ci-dessous.
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
Installation et première utilisation
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
Modification de QEMU pour le suivit et l'accès des GPIO en sortie
Comprendre l'émulation du stellaris proposé par QEMU suppose de se plonger dans le code. Il faut notamment explorer les fichiers suivant:
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
- Site officiel du kit Stellaris Luminary Lm3s6965