PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AVR oder ARM ?



Brückenwächter
31.03.2005, 12:17
Tja wie ihr seht, würde ichg ern mal eure Meinung wissen
Beide Controller sind ja vom Preis her sehr ähnlich und in Sachen Software ähnlich gut unterstützt.
Nun wollte ich mal von euch wissen, was für einen Anfänger in sachen Mikrokontroller geeigneter ist und welcher einfacher programmierbar ist

Alter Knacker
31.03.2005, 12:33
wenn du schnelle hilfe hier im forum willst, würde ich sagen, den avr hat hier fast jeder, ausser natürlich die pics.
arm lese ich hier jedenfalls das erstemal.
mfg knacki

Florian
31.03.2005, 12:58
Es gibt natürlcih auch hier im Forum Leute, die den ARM haben bzw. die ihn sich vor kurzem bestellt haben.
Such am Besten mal nach ARM7 und Du wirst ein paar Threads dazu finden.
Der ARM ist allerdings meiner Meinung nach für kleine Spielereien zu hoch!

Brückenwächter
31.03.2005, 13:44
in der aktuellen elektor habe ich das erste mal was über den ARM gelesen weil es darin den Schaltplan für ein Entwicklungsboard gibt
und deshalb jetzt dieser Tread

uwe.arzt
31.03.2005, 21:30
Hi,

ich habe mir gerade einen ARM bestellt...

Meine Gründe:

1. Den kern gibt es von verschiedenen herstellern, das macht die Auswahl deutlich größer und den preis niedriger.

2. Wird _sehr_ gut vom gcc unterstützt... Auch C++ ist damit kein Problem.

3. Es gibt für die ganz kleinen ein ucLinux. in den grösseren ARMskann man ja ein echtes Linux verwenden.

4. Die etwas grösseren ARMs werden in sehr vielen portablen Geräten verwendet (fast alle PocketPC, Game Boy Advanced,...)

:q! Uwe

Florian
31.03.2005, 22:45
Naja gut, Hauptsache ist nur, dass Du nicht mit Panzern auf Spatzen schießt, wenn Du mich verstehst! ;o)
Ich denke nicht, dass Du demnächst vor hast, einen Gameboy zu programmieren! *lol*
AVR reicht für viele Anwendungen völlig aus!

18.05.2005, 06:18
Der ARM-Kern wird von vielen Herstellern benutzt und ist somit für den ambitionierten Programmierer hoch interessant. Es handelt sich um einen
32-Bit RISC Kern, der bei geringer relativ hohe Taktfrequenzen erlaubt.
Von der Hardwareseite werden teilweise zwei Spannungen benötigt (um
die Taktraten erzielen zu können) und der praktische Aufbau wird somit komplexer. In oben beschriebenen Elektor wird neben dem Demoboard auch ein Typ von AD beschrieben, der Dank eines extrem leistungsfähigen ADC's interessant erscheint.

Pascal
18.05.2005, 11:11
wenn ich mich recht erinnere, besitzt dieser µC nicht nur einen leistungsfähigen ADC, sondern auch einen guten DAC sowie programmierbare Logik

FoCus
19.05.2005, 08:46
Als grossen nachteil für den Heimbereich epfinde ich die Gehäuseformen, in denen ARMs meisst daherkommen..
Ansonsten gab es in einer der letzten Elektor(en ;-)) zu dem oben erwähnten Board auch hardware/µC Selection Guide und einen detailierten Bericht über die ARMs

Gruss
Michael

tux1
19.05.2005, 14:22
Was die Performace betrifft, so kann man den ARM7 Kern natürlich nur empfehlen (32Bit RISC Controller), aber auch für Heimanwendungen ist diese Controller-Familie
Interessant. Wenn man sich nur die bestückte Controllerplatine von Elektor (mehrfach erwähnter Artikel) besorgt, so hat man quasi einen ARM7 mit DIP-Anschlüssen, den man wie einen Controller im DIP-Gehäuse weiter verarbeiten kann, außerdem sind Quarz und die zusätzlichen Spannungsregler auch auf dieser Platine. Programmieren kann man den Controller mit dem gcc, Download-Tools sind bei Philips erhältlich. Und nun das Beste: Die ganze Sache läuft auch unter LINUX.

tux1
19.05.2005, 14:23
Was die Performace betrifft, so kann man den ARM7 Kern natürlich nur empfehlen (32Bit RISC Controller), aber auch für Heimanwendungen ist diese Controller-Familie
Interessant. Wenn man sich nur die bestückte Controllerplatine von Elektor (mehrfach erwähnter Artikel) besorgt, so hat man quasi einen ARM7 mit DIP-Anschlüssen, den man wie einen Controller im DIP-Gehäuse weiter verarbeiten kann, außerdem sind Quarz und die zusätzlichen Spannungsregler auch auf dieser Platine. Programmieren kann man den Controller mit dem gcc, Download-Tools sind bei Philips erhältlich. Und nun das Beste: Die ganze Sache läuft auch unter LINUX.

