Hallo! Ich schaue mir gerade diverse µCs an und habe das Gefühl, dass es keine halbwegs modernen (SPI, JTAG, Timer, etc) und günstigen (AVR Niveau) 8-Bitter mit Von-Neumann-Architektur, externem Speicherinterface und kostenlosem C Compiler gibt. Stimmt das, oder hab ich was übersehen? MfG bad guy
Wo ist dien Problem? Die AVR sind doch bestens, und bei den größeren Prozessoren kann man externen RAM anstöbbeln....
Ist der kostenlose Compiler tatsächlich eines der Kriterien, daß die Zahl der von Dir fokussierten Controller so stark verarmt? Was wäre preisgünstig? Ich würde mal sagen, daß die, welche einen solchen ausgebauten und zugleich mickrigen 8-Bitter einsetzen, ein Massenprodukt herstellen und daher nicht auf kostenlose Compiler angewiesen sind, oder ?
AVRs haben keine Von-Neumann-Architektur -.- Es gibt doch jetzt diese mini-ARMs, die als Ersatz für die aktuellen 8-Bitter gedacht sind - wie heißen die doch gleich?
siehe : Beitrag "PIC oder AVR" zB: - Sind Daten in RAM und ROM mit dem gleichen Code benutzbar? AVR, PIC, alle übrigen Harvard-Architekturen: NEIN. Daten im ROM erfordern anderen Zugriff als Daten im RAM. Entweder versteckt das der Compiler in Runtime-Routinen für Pointerzugriffe, oder man kann Routinen nicht so schreiben, dass sie beides als Parameter verdauen können. Bei kleinen Programmen von ein paar KB kein Problem, bei grösseren jedoch schon. Bei AVR/GCC ziemlich fehlerträchtig. MSP430: saubere von-Neumann Architektur. Problemlos.
In diesen Forum werden Beiträge ja besonders sorgfältig gelesen. Der MSP430 hat kein externes Speicherinterface.
Hallo Kann mir jemand den Vorteil einer Von-Neumann-Architektur (konkret für kleine Mikrocontroller) erläutern? Jedenfalls habe ich mit Harvard bei den AVRs überhaupt kein Problem. Das einzige, was ich mir allenfalls wünschen würde, wäre, dass das Programm ebenfalls in SRAM gespeichert wird, anstatt Flash. So könnte man schneller in diesen Bereich schreiben und die Chips höher Takten. Gruss Michael
NACHTRAG: AVR-Progger möchten ja meistens zumindest einige Kilobyte Programmspeicher. Würde man die Controller als Von-Neumann-Architektur ausführen, so müsste dieser samt und sonders als SRAM gehalten werden, kleine Tinys also mit 2 oder 4 kB SRAM, grössere Megas mit bis zu 128 kB - wäre das nicht sehr teuer? (Wenn ich mir so die mickrige SRAM-Ausstattung der AVRs anschaue, komme ich eindeutig zum Schluss, dass SRAM ein 'kostenintensiver' Faktor ist.)
Die Ausstattung der AVR-Familie mit SRAM ist nicht mickrig, sondern an die typischen (Massen-) Anwendungen dieser µCs angepasst. Der Markt reguliert das. Wenn in einer Applikation mehr Speicher benötigt wird, kann man diesen extern anbinden (z.B. Dataflash über SPI). Für rechenintensive Applikationen, die auf einen großen Datenbereich zugreifen müssen, eignet sich dann eher ein ARM-Prozessor mit externem SDRAM oder ein DSP. Ich habe mit dem Angebot von Atmel (AVR, ARM7, ARM9) noch jedes Problem einigermaßen kostengünstig lösen können. Wo ist das Problem?
Das war implicit auch mein Ansatz. Wer braucht einen billigen 8bitter, der nicht viel billiger ist, als ein 16er, dafür aber im RAM-Zugriff limitert ist?
@Mr.Chip Wieso müsste bei einer von Neumann Architektur der gesamte Speicher als SRAM gehalten werden? Die Technologie kanns nichts sein da beide Speicherarten eh auf dem Chips sind und Flash und RAM extern im selben Speicherbereich geht ja auch. btw. wie wäre es mit dem eZ80F91?
Ich finde es reichlich vermessen, seine persönlichen Spezialwünsche gleich als "Marktlücke" zu beschreien. Wenns wirklich eine wäre, hätte sich doch auch ein Hersteller dafür gefunden. JTAG ist ja ganz lustig, um mal zu Anfang in die Innereien eines MC reinzuriechen, bei der richtigen Programmierung nützt es aber herzlich wenig. Peter
Peter Dannegger wrote: > JTAG ist ja ganz lustig, um mal zu Anfang in die Innereien eines MC > reinzuriechen, bei der richtigen Programmierung nützt es aber herzlich > wenig. Naja, sag aber dazu dass du mit dieser Meinung eher alleine dastehst.
Ganz so allein steht Peter sicherlich nicht. Habe auch noch nie JTAG genutzt. Und mich schon oft geärgert, daß die AVRs keinen Programmcode aus dem RAM ausführen können. Mit dynamisch erzeugtem Code wäre vieles so einfach, aber nicht, wenn man dafür dauernd Seiten flashen muß. Aber da gibt es schlimmere Marktlücken. Also nicht jammern, sondern das beste aus dem machen, was da ist.
Andreas Schwarz wrote: > Peter Dannegger wrote: >> JTAG ist ja ganz lustig, um mal zu Anfang in die Innereien eines MC >> reinzuriechen, bei der richtigen Programmierung nützt es aber herzlich >> wenig. > > Naja, sag aber dazu dass du mit dieser Meinung eher alleine dastehst. Ist jedenfalls meine Erfahrung. In einem realen Projekt ist die CPU nicht mehr allein auf der Welt, sondern nur noch ein Rädchen im Getriebe. Und wenn sie dann mal stille steht, weil man sich nen Debugwert anguckt, ist sämtliches Timing zum Teufel, da ja alle Bauteile drumherum noch weiterlaufen. Noch lustiger wirds, wenn man 2 oder mehr MCs hat, die ständig Daten senden. Ich hab mal mit den Silabs 8051-ern rumgespielt. Solange die CPU nur auf dem Testboard war und nichts weiter zu tun hatte, konnte man mit JTAG alles ansehen. Aber sobald man ne reale Schaltung aufgebaut hat, ist Schluß mit Däumchen drehen und JTAG höchstens noch zum Proggen zu gebrauchen. Insbesondere bei Fehlern mit Interrupts ist Stillestehen absolut tödlich. Nervig war auch, daß nach jedem Reset erstmal das Programm neu gebrannt wurde, ehe man mit dem Debuggen loslegen kann. Peter
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.