CircuitCellar ARM Cortex M3 Design Contest

Admin Persönliche Seite #420268
Lesenswert?

CircuitCellar organisiert wieder mal einen Design Contest. Diesmal geht 
es um die "Luminary 
Stellaris-Mikrocontroller":http://www.luminarymicro.com/. Diese basieren 
auf dem ARM Cortex M3, einer Low-End-Architektur mit der ARM den 
8-Bittern weitere Marktanteile abknöpfen möchte.

Wer sich rechtzeitig registriert hat wie üblich die Chance auf ein 
kostenloses Starterkit.

Einsendeschluss für die Projekte ist der 7. Februar.

Weitere Infos gibt es auf der "Webseite des 
Wettbewerbs":http://www.circuitcellar.com/designstellaris2006/.

Kommentare

Gast #425526
Lesenswert?

Kit ist "hier" angekommen. Recht schick als Eval.-Board, aber auch etwas 
zu "voll" (OLED-Display, groesses Poti, integriertes JTAG-Interface) als 
Basis für ein kleines Projekt. Schliesse mich Anfrage betr. Lieferant 
für einzelne Controller in D oder zumindest EU an. Zur Not beteilige ich 
mich auch an Sammelbestellung.

Ergebnis meiner ersten Experimente mit dem LM3S811:
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/index_cortex.html

Zum Contest:
Man beachte (eben auch erst auf die Bedingung Aufmerksam gemacht worden 
- vorher wohl ueberlesen): Software fuer Contest-Beitraege muss mit den 
Realview-Tools kompilierbar sein, die Tools sind auch in Keil MDKARM 
enthalten. Eine inzwischen veraltete Eval-Version kommt auf CD mit dem 
Kit. GNU-Toolchain ist keine auf der CD, was bei der Bedingung auch 
nicht verwundert. Dennoch seltsam, da Unterschiede zwischen Code fuer 
Realview und Code fuer GNU-Toolchain minimal und Portierung somit 
relativ einfach. Aber der Contest-(Mit-)Sponsor wird es wohl so haben 
wollen.

Martin Thomas
Gast #425654
Lesenswert?

Ich muss sagen ohne das ich jetzt irgendwo konkret den Finger drauf 
legen koennte so richtig vom Hocker haut mich das Board auch nicht.

Ist vielleicht etwas ueberladen und die FTDI Teile konnte ich auch noch 
nie so recht ab.

Was empfiehlt sich denn da wenn man das Board mit einem JTAG Interface 
brennen will? Gibt es da schon ein verbreiteten Adapter zum Selbstbau?

Olaf

p.s: Bis jetzt ist mein Highscore 2335Punkt :-)
Gast #425953
Lesenswert?

So kritisch fand ich das eigentlich nicht.

Ich denke aber die ARM-Teile (oder andere Prozessoren) werden den Markt 
aufrollen sobald sie es mal schaffen da 256-512kb Ram reinzubekommen.
Dann koennte man eine Menge Designs die bisher zwingend externen 
Ram/Flashrom notwendig gemacht haben ploetzlich in einen Chip quetschen.

Olaf
Gast #426090
Lesenswert?

Das empfinde ich als sehr störend:

Man beachte (eben auch erst auf die Bedingung Aufmerksam gemacht worden
- vorher wohl ueberlesen): Software fuer Contest-Beitraege muss mit den
Realview-Tools kompilierbar sein, die Tools sind auch in Keil MDKARM
enthalten. Eine inzwischen veraltete Eval-Version kommt auf CD mit dem
Kit. GNU-Toolchain ist keine auf der CD, was bei der Bedingung auch
nicht verwundert. Dennoch seltsam, da Unterschiede zwischen Code fuer
Realview und Code fuer GNU-Toolchain minimal und Portierung somit
relativ einfach. Aber der Contest-(Mit-)Sponsor wird es wohl so haben
wollen.

Na tool, was soll man in 16kb reinkrigen? Alleine das Beispiel "hello"
verbraucht schon 18%.

