Hallo, ich würde mich freuen, wenn wir hier als Marktübersicht Angebote auflisten würden, die ALLE folgende Kriterien erfüllen: 1. Preiswertes Embedded Microcontroller / Eval Board mit 8/16 oder 32 Bit CPU Also bitte nicht $500.. $1000 oder so... 2. Kostenlose oder extrem preiswerte Integrierte Entwicklungsumgebung auf Windows und/oder Linux, mit der man mit einem Hardware-Debugger C/C++ Programme auf Source-Level debuggen kann 3. Kostenloser oder extrem preiswerter vollwertiger C/C++ Compiler, der mit o.g. Entwicklungsumgebung zusammenarbeitet ( ohne diese lästigen "nur 4 KByte Codegröße" Beschränkungen von Demo-Versionen ), natürlich gern ein GNU C/C++ Compiler. Wenn möglich auch mit C++, nicht nur C. Also eben nicht der professionelle IAR Compiler zum Profi-Preis... 4. Preiswerter Hardware-Debugger ( z.B. mit JTAG-Interface auf Seiten des Eval-Boards, USB-Schnittstelle auf PC-Seite ) 5.EXTRA Unter 5 könnt Ihr Warnungen oder fiese Einschränkungen berichten, die man umngehen kann oder eben auch nicht... Interessieren würden mich insbesondere ARM ( 7,9, Cortex,..) basierte Systeme, aber natürlich auch alles andere, besonders wenn man Eval-Systeme für "beliebte" CPUs erhält. Gerne auch Vergleich der verschiedenen Chip-Hersteller von ARM-Systemen, mit ihren unterschiedlichen Angeboten an Eval-Boards und Hardware-Debuggern. Bitte auch gern Links auf die Download-Adressen von ( in der Erzeugung von Code nicht künstlich eingeschränkten ) C/C++ Compilern für das besprochende Target, z.B. eben GNU C/C++ Cross-Compiler Implementierungen. So daß man Systeme vermeidet, bei denen man mit den 2K/4K Compiler-Schnupperversionen gelockt wird, aber keine kostenlose Compilerchain erhältlich ist, oder eben preiswertes Source-Level Debugging nicht möglich ist weil es keine kostenlose IDE gibt die das unterstützt und/oder nur teure Hardware-Debugger Gerne auch Negativbeispiele wo man besser nicht zugreifen sollte, weil nach dem Locken mit einem geringen Einstiegspreis alles weitere nur noch zu Profi-Preisen erhältich ist... Als Kaufentscheidung für Mitleser ist diese Liste sicher auch langfristig interessant ( gelegentlich ist ja mal wieder Weihnachten :-) ). **** So mal als kleine Vorleistung, und wie ich es mir würnschen würde, zu meinem Nutzen und dem aller Mitleser: Atmel ATxmega und ATmega 8-Bit CPUs http://www.atmel.com/ 1. -preiswerte Eval-Boards von Atmel, mit Debug-Schnittstelle -preiswerte Arduino-Boards, mit Debug-Schnittstelle http://www.arduino.org/ 2. - kostenlose Atmel "AVR Studio 4" und "AVR Studio 5" Entwicklungsumgebungen für Windows. Source-Level Debugging mit Atmel-Hardware-Debuggern möglich. - Entwicklung unter Linux mit Eclipse + Eclipse-Plugin möglich, AFAIK auch Source-Level Debugging mit manchen JTAG-Emulatoren ( nicht JTAGICE3 !) 3. kostenloser, insbesondere in der erzeugten Codegröße nicht künstlich eingeschränkter GNU C/C++ Compiler. Volle C-Funktionaltät, C++ mit leichten funktionalen Einschränkungen, da nicht alles implementiert ( kein RTTI,..). 4. Preiswertester Atmel Hardware Debugger "Atmel AVR Dragon", u.a. mit JTAG $49 5. Warnung vor fast allen "Franzis Verlag Lernpaketen" mit Atmel-CPUs, die offensichtlich kein Source-Level Debugging ermöglichen mangels Schnittstellen, selbst wenn man aich einen Atmel Hardware-Debugger extra besorgt ( nur das Board des Arduino-Lernpakets, so scheints, hat eine passende Schnittstelle zu einem externen Hardware-Debugger - der natürlich nicht im Paket inbegriffen ist).
Hi, Deine Wunschliste sagt aus, das du weniger nach einem "Eval-Board" suchst, als nach einer Controllerfamilie. Das Programmieren/Debuggen ist normalerweise ja nicht eine Frage des Boards, sondern der Familie. Es gibt natürlich EVAL-Boards die auch eine Debuggingfähige Programmierschnittstelle on Board haben, allerdings ist man dann erst mal an das Board gebunden. Das macht nur Sinn wenn das Gesamtboard nicht teurer ist als ein Vergleichbares Board ohne Schnittstelle. Sonst gibst du das Geld doppelt aus. Auf jedne Fall würde ich in solchen Fällen die Finger von solchen "Speziellen" Anfänger/-Laienlösungen lassen wo irgendein Interpreter auf dem µC vorprogrammiert ist und man in einer Sprache schreibt die nur mit diesen vorprogrammierten µC läuft und nicht in der "realen" Welt ernsthaft verwendung findet. Zudem würde ich, zumindest im 8Bit bereich, Hinsichtlich Entwicklungsumgebung und HArdware nur auf Lösungen der Chiphersteller zurückgreifen. Drittprodukte nur wenn 100% Kompatibel (Ein echter Clone des Originaltools) Welches Board man von welchen HErsteller verwendet ist dabei aber relativ egal solange man nur darauf achte das eine vollweritge Schnittstelle vorhanden ist. Atmel AVR hast du ja schon selbst ins Spiel gebracht. Da gibt es einiges. Aber mein Vorschlag währe - auch wenn gleich wohl wieder die ersten AVT Fanboys wettern werden- sich auch mal beim zweiten unter Bastlern sehr verbreiteten µC Hersteller umzusehen. (Die Verbreitung in der Industrie dürfte sogar größer sein) Die Rede ist von Microchip PIC. PIC gibt es in 8Bit, 16Bit und 32 Bit. Selbst ausgefallene HArdwarevarianten sind gut erhältlich. Die 32Bit Variante basierd auf der MIPS Architektur die neben ARM die zweite Herstellerübergreifend weit verbreitete Architektur ist. Selbst Leistungsfähige µC gibt es oft noch in DIP versionen. Auch neue PICs werden, soweit technisch Sinnvoll, immer noch auch als DIP angeboten. WEr also mit USB oder CAN arbeiten will ist im Gegensatz zum AVR NICHT auf die eigene geätzte Platine angewiesen sondern kann mit Lochraster oder dem Steckbrett loslegen. Die aktuellen Programmiergeräte ermöglichen das Programmieren aller aktuellen Bausteine, egal ob 8Bit, 16Bit oder 32Bit. Eines für alles. GEnauso ist selbst mit dem einfachsten Modell PicKit3 bei einer Vielzahl von Prozessoren Debugging möglich. (Wenn ein µC Debugging unterstützt, dann können es immer alle Geräte!). HAt man aufgrund der Schaltung nicht die Möglichkeit die drei für das Interface benötigten Leitungen während des Debuggings zu "Opfern" oder einen der älteren µC die einen speziellen Headerbaustein brauchen, so sind diese Spezialadapter mit 17Euro sagenhaft günstig im Vergleich zu anderen Spezialmodulen. Die IDE ist kostenlos. Es gibt auch kostenlose Versionen der weiteren Compiler. Die Compiler für 16 & 32Bit basieren auf GCC. Eine Codegrößeneinschränkung gibt es nicht, lediglich ist bei der vorkompilierten Version nicht die maximale Optimierung möglich. Bei den GCC basierenden VErsion ist der Quellcode offen, so das man bei Selbstkompilieren hier auch kostenlos den vollen Leistungsumfang haben kann. Die IDE selbst wird schon von Microchip selbst direkt in einer Windows - aber auch in einer Linuxversion herausgegeben. Im Normalfall läuft das ganze System nach der Installation "Out_of_the_Box" problemlos. An Konfiguration muss man bei nutzung der Standartkonfiguration nur den Programmer auswählen. Bei USB Geräten NICHTS weiter. (Bei alten COM Geräten natürlich noch die Schnittstelle) Es besteht keine Möglichkeit sich durch falsches setzen der FUSES auszusperren. Auch kein Gefummel mit unterschiedlichen SPI takten usw. Sind die Leitungen richtig angeschlossen funktioniert es einfach. Das ganze wie geschrieben sowohl unter Windows, wie auch direkt unter Linux! Das günstigte Debugging Tool kommt bereits als Anschlussfertiges Kompletttool im Gehäuse und ist extrem robust. ICh habe dieses schon mehrmals mit Kurzschluss oder Überspannung gequält und es arbeitet immer noch fehlerfrei. Kein Vergleich oder Aufwand mit Berührungsempfindlcihen Bauteilen oder Bau von Schutzschaltungen und Gehäusen die höchste Vorsicht erfordern wie beim AVR Dragon. Das Pickit3 bekommt man als originales Einzelgerät so ab 35Euro, als 100% Clone aus China so ab 20Euro. Das Kit mit dem PK3 und einem (sehr einfachen) Eval Board kostet je nach Händler um die 50-60 Euro. Von Microchip selbst gibt es eine große Menge Beispielsoftware und vorgefertigte Libs zur freien Verwendung -auch in Kommerziellen Projekten- komplett aus einer Hand. Ein zusammensuchen aus dem Netz -verbunden mit allen Nachteilen wie verschiedenste Programmierstile oder rechtlichen Unsicherheiten- entfällt. Aber das soll es auch zu Microchip gewesen sein ;-) Die ARM Architekturen sind auch nicht schlecht. ICh setze diese neben den PIC32 auch gerne ein. Je nach dem was gerade am besten passt. Die zum jeweils aktuellen Projekt passenste Peripherie ist entscheident. Für Kommerzielle ZWecke nutze ich aber nur die STM, Hobbymäßig auch noch TI (Hängt mit der Vorhandenen Ausstattung und den damit verbundenen "Rechten" zusammen.) Es ist aber keinesfalls so das "ARM"=="ARM" ist. Die Ähnlichkeit zwischen einem ST - ARM und einem TI - ARM ist aus sicht des PRogrammierers bei nutzung der HerstellerLibs kein deut größer als zwischen dem ST - ARM und dem Microchip MIPS. Lediglich bei Nutzung der von dir schon genannten "teuren" Entwicklungsumgebungen und "teuren" Tools ist der Unterschied kleiner wenn man die jeweiligen mitgelieferten LIBs verwendet. Trotzdem bleibt immer noch der Unterschied in der Anschlussbelegung. Leistungsfähige Programmiertools bekommt man nur in einer "Herstellerspezifischen" Version günstig. Ein gutes Beispiel ist z.B. der ST-Link für um die 30-40 Euro, der schon viel bietet - aber halt auch nur für ST 8 & 32Bitter. Für reine Hobby oder Ausbildungszwecke kommt auch noch der Segger J-Link EDU in Frage. Eine Herstellereigene kostenlose IDE gibt es aber nicht. Hier bleibt nur die Beschränkung auf kleine Codegrößen zu akzeptieren oder aber der Umweg über eine open Source Toolchain mit z.B. Eclipse als Editor. (Da habe ich aber beim Einrichten immer mal wieder heftig geflucht) Als drittes würden mir neben den schon genannten Alternative noch die Controller von Renesas einfallen. Auch für diese gibt es Programmiergeräte und Debugger teilweise sehr günstig. Nachteilig ist das einem hier manchmal der Überblick fehlt das es doch so einige -teilweise von de rProgrammierung völlig inkompatible- Familien von Renesas gibt. Von der LEistung sind die aber gar nicht mal übel. Von dem geschriebenen abgesehen gibt es aber sicher noch deutlich mehr... Gruß Carsten (Der z.Zt sowohl PIC wie auch AVR, ARM und Renesas einsetzt - sogar 8051er KErne in neuen Spezialanwendungen sind noch dabei)
EDIT: EvalBoards haben alle oben genannten Hersteller recht preiswert im Programm. PReisspanne für gebräuchliche Boards so von 20 Euro bis so 200 Euro je nach Komplexität. Auch gibt es einige Drittprodukte. Aber um jetzt ein konkretes Board empfehlen zu können müsste man schon eher wissen was man machen möchte. Sollen nur ein paar LEDs blinken nimmt man ein anderes Board als wenn man aufwendige Grafikanwendungen mit ColourTFT und Audioverarbeitung machen möchte. Für USB etwas anderes als für Motorsteuerung. NAtürlich gibt es auch sehr komplexe Boards die einen größeren Bereich - aber nicht alles- abdecken. Richtig währe es sich erst für eine Familie zu entscheiden - Und erst DANN das passende Board heraussuchen. Oder halt gleich ein eigenes zu entwerfen. Gruß Carsten
Hallo Carsten, Danke für die Antworten, I) Weitere Fragen a) Atmel habe ich durch Teilnahme an einem $99 Workshop in Bochum kennengelernt, wo es für den Preis den Atmel JTAGICE3 Debugger + das allerneueste ATxmega256BVU Board mit LCD dazugab :-) http://www.hemmerling.com/doku.php/en/atmel.html http://www.hemmerling.com/doku.php/en/atmega.html http://www.hemmerling.com/doku.php/en/atxmega.html b) PIC und Renesas sind mir natürlich bekannt, Danke für Deine positive Einschätzung gerade von PIC, die haben ja sogar teilweise DSP-Funktionalität bei Renesas ist mir aufgefallen daß es dort mehrere inkompatible "Familien" im 32-bit Bereichgibt... c) "da ich aus dem Desktop-Bereich komme, auch wenn ich Z80 + 8051 + C166 Erfahrungen habe", wären natürlich CPU's mit "echtem" C++ Compiler interessant - gerade Atmel bietet das JETZT auch auf 8-bit ( mit 256K Flash, 16K Ram ), daher wollte ich mich möglichst nicht auf Systeme einschießen die wie Atmel in den 2000er Jahren, so auf 8K Flash und 1K Ram oder gar weniger abzielen... d) **************************************** wichtig ist mir ( und für zukünftige Leser dieses Threads ) aber tatsächlich der Aspekt einer IDE die mit Hilfe eines Hardware-Debuggers das "Source-Level Debuggings" in Verbindung mit einem uneingeschränkten Compiler ermöglicht Es nutzt ja auch nichts, wenn der vielleicht vorhandene GNU-Compiler nicht mit einer kostenlosen IDE zum laufen zu bringen ist, oder die Standardlösung Eclipse + GNU Crosscompiler keine Hardware-Debugging Möglichkeit mangels Eclipse-Plugin zum Code-Upload ect. aufweist, oder eben keine GNU-Debugger Funktionalität zum Host-Debuggen existiert ( mit Atmel soll das mit GNU-Debug funktionieren unter Linux, mit manchen hardware-Debuggern!) **************************************** e) Was mich jetzt noch ergänzend interessieren würde, wären Tipps zu ARM-Boards ( ARM7,9,11, Cortex,..) bei denen man das auch "hat", bzw. bei welchem Halbleiter-Hersteller der ARM-Technologie in seinen CPUs nutzt es bei seinen Toolchains "am meisten für fast kein Geld" :-) gibt. TI - ? Freescale - ? ST - da war Carsten ja drauf eingegangen ?? - ? Bei Freescale gibts z.B. das MQX als kostenloses Betriebssystem, TI-Mitarbeiter haben in 2011 angedeutet, daß in der TMS570 ARM-CPU Reihe in der nächsten Generation auch ein Ethernet-Modul integriert werden könnte, so daß dann auch die TI-Eval Boards das "drauf" hätten... und TI auch einen angepassten OpenSource TCP/IP Stack spendieren wird der z.B. dann auch mit FreeRTOS zusammenlaufen sollte ( dann wird's wirklich interessant für mich, Ethernet on Board ist immer ein Argument ). f) Beim ARM gibt es dann ja noch die beliebten "Beagle-Boards" / "Pandaboard.", habe ich mir letztes Jahr bei TexasInstruments auf dem TI-Day angesehen, wo beim Beagle-Board umständlich erst mit USB-Stecker-Brücken ein Ethernet-Adapter rangezaubert werden muss, weil das der ARM-Chip nicht kann und der Entwickler den Ethernet-Adapter nicht als externe Hardware auf das Board gepackt hat.. Ich bitte um Eure Einschätzung, lieber Leser: Da laufen dann aber ja schon Betriebssyteme bis hin zu Linux drauf. Im Vergleich zu einem 8/32 Bitter wo man wirklich mit "main()" anfängt zu programmieren, und einem Desktop-Linux wo man auf dem Target compiliert, vermutlich doch ein "höherer Schwierigkeitsgrad" ? g) Es gibt ja diese ganzen USB-Entwicklungssticks hier mal eine Liste von Hitex http://www.hitex.com/index.php?id=339&PHPSESSID=60425a26248f247741908bf3d8b9d070 wie steht es da mit Source-Level-Debugging ? Der Anschluß eines weiteren Hardware-Debuggers ist da ja nicht vorgesehen.. andererseits wird vielleicht eine interne Debugging-Schnittstelle mit "verschenkt" die man trotz günstigem Stick-Preis dann halt jedesmal "mitkauft", aber man hat sie ?! II) Warum die Frage Die Frage dieses Threads wurde in heute, in 2011 gestellt. Eine ganze Generation von Hobby-Bastlern hat z.B. auf Atmel die letzten 10 Jahre ohne Hardware-Debugger gelebt, z.B. die Gemeinde um den kommerziellen BASCOM-Compiler für Atmel ( der bis heute die Atmel-Hardware Debugger nicht unterstützt ). Das ist eigentlich nie akzeptabel gewesen, und führt ja nicht zu schneller und produktiver Softwareentwicklung, wenn man auf Printf()-Debugging angewiesen ist.... Es ist also an der Zeit, zu erwarten, daß auch bei Billig-Entwicklungsumgebungen der vom Desktop bekannte Komfort mit dabei ist :-). III Warum ich frage WEIL das ist die Motivation, ich bin Elektroingenieur zur Zeit auf Auftragssuche und aufgrund meiner Vita ( zu lang studiert, zu wenig Berufserfahrung..) ohne gute Chancen auf Jobs/Aufträge, sehe daß aufgrund der Marktbedeutung gefragt wird "ja können Sie denn ARM, welche Erfahrungen haben Sie denn damit ?". *Ich wollte also trotz Ing-Titel jetzt nicht zum Hardware-Bastler eigener Platinen werden , sondern ein Eval-Board mit dem ich mit den On-Board Sensoren + Aktoren was anfangen kann - ein Ethernet-oder WLAN/WifI/Bluetooth-Anschluss würde also z.B. auch die Webserver-Funktionaltität ermöglichen. *************** Also eher eine Beschäftigung als "Software-Ingenieur", um "hardwarenahes Programmieren" zu üben. *************** Drum wenn einem nicht noch eine weitere CPU-Familie einfällt wo doch alles preiswert geht mit dem Source-Level Debugging, ****************************************** bitte Konzentration um ARM-Lösungen ( vom USB-Stick bis hin zum Beagle/Pandaboard ), und wo+wie Source-Level Debugging mit nahezu kostenfreier Software und preiswerter Hardware möglich ist -:). ****************************************** Viele Grüße Rolf
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.