* Boards:
Habe mit die Schaltpläne der genannten Board jetzt nicht näher
angeschaut, also nur allgemeinen Hinweise. Habe das Keil und
IAR/Olimex-Board hier, aber noch nicht allzuviel damit gemacht. Also
keine Antwort auf "was ist besser", sonder nur Hinweise:
- Darauf achten, ob alle benötigten GPIO-Pins zugänglich sind und nicht
"untrennbar" mit Onboard-Komponenten verbunden sind. Z.B: möglicherweise
benötigt man einen "logic-level" Verbindung zu UARTs. Bei manchen Boards
sind die UART-Pins des Controllers direkt mit RS232 Pegelwandlern
verbunden und es gibt keine Möglichkeit diese Verbindung per Jumper oder
"solder-jumper" zu trennen. Will man nicht Komponenten auslöten oder
Leiterbahnen trennen, bleibt einem dann nur nochmals von RS232 nach
"logic-level" zurückzuwandeln.
- Das LCD auf dem Olimex-Board ist etwas kniffig anzusteuern,
Beispielcode ist aber bei der IAR-Eval dabei. Keil-Board mit
Standard-Text-Display, nicht ganz so schick und flexibel aber leichter
ansteuerbar.
- Will man zum "Erstkontakt" Beispielcode verwenden, sollte dieser
zumindest für Ethernet zum Board passen. Es werden unterschiedliche MAC
verwendet, die etwas anders anzusprechen sind. Der Beispielcode von Keil
unterstützt wohl nur deren Board, dito für IAR. Die Beispieltreiber von
NXP sind/waren für Keil, IAR (Olimex) und Embedded Artists Boards.
Beispielcodes zu den NXP Treibern sind/waren aber stellenweise sehr
spartanisch. Die Beispiele von IAR/Olimex sind etwas ausführlicher als
die von Keil, sofern man nicht deren Zusatzprodukte (RTOS+Treiber) zur
Verfügung hat.
- Auf jeden Fall noch die Produkte von Embedded Artists anschauen, w.r.e
zwar z. Zt. nur mit LPC24xx aber damit sollte man auch alles machen
können, was ein LPC23xx auch kann.
* Eval-Versionen der Entwicklungsumgebungen:
IARs EWARM Kickstart Codegrößenbeschränkung ist bei 32kBytes, Keil/ARM
MDK bei 16kB, es gibt noch ein paar weitere Einschränkungen (IAR auch
ansonsten weniger restriktiv als Keil/ARM, zumindest beim letzten Mal
schauen). Die Compiler haben beide einen guten Ruf (nutze selbst
allermeist GNU-Tools, kann also wenig dazu schreiben). Die Bedienung ist
recht unterschiedlich und auch die Herstellererweiterungen der Compiler
bzw. die Assembler unterscheiden sich. Also einfach mal die
Testversionen ausprobieren. Sehr schick ist der ein Keil/ARM uVision
integrierte Simulator.
Falls man ein "Kit" kauft: Bei Keil/ARM Bundles kommt ein ULINK2 oder
"ULINK-mini" mit, welches meines Wissens nur mit Keil-Software
angesteuert werden kann. Bei IAR-Bundles kommt ein Segger-JLINK-OEM mit,
das von Keil und IAR angesteuert werden kann. Mglw. braucht man
zusätzliche Softwarelizenzen (RDI für JLINK und uVision, GDB-Lizenz für
unlimitiertes Debuggen mit einem GDB-Client (Eclipse/Debug-View,
Insight). Aber da können "andere Forenteilnehmer" mehr zu schreiben.
* "kostenlose" Lösung
Wurde schon ein paarmal durchgekaut in diesem Forum. Man suche nach
Wiggler oder FT2232, JTAG, ARM.
Wichtiger als die JTAG-Hardware selbst, die nicht "kostenlos" sein kann,
aber möglicherweise nur ein paar Euro Bauteil und Zeit kostet, ist die
Softwareunterstützung. Die Kombination aus GNU-Toolchain, Eclipse,
Zylin-Plugin, OpenOCD und FT2232/Wiggler-Debug-Hardware ist einen Blick
wert. Siehe Michael Fischer's Yagarto-Seiten. Evtl. noch Insight GDB,
OpenOCD und FT2232 zum debuggen und eine freie IDE/Editor zur
Codeerstellung. Nach Möglichkeit kein "Wiggler", sondern eine fertiges
Gerät "mit USB", dass von OpenOCD unterstützt wird.
Auch "Mittelweg" in Betracht ziehen: Rowleys ARM tools und
FT2323-JTAG-Interface, nicht gratis aber für Ausbildungszwecke sehr
günstig, keine Codegrößenbeschränkung, diverse (auch "billige")
JTAG-Hardware unterstützt, integrierter Debugger. Spart wahrscheinlich
einiges an Einarbeitungszeit.