Cortex M3 Eval-Board

Gast #1589868
Lesenswert?

Hallo,
ich wollte mit dem Cortex M3 mal einwenig Erfahrung sammeln und bin auf 
der Suche nach einem Board, das folgende Anforderungen erfüllen sollte:

- Preis unter 100€
- CAN und/oder Ethernet
- JTAG-Zugang

Ich würde gerne den gcc einsetzen und damit ein paar Programme 
schreiben. Ich habe hier im Forum schon einwenig nach Boards geschaut, 
aber so recht weiß ich einfach nicht was ich nehmen soll. Die einen 
schwören auf die STM32-Family, die anderen auf die Produkte Luminary 
Micro.

Wäre schön, wenn mir jemand bei der Entscheidung helfen könnte!
Besten Dank
Rotax
Gast #1589937
Lesenswert?

Moin,

also ich benutze in der Firma (wegen STM32F10x) dieses hier:
http://www.iar.com/website1/1.0.1.0/658/1/?item=prod_prod-s1/225&group=prod_prod_grp-s1/33
hat uns ~150,-€ netto gekostet - inkl J-Link.
Die STM32 sind aber ein wenig strange zu programmieren, wenn es um ADC 
oder Timer geht (meine Meinung).
Privat werde ich mir aber so eins hier besorgen:
http://www.steitec.net/ARM/ARM-LPC1768-Cortex-M3-LCD-Board.html
(da kommt noch 19% EUSt drauf)
JTAG Interface (J-Link) für den privaten Gebrauch gibt es z.B. von 
Segger für 130,-€
Gast #1589949
Lesenswert?

Wie ist aktuell der "Errata"-Stand beim NXP, speziell beim LPC 1768 ;-) 
Vor gut einem Jahr, hat man ja überwiegend au die STM32 empfohlen?

Und welche Entwicklungsumgebung ist besonders zu empfehlen IAR, GCC (?), 
Reddingsbums?
Gast #1589964
Lesenswert?

Hi

Also ich verwendet folgendes Demoboard: www.olimex.com. Abschnitt ARM - 
Cortex M3. Die Platinen sind sehr billig : ~50€. Als Chip kommt der 
STM32 von ST zum Einsatz. ST Datenblatt ist super!. Firmware für alle 
Funktionen des Chips verfügbar.
Ein JTAG Interface ist auch zu finden (~40€). Programmieren kannst du 
das Ganze mit dem TrueStudio von Atollic (da sind alle Firmwarelibraries 
schon dabei und werden beim Erstellen eines Projekts automtisch 
hinzugefügt).

Lg
#1589967
Lesenswert?

Hallo,

ich hatte letztes Jahr das MCB STM32-Board von Keil. Das wird mit mit 
dem ULINK-ME Programmieradapter geliefert und kostet um die 250€. Es hat 
USB und CAN.

Bin mit dem Board und dem STM32 super klargekommen, habe aber nach 2 
Monaten die Firma gewechselt und kann keine Langzeiterfahrungen 
berichten.

Gruß
Andreas
Gast #1589975
Lesenswert?

@Tom:

würde mir kein Board mit STM32 zulegen. Nur die Freescale Datenblätter 
zum Coldfire sind noch schlechter.
Ich nutze die IAR Umgebung, die ich auch wieder nehmen würde. GCC war 
mir auf dem Coldfire zu viel Frickelkram.... evtl. ist es ja auf dem ARM 
besser. Ausprobieren wollte ich es aber nicht. Wenn es günstig sein 
muss, dann vielleicht die Crossworks Umgebung, die zwar auch auf GCC 
basiert, aber da ist wohl viel hinter der IDE verborgen:
http://www.rowley.co.uk/arm/index.htm
Gast #1590013
Lesenswert?

Arne schrieb:
> würde mir kein Board mit STM32 zulegen. Nur die Freescale Datenblätter
> zum Coldfire sind noch schlechter.

Na so schlimm ist es nun auch wieder nicht.
Eine Einarbeitungsphase braucht es sowieso, und nach rel. kurzer Zeit 
hat man sich an die Doku gewöhnt und weiß, wo was wie steht.
Gast #1590021
Lesenswert?

> Ne, ist doch billiger geworden, kostet nur noch um die 60 Euro.
Hab vor zwei Wochen noch 130,- bezahlt :-/

> Na so schlimm ist es nun auch wieder nicht.
Ansichtssache... ich bin besseres gewöhnt. Die zum AVR oder von LM/TI 
zum Cortex z.B.
Das UM zum STM32 finde ich aber zum Abgewöhnen! Hab zwei Tage gebraucht, 
um vor einem Jahr den ADC in Gang zu bringen. DMA Mem2Mem funktioniert 
momentan immer noch nicht, da hierzu im UM einfach mal essentielle 
Erläuterungen weggelassen wurden :-(
Gast #1590103
Lesenswert?

1
DMA_Channel1->CCR = 0x00007AC0; //configure for mem2mem transfer
2
DMA_Channel1->CPAR = (unsigned int)src_arry; //set source and destination
3
DMA_Channel1->CMAR = (unsigned int)arry_dest;
4
DMA_Channel1->CNDTR = 0x000A; //set size of transfer
5
TIM2->CR1 = 0x00000001; //start a timer
6
DMA_Channel1->CCR |= 0x00000001; //start the DMA transfer
7
while(!(DMA->ISR & 0x0000001)) //wait till the transfer ends
8
{;}T
9
IM2->CR1 = 0; //halt the Timer
10
TIM2->CNT = 0; //Clear the count
11
TIM2->CR1 = 1; //restart timer
12
for(index = 0;index <0xA;index++) //repeat the operation using the CPU
13
{a
14
rry_dest[index] = arry_src[index];
15
}T
16
IM2->CR1 = 0; //halt the timer
17
}

