Schönen guten Tag und frohe Ostern. Ich habe mich seit fast 2 Jahren nichtmehr mit Elektronik und Microcontrollern beschäftigt. Doch so langsam packt mich doch wieder der Bastel- und Frickelwahn und ich will mal wieder was in dem Bereich machen. Zuvor habe ich die PIC16FXXX als Microcontroller verwendet, die fallen aber für mich jetzt flach weil es dafür keine gescheite IDE für Linux gibt, ausserdem sind mir diese µCs inzwischen zu schwachbrüstig. Nun was will ich? - Entwicklungsumgebung nativ unter Linux (Ubuntu) nix mit Wine etc. - "Brenner" und "Brennsoftware" zum Flashen des µCs muss Linux-kompatibel sein. - Gute Dokumentation von Brenner und Evalboard. - C als Programmiersprache. Ich habe mich schon mal ein wenig umgeschaut und finde, dass der Atmel AVR32UC in etwa das ist was mir zusagen würde, weil: - Toolchain (IDE?) für Linux - Lässt sich in C Programmieren - Hat ordentlich Bums (Rechenleistung) - Viel Programmspeicher (512kb) - Anständig IO (ADC, PWM, USART, SPI, I2C, etc.) Für den Einstig würde ich mir das "UC3A Evalboard" aus dem Shop bestellen, einfach drauf aufs Steckbrett und lod gehts :-) Nur habe ich noch ein paar dinge die mir noch nicht klar sind: - Ist das "UC3A Evalboard" empfehlenswert? - Gibt es noch andere günstige Einsteigsmöglichkeiten? - Brauche ich für das "UC3A Evalboard" noch einen extra Brenner? - Wie ist das mit diesen Fuses die es bei den AVRs gibt? Ich habe gelesen, dass ein häufiger Anfängerfehler dazu führt, dass daer µC unbrauchbar wird. - Welche Software benötige ich um die AVR32 Programmieren und Flashen zu können? - Wie schaut es aus mit der Lebenszeit für die AVR32? Ist absehbar ob die bald abgekündigt werden etc. - Sollte ich mich vielleicht doch eher nach nem ARM umsehen, da diese Prozessorfamilie aller Wahrscheinlichkeit nicht so bald abgekündigt wird? Mit freundlichen Grüssen Thomas
Nimm doch einen Grashüpfer: http://www.embedded-projects.net/index.php?page_id=237 Wenn Du unbedingt Linux willst, bekommst Du dort die volle Ladung, und solange Du Dir den Bootloader nicht zerschießt, brauchst Du auch keinen Programmer. Wenn doch: Der Atmel JTAG mkII wird unterstützt. Den brauchst Du auch für die kleineren AVR32, und der geht auch für die AVRs. Es sind zwar 300 Euro, aber die wirst Du eben investieren müssen. Wenn Du Realtime-Tracing willst, brauchst Du den Atmel One!, aber der kostet das doppelte. Du hast reichlich Pins, und das Linux auf dem AVR32 unterstützt auch die AVR32 Peripherie inkl LCD-Controller, I2C, SPI etc etc. Zum Entwickeln hast Du eine ganz normale gcc Toolchain, es ist alles dabei. Die Fuses gibts auch auf dem AVR32, aber da kannst Du Dich nicht mehr aussperren, da die Auswahl der Clock softwaremäßig geht und das Teil immer mit dem internen RC-Oszillator startet. Das wäre vielleicht auch beim AVR sinnvoll gewesen, aber es hat wohl niemand dran gedacht. Bezüglich der Lebenszeit der Architektur würde ich mir keine Sorgen machen, so neu wie die ist. Alternativen: Wenn Das ganze unter Linux laufen soll: ARM9 oder Cortex A8, ansonsten Cortex M3. Ich würde eher auf die Cortex Prozessoren gehen, weil das Interrupthandling dort um Klassen besser ist und Du wirklich alles in C machen kannst. Bei ARM 7/9/11 ist immer noch etwas Assemblercode notwendig. Außerdem Ist beim Cortex die Peripherie mehr vereinheitlicht, was den Umstieg von einem Hersteller zum anderen sehr erleichtert. Bei ARM 7/9/11 ist nur der nackte Prozessorkern vorgegeben, alles andere ist herstellerspezifisch. Zur Enwicklungsumgebung etc.: thumb-2 Support im gcc ist noch relativ neu, d.h. aufpassen, dass Dein gcc das kann. Die Codequalität des gcc ist im Vergleich zu IAR und Keil/ARM (Keil gehört jetzt ARM, und die Compiler kommen eben vom Prozessordesigner) eher mäßig, aber was anderes wird eh außerhalb Deiner Reichweite und außerhalb Deiner Linux-Welt sein. Es gibt relativ preiswerte JTAG-Adapter auf Basis des FTDI2232 für ARM, aber für SWD (Single Wire Debug, braucht weniger Pins als JTAG) und für die ETM (Embedded Trace Macrocell) brauchst Du wieder was richtiges wie Segger JLINK oder Keil uLink nebst passender Software, und das sind dann wieder einige 100€ mehr. Ansonsten: MIPS z.B. in Form des PIC32, aber auch da verläßt Du die Linux-Welt wieder. fchk
Hi, >>Wenn Du unbedingt Linux willst, bekommst Du dort die volle Ladung Der will nur die IDE in Linux haben und nicht, dass der Prozessor das Unterstützt. >- Ist das "UC3A Evalboard" empfehlenswert? Also das "UC3A Evalboard" Kannst du nehmen. Ist auch ein Bootloader drauf. Der Befindet sich auch in jeder MCU wenn du die Einzel kaufst. Also so kannst du später auch eigene Boards entwickeln und brauchst keinen Speziellen Programmer. >- Gibt es noch andere günstige Einstiegsmöglichkeiten? Alvidi Board: http://www.alvidi.de/shop/product_info.php?info=p7_AVR32-Module.html&XTCsid=0ef8e3b98a6503a8ba46547a0d35fc03 Ist auch fast 1:1 Kompatibel. Ein Großer unterschied ist nur, dass das Board hier aus dem Shop Jumper hat, womit du die Taster und LEDs die auf dem Board sind deaktivieren kannst. >- Brauche ich für das "UC3A Evalboard" noch einen extra Brenner? Wegen Bootloader nein. Zum debuggen JTAG ICE MKII gibt es China Dinger bei Ebay für ca. 80Euro. >- Wie ist das mit diesen Fuses die es bei den AVRs gibt? Ich habe >gelesen, dass ein häufiger Anfängerfehler dazu führt, dass der µC >unbrauchbar wird. Naja eigentlich brauchst du dich hier nicht so um die Fuses zu kümmern, da du z.b. Clock Frequenz im Programmcode einstellst. >- Welche Software benötige ich um die AVR32 Programmieren und Flashen zu >können? Programmieren: AVR32 Studio Flashen: FLIP Alles kostenlos bei Atmel.com >- Wie schaut es aus mit der Lebenszeit für die AVR32? Ist absehbar ob >die bald abgekündigt werden etc. Die AP7000 ja, Aber die UC3 nicht. Die haben jetzt auch erst noch ne FPU angekündigt für die UC3 und neue Arten. >- Sollte ich mich vielleicht doch eher nach nem ARM umsehen, da diese >Prozessorfamilie aller Wahrscheinlichkeit nicht so bald abgekündigt >wird? Naja da die UC3 wohl nicht so schnell abgekündigt werden, hat sich die frage erledigt. Sonst noch Fragen? Gruß Zippi
von MIPS würde ich die Finger lassen. Die Dinger setzt keiner ein! MIPS ist bisher nur insgesamt auf die Stückzahlen gekommen wegen extrem weniger Projekte mit extrem hohen Mengen. soweit ich weiss hat MIPS bisher auch (deshalb) nur einen einzigen Liz.nehmer gefunden. (Microch.) ...gugg mal bei Renesas...
@MCUA Unterschätze MIPS nicht. Du wirst Dich wundern, wo das Zeugs überall drin steckt. Beispiel Broadcom. In vielen Broadcom Gigabit Ethernet Controllern steckt ein kleiner MIPS drin - vielleicht auch auf Deinem Mainboard. Oder Router wie der Linksys WRT54 haben MIPS drin. Laserdrucker. HP zum Beispiel. DVB-Receiver und DVD/BluRay-Player. Sigma Designs (baut DVB-Decoderchips) ist z.B. MIPS-Lizenznehmer, genauso wie Toshiba, NEC, Panasonic/Matsushita und Sony. Mich würde auch nicht wundern, wenn Dein nächster Fernseher MIPS drin hat. Wie gesagt: unterschätze die Leute nicht. Die sind 10 Jahre länger am Markt als ARM.
Erstmal vielen Dank für die Antworten. >Wenn Du unbedingt Linux willst, bekommst Du dort die volle Ladung Auf dem µC muss nicht unbedingt Linux laufen, das währe wahrscheinlich auch absoluter Overkill. Aller Wahrscheinlichkeit werde ich mir das UC3A Evalboard aus dem Shop besorgen. Mit ein Grund für meine Entscheidung ist auch, dass der Umstieg für "Kleinkram" von AVR32 zu AVR dann nicht so heftig einschlägt als wie wenn man von ARM zu AVR umsteigt. Jedoch will ich mich erstmal primär dann mit dem AVR32 beschäftigen. mfg Thomas
>Mit ein Grund für meine Entscheidung ist auch, dass der Umstieg für >"Kleinkram" von AVR32 zu AVR dann nicht so heftig einschlägt als wie >wenn man von ARM zu AVR umsteigt. Jedoch will ich mich erstmal primär >dann mit dem AVR32 beschäftigen. Zieh dir nen ARM Board und lass den AVR32 links liegen. Der hat gegen die ARM Konkurrenz doch sowieso keine Chance.
>von AVR32 zu AVR dann nicht so heftig einschlägt Das ist Unglaube unterm Volk ;) AVR und AVR32 haben bis auf 3 Buchstaben nichts gemeinsam.
>Unterschätze MIPS nicht. Du wirst Dich wundern, wo das Zeugs überall >drin steckt. Beispiel Broadcom....... ja, im Kommunik.markt sind die stckzahlmässig stark vertretem. Aber es sind immer (wie gesagt) rel. WENIGE Projekte mit SEHR VIELEN Stückzahlen. Aber damit ein Comtroller insgesamt interessant wird, oder für rel viele Projekte eingesetzt werden können soll, müssen auch viele Leute bereit sein, diesen zu unterstützen. Und gemau das ist bei MIPS nicht der Fall. Es gibt fast keine Projekte mit 100er oder 1000er Stückzahlen, in denen MIPS eingesetzt wird. (Deine Beispiele zeigen auch das. Baut vieleicht jede Firma mit 10..100 Leuten Laserdrucker ?) Das ist für viele Leute (richtigerweise) ein driftiger Grund das nicht einzusetzen. Es bringt überhaupt nichts, wenn MIPS irgentwo im Fernseher drin sein sollte, aber fast kein Mensch etwas mit MIPS zu tun hat. Und MIPS gibts seit den 80ern (!), und eine Architektur, die es in 20-30 Jahren in keinster Weise zum Durchbruch geschafft hat, wird es auch in Zukunft nicht schaffen. Und technisch gesehen sind die bei weitem nicht so , als dass man drauf angewiessen wäre.
Hallo thomas1123, da Du in C programmieren wirst, ist der Prozessorkern eher nebensächlich. Für Dich ändert sich dann nur so viel, dass Du dann andere Peripherie hast und vielleicht noch einige Details im Interrupthandling anders sind. Ansonsten ist das aus Programmierersicht völlig egal. Der AVR32 hat etwas mehr Rechenleistung pro MHz CPU-Takt als beispielsweise ein ARM7, aber nicht so viel, dass es wirklich entscheidend wäre. Die 8 Bit AVRs sind noch einmal eine ganze Ecke anders als die AVR32. Da hast Du dann nämlich auf einmal zwei getrennte Adressräume: einen für Programmcode und einen für Daten. Um Daten aus dem Flash zu lesen, gibts dann Prozessorbefehle wie LPM. Da musst Du dann noch einmal umdenken. Von daher ist es egal, ob Du jetzt ARM oder AVR32 nimmst. Für den beschränkten Geldbeutel ist es vorteilhaft, dass es für ARM schon für 25€ einen USB-JTAG Adapter gibt (Amontec), denn irgendwas in der Richtung brauchst Du einfach unabhängig von der Architektur, weil das ganze sonst in Blindflug ausartet. Ansonsten ist das egal. Olimex hat genügend nette Cortex M3 Board (wie gesagt, ARM7 empfehle ich nicht mehr). fchk
Thomas Müller schrieb: > Mit ein Grund für meine Entscheidung ist auch, dass der Umstieg für > "Kleinkram" von AVR32 zu AVR dann nicht so heftig einschlägt als wie > wenn man von ARM zu AVR umsteigt. Ich halte es für deutlich sinnvoller, es umgekehrt zu machen. Man hat bei den kleinen doch erstmal ne ganze Menge Probleme weniger. Besonders gerne nehme ich bei den AVRs die ganz kleinen (ATtiny25 .. ATmega328). Ich finds schon etwas seltsam, auf nem 32Bitter die Grundlagen lernen zu wollen (LED blinken, Taste abfragen, ADC, Timer, I2C, ..). Dann hat man nämlich bei Nichtfunktionieren einen riesen Wust an möglichen Fehlerquellen (Hardware, Toolchain, Konfiguration, Initialisation, ...) neben Deinem eigentlichen Programm. Und wenn man etwas zersemmelt, ist das ganze teure Eval-Board hin und nicht nur ein billiger MC im DIP-28, den man dann einfach vom Sockel zieht und den nächsten reinsteckt. Das Upgraden auf nen 32-Bitter geht deutlich leichter, wenn man schon auf nem 8-Bitter zuhause ist. Und man weiß, daß die damit getesteten Routinen bereits laufen. Allerdings würde ich zum ARM Cortex M3 tendieren, da gibt es ja schon 4 Anbieter (Luminary/TI, ST, NXP, Atmel), scheint also recht zukunftsträchtig zu sein. Peter
>da Du in C programmieren wirst, ist der Prozessorkern eher >nebensächlich. Für Dich ändert sich dann nur so viel, dass Du dann >andere Peripherie hast und vielleicht noch einige Details im >Interrupthandling anders sind. Ansonsten ist das aus Programmierersicht >völlig egal. Nur andere Peripherie ? Aber das können 100e (manchmal 1000) Seiten Beschreibung sein. Das kann man nicht so einfach umschalten. Und egal ob in C oder in ASM: Die Peripherie muss man kennen, sonst kann mans nicht bedienen. Also sollte man sich schon <vorher> genau ansehen, was man nehmen möchte. Anfangen würde ich auf jeden Fall mit einem 8-Biter, weil einfacher. ausserdem haben auch 8 Biter heute schon beachtliche Leistung. (! STM32-72MHz hat nur ca 30MHz Flash, also 2 Wait-st's. !!! (das hat ST auf den Datasheets auf 1. Seite bei Features bewusst weggelassen ))
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.