20.05.2005, 15:42
Dazu muss man zwei Dinge sagen:

Aufgrund der Load&Store-Technologie der RISC-Prozessoren (betrifft alle, nicht nur ARM) ist der Port-Zugriff sehr ineffizient. Wenn man also viel Bit-Schubsen an I/O-Ports machen muss, dann hängt ein aktueller 8051er selbst einen ARM > 100 MHz locker ab, da er das in einem Befehl macht, der ARM dazu aber mindestens 3 benötigt. Dazu kommt noch, dass der ARM die Befehle aus dem Flash nicht mit voller Geschwindigkeit holen kann, sondern im Falle der LPCs von Philips statt mit 60 nur mit 20 MHz, was aber teilweise durch die Pipeline aufgefangen wird.
Wenn man viel 32Bit rechnen muss, sieht das natürlich ganz anders aus.

Zur Linux-Fähigkeit muss man erwähnen, dass der ARM7-Core keine MMU hat, so dass man ucLinux verwenden muss. Das hat den Hauptnachteil, dass man wesentlich sorgfältiger programmieren muss, da der Speicher der einzelnen Prozesse nicht mehr abgeschottet ist und bei schlampiger Programmierung (insbesondere in C mit Zeigern) ratzfatz das ganze System abgestürzt ist.
Für ein "echtes" Linux muss man dann auf z.B. die ARM9 - oder höher - Familie gehen.

Sommer
20.05.2005, 15:51
Hi,

FRAGE: wer muss schon 32Bit rechen ??? Wer es mit 8/14/16Bit nicht hinbekommt macht eh was falsch :-)

Man muss nicht immer mit Vektoren oder Differenzialgleichungen arbeiten, ein Prozessor kann das ja auch nicht wird ja nur immer Addiert :-)

Also ich kann nur AVR Mega Serie oder PIC16F8xxx / PIC18Fxxxx empfehlen beide machen ihre Sache in der Robotik sehr gut und wenn man mehr benötigt nen richtigen Rechner hinzuziehen für den Highlevel Layer und schon fetzt´s :-)

By Ulli

PS: hab hier ein ganzes Buch über ARM´s also i weiß net so recht.... für Robotik nicht das gelbe vom Ei würd ich sagen...

21.05.2005, 06:03
Naja, das sehe ich anders.

Für reines Rumhantieren mit der Hardware, also Motorsteuerung, Sensorik, etc. ist sicherlich so ein 8Bitter besser geeignet, den ARM allerdings ganz zu verdammen, ist sicherlich falsch.
Gerade aufgrund der Rechenleistung und des dabei doch recht geringen Stromverbrauchs ist er doch prädestiniert für höherwertige Berechnungen in der Robotik.
Und wenn dann das Ganze noch unter Linux geht, kann man sich auch voll und ganz auf die Algorithmen konzentrieren.
Allerdings reicht dann so ein kleiner LPC alleine nicht aus, den sollte man dann schon mit externem Speicher "aufrüsten".

21.05.2005, 10:09
Hi,

ja also ich hab mir da auch schon was überlegt!

Als Main Core einen ARM9 über die MII nen Phy drann für die WLAN Verbindung über I2C die Pic´s ran für Aktorik und Sensorik und den Arm nur Rechnen lassen sozusagen als Master!

Jedoch bin ich nicht ganz von der µCLinux Variante begeistert da wir da wieder alles auf Shellbasis oder eben C machen müssen, und bei C is halt immer net so leicht mal schnell ne komplexe Sache zu schreiben (Zeitlich) als wie zum Beispiel mit Bascom oder Proton....

Und das Problem bei C ist immer wenn man mal a paar Wochen nix macht is man schnell wieder draussen was in den anderen Sprachen wie Basic / Pascal nicht der Fall ist.

Ich weiß nicht ich hab bis jetzt noch keine gute Platform dafür gefunden ausser C ??? Oder gibts da noch was?

By Ulli

21.05.2005, 10:35
Wenn Du einen ARM9 nimmst, kannst Du ein "richtiges" Linux nehmen, der hat eine MMU.
Was meinst Du mit Shellbasis? C ist unter Linux kein Muss, aber eben effizient. Und draussen ist man da meiner Meinung nach auch nicht nach ein paar Wochen, dafür ist die Sprache doch zu simpel...
Falls Dir aber Pascal zusagt, so gibt es doch FreePascal:
http://www.freepascal.org/
Das kann laut Doku auch für den ARM kompilieren.

Sommer
21.05.2005, 11:37
Hi,