Mfg Sascha
Gast #426193
Lesenswert?

Es bleibt als Moeglichkeit: Mit GNU-Tools entwickeln und vor Abgabe die 
notwendigen Aenderungen fuer Realview durchfuehren. Das ist nicht viel. 
Risiko etwas abzugeben, was nicht funktioniert ist also gering - aber 
moeglich ist es natuerlich dennoch. Wenn Zeit, werde ich versuchen eine 
kurze "Konvertierungsanleitung" GNU->RV zusammenzustellen. Stay tuned...
Gast #426220
Lesenswert?

Hi,

bezüglich Lieferbarkeit von Luminary's Stellaris-Prozessoren: Atlantik 
Elektronik schreibt, das sie diese Prozessoren im Liefer-Portfolio 
hätten, allerdings weiß ich noch nicht mehr: Wäre also Zeit, mal eine 
Anfrage zu starten! sichAmEigenenKragenPack

Schönen Tag noch,
Thomas
Gast #428167
Lesenswert?

ich habe heute Morgen die ersten Preise für die LM3S811 , LM3S601 
bekommen.
Die sind deutlich höher als erwartet.  Bei dem LM3S811 liegt der bei 
12,03 EUR in Einzelstückzahlen. Bei dem LM3S601 sind das noch 9,70 EUR. 
Bei Mouser sind die erheblich günstiger ( LM3S811 -> 8,45 EUR ). Da ich 
bei Mouser auch noch andere Sachen bestellen muss, werde die gleich 
mitbestellen.
Gast #432078
Lesenswert?

Hi,

hab ne mail bekommen, das versucht wird, eine auf 64kb beschränkte 
Version von Keil zur verfügung zu stellen. Nur sollte dann jetzt mal 
langsam das Kit kommen. Hat jemand von euch schon etwas bekommen?

Mfg Sascha
Gast #434590
Lesenswert?

So, meins is auch da... :-)

Mein aktueller Rekord: 1256
Ihr wisst schon was ich mein, wenn ihr das Ding mal angeschaltet habt ;)

...mehr sinvolles hab ich damit bisher aus Zeitgründen noch nicht getan.
Gast #434617
Lesenswert?

# diese coole Demoapplikation: is wohl  : Defender

Bei Defender handelt es sich um einen seitwärts & bidirektional 
scrollenden Shooter (sog. "Ballerspiel"), der den Eindruck einer hohen 
Spielgeschwindigkeit vermittelt.
Das Spielfeld besteht hauptsächlich aus einem schwarzen Sternenhimmel. 
Im oberen Bereich ist eine Art Radar sichtbar. Der untere Spielbereich 
besteht aus einer hügeligen Planetenoberfläche, die horizontal vor dem 
Sternenhimmel entlangscrollt.
Defender war das erste bekannte Videospiel, bei dem sich das Spielfeld 
über den sichtbaren Bereich hinaus erstreckt (Scrolling). 1981 war es 
das Spiel des Jahres. Bis heute ist es eines der erfolgreichsten 
Videospiele aller Zeiten.

>> http://en.wikipedia.org/wiki/Defender_(game)
Gast #434814
Lesenswert?

7687

Allerdings mußte ich erstmal die Kontakte am Display nachlöten damit es 
funktioniert hat.

Hat schon jemand was sinnvolles programmiert?

Der mitgelieferte Compiler ist ja reichlich witzlos mit der 16kB 
Beschränkung.
Gast #435897
Lesenswert?

Lasst die Demo einfach mal laufen, dann kommt "game of live".

Einige haben ja anscheinend ein kleines Problem das "hello wordl" zu 
erstellen.
KA woran es lag, aber ihr dürft nicht das Beispiel aus dem 
Examplesordner nehmen, sondern noch tiefer unter boards liegt die 
richtige Software. Geht sofort. Das unter RV30 ist fuern LPC, steht auch 
in der Readme, die mit aufgeht wenn man das "falsche" Projekt öffnet.
Gast #437795
Lesenswert?

