Hallo! Ich wollte demnächst mal mit dem Arm µC einsteigen und suche/frage mich wie man das am besten hinbekommt. Die Suche im INET half mir, bezüglich irgendwelcher standards auch nicht grad weiter. Darum frag ich jetzt mal hier im Forum nach. Also 1. Einstiegs µC von NXP oder Atmel? (ich tendiere eher zu NXP LPC) 2. µC sollte nicht zu klein aber auch nicht zu komplex sein. D.h. wenn da ein USB2.0 drauf ist und ich den fürs erste erst einmal gedanklich vernachlässige ist es auch ok - später kann ich damit ja noch evtl. was anfangen. 3. Programmieren -> welcher Compiler(c/c++) und welche Programmier Schnittstelle also JTAG oder per RS232/Bootloader??? 4. Wäre es besser, als Einsteiger ein Eval board und/oder eine simple Aufteckplatine? Hab da sowas bei Olimex gesehen und auch nicht sehr teuer 5. Alles zusammen wie gesagt mit einem gewissen Standard - es sollte sich schon (wenn möglich) eine menge Leute damit auseinandergesetzt haben, man sollte einfache Beispiel Sources bekommen können und es auch verstehen. z.B.: ich nehme hauptsächlich xyzARM Compiler, benutze hauptsächlich den und den Dingsda-Controller(weil gut erhältlich, weil rel. einfach und später kann man damit auch noch viel vom Hocker reissen) und programmiere den in der Regel mit der blahblubbs-Schnittstelle viele Fragen und hoffentlich auch viele Antworten Danke schonmal Vex
Hallo Ulli, ich habe einen LPC2138 auf einer Aufsteckplatine von ebay (http://cgi.ebay.de/ARM7-Philips-LPC2138-Stamp-Module-ARM-32-16-Bit_W0QQitemZ160134719037QQihZ006QQcategoryZ10662QQrdZ1QQssPageNameZWD1VQQcmdZViewItem) Das Modul ist sehr günstig und es gibt viele Leute, die den LPC213x/4x nutzen. Compilieren tue ich meinen Code mit WinARM. Das ist ähnlich wie WinAVR und beinhaltet alles wan man braucht: arm-elf-gcc, linker, ein Programm zum flashen über RS232, viele Beispiele usw. Einen JTAG-Adapter hab ich nicht, da ich bisher kein JTAG gebraucht habe und das flashen problemlos mit dem on-chip-bootloader klappt. Natürlich musst Du selbst entscheiden, was für Dich besser ist. Das hängt von deinen Vorlieben und Wünschen ab, und nicht zuletzt von Deinem Budget. MfG Mark
Jau hört sich schonmal gut an. Ich verate mal was ich mir dabei vorstelle, damit was zu entwickeln. Da wäre z.B. ein Arm7 basierender Midi Synth. Gut ok jetzt werden bestimmt einige sagen, dass man dies mit nem Dsp besser lösen könnte aber zum Einen meine ich, dass es mit dem Mitteln bestimmt auch sehr gut gehen würde und zum Anderen, ich sowas auch schon bei einen Avr gesehen und gehört hab. Was mir für die Zukunft, falls ich es irgendwann mal gebacken bekomme Win Treiber zu programmieren, wäre dann noch ein USB2.0 2..4...8 Kanal Midi Port unter Win(wasweissichwiesichdasdannschimpft). Also alles Ziele für die Zukunft und fürs Erste denke ich mal eher simplerere Sachen wie Leds ansteuern, Tasten einlesen, LcdAusgabe usw. ganz genau, wie ich bei nem Avr begonnen hab. Übrigens ..hab mir schon (falls denn der auch noch Einsteiger freundlich ist) den Lpc2148 ausgeguckt 512kb Flash, 40kb Ram und USB2.0 hört sich net schlecht an. also was denkt ihr dabei? Gruß Ulli
Wenn dir der LPC2148 schon so gut gefällt, dann kann ich dir das LPC-H2148-Board von Olimex nur sehr empfehlen. Da ist schon alles wichtige drauf, aber du kannst trotzdem alle I/Os frei nutzen, indem du das Modul auf eine Lochrasterplatine steckst. Und günstiger als ein komplettes Eval-Board ist es auch noch. Hier im shop.mikrocontroller.net gibts das Board für 38,90 und somit inkl. Versand nur 8 Euro teurer als das Board von ebay, welches ich für nicht sehr hochwertig halte (nur meine persönliche Meinung). Zusätzlich ist natürlich noch der USB- und der JTAG-Anschluss drauf.
Hi! was mich auch noch mal interessieren würde, wäre .. wie schnell ist denn nun so ein Arm7 im Gegensatz zu nem Avr? Also macht der umgerechnet auf 16/32 Bit(also klar, daß der Avr jetzt in einer 32 Bit Rechnung dagegen alt aussieht und der Arm wahrscheinlich zu großen Code bei einer 8 Bit Rechnung hat) so in etwa dasselbe? Gruß Ulli
Hallo Ulli, einfach mal so ins Blaue. Der ARM7 hat laut ARM durchschnittlich 1.9 cycles per instruction = CPI, also kannst Du ca. 31 Assembler instructions / us ausfuehren wenn der micro bei 60 MHz laeuft und der Speicher keine Bremse darstellt. Beides ist beim LPC2148 (oder auch LPC2138) moeglich. Dagegen kann ein AVR bei 16 MHz eben unter keinen Umstaenden mehr als 16 Assembler Befehle in eine uSec ausfuehren. Bei einer kurzen Suche habe ich die Angabe gefunden, dass der AVR bei ca. 1.8 CPI liegt, das waeren dann 9 Assembler Befehle. Referenz: http://www.embeddedrelated.com/usenet/embedded/show/23496-1.php Wie Du schon richtig gesagt hast, kommt es sehr darauf an, wieviel von Deinem Code mit 8-bit Variablen oder 16/32-bit Variablen durchsetzt ist. Wenn alles fuer AVR zu Beginn optimiert war, also alles mit Char definiert, dann wird sich der Code auf dem ARM wahrscheinlich mit einem Faktor 2 oder gar etwas mehr aufblaehen. Wenn der Code zu Beginn fuer einen 16/32-bit Controller geschrieben wurde, dann blaeht er sich evtl. sogar auf bei der Konvertierung zu 8-bit. Angenommen es gibt einen guten Grund, dass Du auf 32-bit gehst, also unter anderem Arithmetik mit 16/32-bit, dann werden diese vermutlich neuen Programmteile auf dem ARM eher kompakter ausfallen als auf einem AVR, aber jede Abfrage nach Zustand von Bits oder Modifikation derselben kann der AVR mit weniger Bytes ausfuehren. Bitte auch beruecksichtigen bei Codegroesse / Performance, der ARM hat zwei Modi. Abgenommen es gibt keinen Speicherflaschenhals, dann ist der ARM mode ca. 30% schneller als der Thumb mode aber er braucht halt auch 30% mehr Bytes in der Codegroesse. Der langen Rede kurzer Sinn, mit etwas Uebung wirst Du jede Menge zusaetzlicher Performance im ARM finden und es ist halt auch mehr konfigurierbar, so wie z.B. ARM/Thumb mode. Am Anfang ist es schlicht und ergreifend ANDERS und oft mit etwas Frustration durchsetzt :-| Fuer den schnelleren Start wuerde ich Dir die angehaengte kleine Beispielprogramm-Sammlung empfehlen, die Version ist fuer Keil uVision. Weitere Beispiele wie ein MP3 Player oder aehliches kann man hier finden: http://www.standardics.nxp.com/support/documents/microcontrollers/all/?scope=LPC2148 Gruss, Robert
Oh prima!!!! Das geht würde ich sagen. :-) Es geht mir ja auch darum, 16/32Bit Anwendungen darauf zu schreiben und normale 8Bit Rechnungen weiterhin auf dem Avr zu belassen. Also ein z.B. ein Arm auf einer Aplikation die ab und zu 10Bit Messwerte berechnet, Tasten einliest und das Ganze dann in irgendeiner Form auf einen LCD ausgibt, halte ich für Oversized. Wie schon gesagt geht es mir darum evtl. mal nen Midi-Synth damit zu bauen und da gibt es vorrangig 16/32 Bit. Wäre auch fast noch schöner wenn man da in C++ programmieren könnte, weil ich unter VC++ schon einiges damit gemacht hab und dann ein paar Klassen übernehmen könnte. Ich denke mir aber auch dabei, das sich der Code zusehr aufblähen würde und wahrscheinlich eh nicht alle C++ Befehle unterstüzt wird oder ist es dasselbe? Gruß und vielen Dank! Ulli
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.