sieht net schlecht aus :-) jetzt müsst man nur noch einen ARM9 haben :-(

Shell mein ich so nen art Dosmodus unter Linux...

Naja vieleicht liegts auch daran das i mit C net so viel mach, mal sehn was i noch alles anfang aber ARM ist schon gut wenn man ihn richtig einsetzt!

By Ulli

Pascal
22.05.2005, 15:14
Shell mein ich so nen art Dosmodus unter Linux...

das hört sich so an, als wär eine shell ein Programm, das mit dem OS nicht viel zu tun hat und halt etwas Dos-ähnliches emuliert
das ist aber nicht so
die shell ist unter unix, grob gesagt, das Bindeglied zwischen Kernel und Anwenderprogrammen
das, was man von ihr direkt sieht, ist oft ein Fenster, das Dos-ähnlich aussieht und über das man Befehle eingeben, die der Kernel dann abarbeitet



jetzt müsst man nur noch einen ARM9 haben

weiß jemand, wo man solche relativ günstig herbekommt?

uwe.arzt
22.05.2005, 18:55
jetzt müsst man nur noch einen ARM9 haben

weiß jemand, wo man solche relativ günstig herbekommt?


kommt ganz drauf an was man damit machen möchte :)

1. einen PocketPC kaufen, der auch mit Linux betrieben werden kann
2. Ein kleines Board, wie z.B. http://www.dilnetpc.com/dnp0013.htm
3. Einen Starterkit von einem Hersteller

:q! Uwe

Sommer
23.05.2005, 09:46
Hi,

ja aber zum probieren will i ehrlich keine 300TEURO ausgeben oder mehr... vor allem da die Sache noch nicht so im Bastelbereich firm ist...

So nen DilNet hab ich hier stehen aber so richtig warm werd ich noch nicht mit der ganzen sache, was i mit den machen kann kann i mit meinen PIC18F452 schöner und schneller lösen, jedoch die Lan sache und der Websurver ist der volle Hammer ist super gelöst und funtzt wie Sau :-)

aber i will einen eigenen ARM, so wie ich das gesehen habe kann man da schon was selber bauen, nus mit den Auflöten gibts vieleicht Probleme :-)

Vieleicht hat jemand noch ein paar lösungen oder gut eInternet Seiten...

By Ulli

tux1
23.05.2005, 10:40
Zur Linux-Fähigkeit muss man erwähnen, dass der ARM7-Core keine MMU hat, so dass man ucLinux verwenden muss.

Ich hab ja gemeint, dass es für die LPCs sämtliche Tools auch für Linux gibt, sprich man kann entwickeln, ohne dass man seinem PC ein Microshit-OS zumuten muss:-)

FRAGE: wer muss schon 32Bit rechen ??? Wer es mit 8/14/16Bit nicht hinbekommt macht eh was falsch

Da hast du sicher nicht ganz unrecht, es ist natürlich immer eine Frage der Anwendung (und es gibt im Multimediabereich immer mehr davon, die 32-Bit Controller benötigen), aber wenn jemand rein „akademisch“ in diese Technologie einsteigen will, so ist es auch mit „Heimmitteln“ möglich, mehr wollte ich dazu nicht sagen.

24.05.2005, 04:30
Shell mein ich so nen art Dosmodus unter Linux...

das hört sich so an, als wär eine shell ein Programm, das mit dem OS nicht viel zu tun hat und halt etwas Dos-ähnliches emuliert
das ist aber nicht so
die shell ist unter unix, grob gesagt, das Bindeglied zwischen Kernel und Anwenderprogrammen
das, was man von ihr direkt sieht, ist oft ein Fenster, das Dos-ähnlich aussieht und über das man Befehle eingeben, die der Kernel dann abarbeitet



Das ist völlig falsch. Die Shell ist ein Anwenderprogramm wie jedes andere.
Man braucht auch keine Shell auf einem Unix-System. Insbesondere auf einem embedded-System möchte man so etwas ja auch gar nicht haben, weil man dann ja wieder so Probleme wie Benutzerverwaltung, Rechte, etc. braucht.
Die Befehle arbeitet auch der Kernel nicht ab. Nur, wenn eine entsprechende Funktion aufgerufen wird, wie beispielsweise ein Aufruf eines Gerätetreibers.

Für ein embedded-System entwickelt man ganz normal die Programme, erstellt das Linux-System so, dass der Kernel alle Treiber und andere Funktionen enthält, erstellt die Startsequenz, so dass alle Programme gestartet werden und das war es.
Wenn man es möchte, kann man eine Shell einbauen, damit man auf die übliche Weise sich mit dem System verbinden kann, allerdings ist das insbesondere bei den hier angesprochenen Kleinst-Systemen auf ARM7-Basis (Philips LPC) in den meisten Fällen überflüssiger Ballast.