Hehe !

Mein Board ist auch letzte Woche gekommen ...
musste aber nix nachloeten.
Hab schon bissl rumprogrammiert.
Das mit der 16kb (4kWords) ist natuerlich witzlos -
da waer eine 64kb eval Version schon sinnvoller.
jetzt fehlt nur mehr DIE design idee....
Gast #438119
Lesenswert?

Ich habe eben im Forum Luminary eine Nachricht gefunden, dass openOCD 
jetzt mit dem M3 zusammenarbeitet. Damit sollte es jetzt möglich sein, 
das Board komplett mit den GCC/OpenOCD-Tools ohne Größenbeschränkung zu 
programmieren. Dann der Anleitung von mthomas sollte es auch keine 
Problem mehr sein, das Zeug anschließend wieder nach Keil zu portieren.

Ichh hab jetzt leider mein Dev-Kit nicht da, aber ich werds am 
Wochenende gleich mal testen.


http://www.luminarymicro.com/component/option,com_joomlaboard/Itemid,92/func,view/id,213/catid,7/limit,6/limitstart,12/
Gast #439356
Lesenswert?

So, ich schreib jetzt mal was zum debugging mit OpenOCD und gdb unter 
Linux.
Man nehme

- OpenOCD von svn://svn.berlios.de/openocd/branches/cortex-m3/ (oder 
http://svn.berlios.de/svnroot/repos/openocd/branches/cortex-m3/)

- dazu die libftdi von http://www.intra2net.com/opensource/ftdi/. Die 
alternative  libftd2xx hat bei mir nur Probleme gemacht und ist auch 
closed source.

- Den Compiler von 
http://www.codesourcery.com/gnu_toolchains/arm/download.html

- Die OpenOCD-Config von dieser Seite: 
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/openocd_cortex/index.html 
(Findet sich unter dem Punkt Debugging).


Beim compilieren von OpenOCD sind 2 Sachen zu beachten:
1. Zuerst muss das bootstrap script ausgeführt werden.
2. ./configure --enable-ft2232_libftdi


Beispielsprojekte mit Makefile gibts unter 
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/lm3s811_evalboard_gcc_20061102.zip

Es empfiehlt sich in examples.mk noch folgende zeilen zu ändern:
FORMAT = ihex
wird zu
FORMAT = binary

und eingefügt wird:
gdb: $(TARGET).bin $(TARGET).elf
        @echo "file $(TARGET).elf" > flash.gdb
        @echo "tar r :3333" >> flash.gdb
        @echo "monitor flash erase 0 0 63" >>flash.gdb
        @echo "monitor flash write 0 `pwd`/$(TARGET).bin 0" >>flash.gdb
        @echo "monitor reset" >> flash.gdb
Die Zeilen mit @echo beginnen jeweils mit einem Tab, nicht mit 8 
Leerzeichen! Dieses zusätzliche Target erzeugt eine Datei "flash.gdb", 
die anschließend das flashen des chips deutlich vereinfacht.

Ein beispiel aussuchen ins richtige verzeichnis wechseln und make 
eintippen.

So, jetzt das Board anschließen und openocd --file 
/pfad/zur/cortex_ft2232_dgb.cfg aufrufen.

In 2tem Terminal arm-none-eabi-gdb starten.
"source flash.gdb" eingeben und zuschaun wie der µC programmiert wird. 
Dann noch continue und der µC läuft. Jetzt kann man den Controller 
debuggen, als würde das programm auf dem PC laufen. Einzige Ausnahme: 
Die anzahl der Hardware-Breakpoints ist beschränkt.
Gast #443437
Lesenswert?

Hi,

nachdem ich erst so ein bisschen mit dem Teil rumgespielt habe :), habe 
ich jetzt ein DOG-M per SPI zum laufen gebracht. Gibt es beim ARM GCC 
keine Delay Funktion wie beim AVR? Klar, könnte man selber machen aber 
asm ist nicht so mein Ding.