>The above code transfers ten words of data between two arrays in SRAM first with 
the DMA and then using the
Cortex CPU. In both cases a timer is started at the beginning of the 
transfer and when the transfer ends. In this
example the DMA unit takes 220 cycles and the CPU takes 536.

Ohne das jetzt verifiziert zu haben :-)
Gast #1590140
Lesenswert?

Ich vermute mal memcpy macht das so (? kann erst heute Abend nachgucken)

Diese Whileschleife zum Warten auf das DMA-Transferende ist eh 
suboptimal. Dabei kann die CPU doch während des DMA-Transfers noch 
andere Aufgaben übernehmen. Dann relativiert sich das sicherlich.
Obwohl, so viele Anwendungsfälle, wo das zwingend notwendig wäre, gibt 
es nicht.

Anonsten hast Du natürlich Recht, deine Variante scheint tatsächlich 
schneller zu sein.
#1590952
Lesenswert?

so, hab meinen 'alten' Mikrocontroller-Account wieder ausgegraben... 
Also, Rotax hier ;)

Ich hatte vor mittels USBProg und modifzierter JTAG-Firmware damit zu 
arbeiten. Siehe hier: Beitrag "Neue OpenOCD-Firmware für USBProg (18x schneller)"

Das heißt also gcc und als Entwicklungsumgebung TextMate (Mac OS X) oder 
Code::Blocks. Vielleicht aber auch Eclipse, aber davor hege ich ein paar 
innerliche Abneigungen. ;)
Den Rest wollte ich von Hand machen. Da lernt man dann noch einwenig 
was. Ansonsten teste ich mal die Entwicklungsumgebungen an, die mit auf 
der CD sind. Mit den IAR-Tools kann man schon einwenig was machen:
"Features IAR Embedded Workbench KickStart with 32KB address limit."

Oder hat hier jemand einen besseren Vorschlag?
Gast #1591130
Lesenswert?

Das LM Board hab ich auch noch... bzw. schon seit einem dreiviertel 
Jahr. Nix mit gemacht :-/
Habe vor zwei Wochen noch 130,-€ für das Segger J-Link bezahlt. Da es 
das jetzt für ~60,-€ gibt, würde ich da nicht lange fackeln und 
zuschlagen. Ist ein Profitool, das wir in der Firma auch einsetzen.

Mit den IAR Tools (32kB Kickstart) hab ich in der Firma ein BSP für 
STM32 hochgezogen - nie Probleme gehabt, die der Support nicht lösen 
konnte. Seit letzter Woche haben wir die EWARM-CM (Cortex only) Lizenzen 
im Einsatz.
Das LPC1768 Board werde ich mir aber auf alle Fälle mal ansehen.
Gast #1592329
Lesenswert?

@Herbert
>Als Chip kommt der STM32 von ST zum Einsatz. ST Datenblatt ist super!

Hast du überhaupt schon mal ein anderes Datenblatt in der Hand gehabt? 
Ich fand die Anfang 09 wirklich bescheiden, ist da was besser geworden?
#1592338
Lesenswert?

> Hast du überhaupt schon mal ein anderes Datenblatt in der Hand gehabt?
> Ich fand die Anfang 09 wirklich bescheiden, ist da was besser geworden?

Man sollte natürlich rauskriegen, dass es neben dem Datasheet auch ein 
Reference Manual zur Familie gibt und dass einige Details zum Core in 
der Core-Reference von ARM stehen. Das ist aber bei vielen ARMs so.

Ebenso fallen die Beschreibungen deutlich knapper aus als die eines AVR 
Datasheets. Einerseits weil Anfänger nicht zum angenommenen Kundenkreis 
gehören, andererseits weil's sonst zu dick wird (lies: zuviel Arbeit, 
irgendeine arme Sau muss das ja alles schreiben).
Persönliche Seite #1592615
Lesenswert?

A. K. schrieb:
> Ich habe die Syntax grad nicht exakt im Kopf, aber sinngemäss

Nun stell Dein Licht mal nicht unter den Scheffel :-) Das war doch gut 
improvisiert. Allerdings müssen die zu kopierenden Blöcke natürlich 
entsprechend granuliert sein. Und word-aligned.

Der Sinn des Mem2Mem DMA ist es nicht, mit der Geschwindigkeit zu 
glänzen, sondern den Prozessor nicht mit solch niederen Aufgaben zu 
betrauen. Falls der nicht ohnehin auf die Daten warten muss, kann er 
viele andere Dinge tun während der DMA Controller ackert.

Gruß
Marcus

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren