Hallo Leute ich habe mir ein nettes Gerät mit dem Atmega8 und ein paar Anzeigen gebastelt. Das funktioniert super aber es soll erweitert werden. Der Atmega ist vom Speicher voll belegt (99%) und jetzt wollte ich die Hardware mit einem anderen Atmega8 nutzen. Meine Idee ist jetzt den zweiten µC einfach huckepack auf den 1. zu löten und zwischen den Controllern mittels Reset-Pin umzuschalten. Also lt. Datenblatt sollte der abgeschaltet Controller (Reset auf Masse) ja hochohmig sein. Logischerweise würde ich sicherstellen das nie beide Controller Reset auf Vcc bekommen. Es wird immer der interne Takt verwendet, also auch das sollte klappen. Würde das so funktionieren?
Du weißt aber schon, daß der ATmega328P pinkompatibel zum ATmega8 ist? Peter
ja, das weiss ich aber ich wollte meinen 1.Controller unverändert lassen und jederzeit wieder aktivieren. Würde das klappen?
Was ist so schlimm daran den 8er durch einen 328er zu ersetzen?! Fix auf ne Platine gelötet? :D
also die variante mit dem mega328p dürfte einfacher sein. weil der speicher von dem einen controller voll ist heißt es ja nicht das du durch einen 2. controller mehr speicher gewinnst. im gegenteil ... du mußt die grundlegenden funktionen ja 2 mal haben. inkl. der verwaltung welche der erweiterungen denn gerade läuft ... dann dürfte es ein problem werden, wie willst du den datenaustausch zwischen den controllern machen wenn nur 1 gleichzeitig laufen darf ... und bedenke, wenn die controller umgeschaltet werden läuft das programm immer wieder von vorne an ... ergo -> lieber nen größeren controller nehmen. hat den vorteil das sich dann noch mehr features einbinden lassen.
>ja, das weiss ich aber ich wollte meinen 1.Controller unverändert lassen >und jederzeit wieder aktivieren. wenn du den quellcode für einen atmega328p compilierst dann hast du doch immer noch die originalversion, nur eben angepasst für einen mega328p
So wie ich das verstanden habe, möchte er die Peripherie quasi für ein ganz anderes Programm wiederverwenden, ohne den ersten Prozessor auslöten zu müssen. Mehr oder weniger also: Irgendwo gibt es einen Kippschalter (oder so), der die grundlegende Funktion des Gerätes umschaltet. Intern passiert dabei nichts anderes als der Reset entsprechend umgeschaltet wird. Was ich davon halte: Öhhhhm. Da sag ich lieber nichts dazu :-) Stelle mir gerade vor, wie ein Historiker in 300 Jahren das Gerät findet und rätselt, wie das wohl funktioniert hat :-)
Ja, ich will einfach zwischen den Controllern umschalten. Die Controller sollen auch keine Daten austauschen. Ich deute die Antworten als "könnte klappen" Mal abgesehen vom "Sinn", spricht technisch etwas dagegen?
Martin S. schrieb: > Mal abgesehen vom "Sinn", spricht technisch etwas dagegen? Wenn du rein zufällig an die SPI Pins das passende Bitmuster anlegst, kannst du den anderen AVR löschen oder die Fusebits verstellen.
Mach es einfach! Wenn es Probleme gibt, wirst Du es schon merken.
Danke für den Tip, das wäre echt ein Grund den Unfug zu lassen. Ist so ein Zufall eigentlich möglich, braucht der AVR nicht erst etliche Kommandos zur Initialisierung?
> Wenn du rein zufällig an die SPI Pins das passende Bitmuster anlegst, > kannst du den anderen AVR löschen oder die Fusebits verstellen. Ich stelle mir gerade vor, wie man durch Verteilen auf 2 AVRs richtig böse selbstmodifizierende Programme entwickeln könnte...
>Ich stelle mir gerade vor, wie man durch Verteilen auf 2 AVRs richtig >böse selbstmodifizierende Programme entwickeln könnte... Sei lieber still, sonst will man nach nmap auch noch den avr-gcc auf eine schwarze Liste von pöhsen Hackertools setzen ;)
> Ich stelle mir gerade vor, wie man durch Verteilen auf 2 AVRs richtig > böse selbstmodifizierende Programme entwickeln könnte... 2 Atmels parallel = Skynet o_O SCNR
groof schrieb: > Ich dachte, ein AVR steht immer im Reset? Dadurch sollte er sich durch > nichts beeinflussen lassen. Fast. Wenn nicht das Signal für den Mega8 in den ISP Modus zu gehen ein gezogener Reset Pin wäre :-)
Tschuldigung, ich arbeite normalerweise mit PICs. Die verhalten sich beim aktiven Reset nicht so schwachsinnig.
groof schrieb: > Tschuldigung, ich arbeite normalerweise mit PICs. Die verhalten sich > beim aktiven Reset nicht so schwachsinnig. Nö, der machts genauso "schwachsinnig". Z.B. in der PIC18FX220 Programmierbeschreibung steht, im Programmiermodus ist /MCLR = high (Seite 8, Figure 2-11). Wie viele andere MCs auch. Ergibt auch Sinn, denn damit wird sichergestellt, daß sich die CPU im Betrieb nicht versehentlich selbst in den Programmiermodus schaltet. Und auch, daß nicht eine arbeitende CPU mit den Programmierleitungen kämpft (im Reset sind alle Pins Eingänge). Peter
Dafür brauchen die PICs 12V am Reset-Pin um in den Programmiermodus zu kommen. Und wenn dir das "Schwachsinnige" AVR-Verhalten nicht passt: Dieses ist optional, mittels SPIEN-Fuse einach abzuschalten.
> Und wenn dir das "Schwachsinnige" AVR-Verhalten nicht passt: Dieses ist > optional, mittels SPIEN-Fuse einach abzuschalten. Na also, geht doch. Damit ziehen die AVRs mit den PICs wieder gleich.
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.