Mfg Sascha
Angehängte Dateien:
Gast #443468
Lesenswert?

Q: Wie mache ich einen kontrollierte Verzögerung ohne Assembler-Befehle 
abzählen zu müsssen und ohne permanent einen Timer zu belegen?

A: Im Startup des Programms kurzzeitig einen beliebigen Timer bemühen 
und die Laufzeit einer ganz normalen Funktion mit Zählschleife messen. 
Der Rest ist ein triviales Rechenexempel.
Gast #443479
Lesenswert?

Missverstanden. Du braucht den Timer nur ein einziges Mal am Anfang, um 
die Dauer der Zählschleife von beispielsweise 1000 Durchläufen zu 
messen. Danach weisst du, wie lang eine Iteration dauert. Daraus ergibt 
sich rechnerisch beispielweise die Anzahl Durchläufe für 1 Mikrosekunde. 
Das funktioniert überall, unabhängig davon in welchem Speicher mit 
wieviel Waitstates und mit welchem Compiler. Nur sollte man diese 
Kalibrierung erst machen, nachdem man Taktversorgung und 
Speicherkonfiguration geklärt hat ;-).

Voraussetzung: Da in der Delay-Routine dann eine Multiplikation 
drinsteckt (Mikrosekunden => Iterationen), sollte die nicht ewig dauern. 
Also nix für alte AVRs ohne Multiplizierer, aber aber bei ARMs ist das 
nicht wirklich kritisch.
Gast #443489
Lesenswert?

Missverstanden die zweite :)

Ich starte den Timer nur einmal, nur lasse ich einen Interrupt jede 
Millisekunde zu.

Mfg Sascha

PS. So doof bin ich nun auch nicht. Nur gibt es beim AVR GCC diese 
Funktion, deshalb meine Frage
Gast #456110
Lesenswert?

Ick wees nicht. Irgendwie habe ich das Interesse am ARM Cortex M3 
verloren.

Als ich mich registriert habe, um so ein Kit für den Contest zu 
bekommen, hat es mich stark interessiert.

Als dann andere berichtet haben, dass sie schon damit arbeiten, ist das 
Interesse noch gestiegen.

Angefangen runterzugehen mit dem Interesse hat es, als auch nach langer 
Zeit kein Feedback auf meine Registrierung gekommen ist. Später tauchte 
dann auf der Webseite die Meldung auf, dass alle Kits weg sind.

Als der Haken mit der Toolchain aufgekommen ist, erlahmte das Interesse 
weiter.

Und als andere angefangen haben, ihre Kits zu verkaufen oder wegzugeben, 
habe ich damit abgeschlossen.

Inzwischen bin ich gefrustet, von der Vergabepraxis und dass ich "denen" 
so naiv meine Registrierdaten und meine Projektidee gegeben habe.

In irgendeinem Geschäftsbericht wird die Zahl megavielen Interessenten 
auftauchen und als grosser Boom für den µC stehen und nur ich weiss, 
dass ich einer davon war.
Gast #456116
Lesenswert?

Hi

Der Contest, so auch meine Meinung, ist witzlos. Hab zwar eine Mail 
bekommen, da für 25 Personen ein volle Lizenz für Keil gekauft worden 
ist. Aber da ich nicht weiß, da ich mich dafüt qualifizier, hab ich es 
gelassen.
Der Controller an sich ist ne gute Idee. Etwas mehr Flash und Ram wäre 
nicht schlecht. Ich hoffe, da noch mehr von Luminary kommt.

Mfg Sascha
Gast #465013
Lesenswert?

Hallo,

hat jemand von euch das große DevKit von Luminary mit dem Codesourcery 
Toolchain? Wenn ja könnt habt ihr den Debugger unter Eclipse zum Laufen 
gebracht.

Würde mich über einen Infomationsaustausch freuen.

Gruss Daniel
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.