mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ARM7 was wie wo?


Autor: Ulli Vex (vex)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Mark .. (mork)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ulli,

ich habe einen LPC2138 auf einer Aufsteckplatine von ebay 
(Ebay-Artikel Nr. 160134719037)
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

Autor: Ulli Vex (vex)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Kai F. (k-ozz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Ulli Vex (vex)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Robert Teufel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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/sho...

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/m...

Gruss, Robert

Autor: Ulli Vex (vex)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.