Hallo Leute, ich hab mal eine Frage: würdet ihr die ISP Signale auf ungenutzte Pins eines 9pol. seriellen Steckers legen wenn das die einzige Schnittstelle aus dem Gehäuse ist? Das würde ein aufwändiges zerlegen sparen. Es ist nicht gedacht die software ständig zu ändern, was dann vielleicht besser mit einem Bootloader getan wäre. Ich will mich nur für den Fall rüsten das doch mal di eFirmware getauscht wird und das eben ein Zerlegen des Gehäuses nach sich ziehen würde. Falls jemand da bejat, sollte ich die Pins irgendwie schützen zwecks versehentlicher Beaufschlagung mit den Signalen von einer voll belegten Schnittstelle?
Nein. Auf so einem 9-Poligen SubD ist kein Pin frei. Grüße, Martin.
Grundsätzlich finde ich das nicht bedenklich. Solange nur du dieses Gerät bedienst und nicht auch noch Hans und Franz daran rumstöpseln. Du weisst ja, wo der Knackpunkt ist. Und in Serie soll das ja wohl auch nicht gebaut werden. Schutzmassnahmen sind natürlich immer gut. Da die Programmer sich aber meist recht zickig anstellen, könnte es dann allerdings passieren, daß das Flashen nicht mehr funktioniert. Womit die ganze Sache dann wieder hinfällig wäre. mfg.
Nimm doch einfach einen Bootloader. Du vermeidest eine Nicht-Standard-Belegung des DSUB-Steckers. Solche Lösungen gehen zwar, schlagen aber oft zurück wenn man gerade nicht daran denkt. Sollte man, meiner Meinung nach, nur machen, wenn es garnicht anders geht. Ob Du die Firmware nun oft oder selten änderst spielt doch dabei keine Rolle.
Sorry für den Doppelpost, der blöge IE meldete immer wenn ich auf abschicken wollte das er nichtmehr funktioniert, dann hab ich Firefox genommen. Aber einmal het er wohl doch noch reagiert. Hm ich werd mir mal einen Bootloader anschauen hoffe das ist nocht so schwer zu implementieren, hab ich noch nie gemacht. Geht der denn auch in nen Atmega 8 ? Hab da jetzt keine Vorstellung wieviel Speicher so ein Bootloader benötigt.
Chris tian schrieb: > Geht der denn auch in nen Atmega 8 ? Hab da jetzt keine Vorstellung > wieviel Speicher so ein Bootloader benötigt. Das geht mit jedem AVR. Sofern der, wie der Atmega8, Bootloadersupport hat, ist das völlig einfach. Ohne muß man ein bisschen tricksen. In C geschrieben, kommst du mit 1K locker aus. Es gibt hier aber auch ASM-Versionen, die wesentlich kleiner sind. http://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung Die Anleitung finde ich gar nicht schlecht. Nur die Interrupt-Geschichte halte ich für unsinnig. Aber das muß jeder selber wissen. mfg.
@ Thomas Eckmann
>Nur die Interrupt-Geschichte halte ich für unsinnig.
Magst Du das mal ein wenig erläutern, bitte?
Ich kann mir nach der Lektüre nicht erklären, was Du meinen könntest.
Kann ja sein, das ich was lernen kann.
Martin B. schrieb: > Nein. Auf so einem 9-Poligen SubD ist kein Pin frei. Nimm doch statt einem 9-poligen einen 15-poligen HD (VGA) Stecker. Da kannst Du problemlos die ISP-Pins noch unterbringen und läufst nicht Gefahr, dass jemand das Gerät mit einem Standard-Kabel zerschießt. Alternativ kannst Du auch einen normalen 15-poligen nehmen - dann kannst Du Dir einfacher einen Adapter auf Standard bauen - 15-pol Buchse direkt auf 9-pol. Stecker. fchk
Hmm schrieb: > Magst Du das mal ein wenig erläutern, bitte? Das einzige, was ein Bootloader macht, ist auf Daten warten und diese ins Flash zu schreiben. Das kann man auch pollen und spart sich das Verbiegen der Interrupt-Vektoren sowie jede Menge Code. mfg.
@ Thomas Eckmann
>Das einzige, was ein Bootloader macht,...
Aha. So meinst Du das. Danke.
Das gerät an das die Platine angeschlossen wird hat eine 9 polige Schnittstelle da kann ich nichts anderes nehmen. Da kein Kabel dazwischen kommt. Da geht dann eben nur V+ RX TX und GND drüber.
Chris tian schrieb: > Da geht dann eben nur V+ RX TX und GND drüber. Dann ist das ohnehin keine RS232 mehr. Denn V+ hat da gar nichts zu suchen. Je nachdem auf welchem Pin das liegt, könnte der PC das evtl. übel nehmen. Ohne V+ wäre es einfach die µC-übliche "RS232-Light". mfg.
V+ liegt auf pin9 da kann ja bis +15v drauf sein laut Wiki.
Chris tian schrieb: > V+ liegt auf pin9 da kann ja bis +15v drauf sein laut Wiki. Sollte man auch erwarten, daß das auf einem Ausgang liegt. Aber manchmal... Aber jetzt schreibst du dir ja sowieso eine Bootloader. Dafür finde ich es praktisch, wenn man vom PC eine Steuerleitung über einen Transistor in OC auf den Reset des µC legt. Dann kann man ihn bequem vom PC aus in den Bootloader schalten. mfg.
Thomas Eckmann schrieb: > Das einzige, was ein Bootloader macht, ist auf Daten warten und diese > ins Flash zu schreiben. Das kann man auch pollen und spart sich das > Verbiegen der Interrupt-Vektoren sowie jede Menge Code. Ja, so etwa werden die völlig dumme C-Nasen argumentieren, für die alles jenseits von main() Teufelszeug ist, was sie niemals richtig begreifen. Intelligente Asm-Programmierer hingegen schreiben einen (natürlich interruptgesteuerten) Gerätetreiber nur einmal und benutzen ihn dann im Bootloader und von der Anwendung aus, wodurch er nur einmal Platz im Flash benötigt. Das gilt ganz allgemein, nicht nur für den speziellen Fall eines RS232-Bootloaders, sondern genauso für Ethernet, USB und was auch immer sonst. Nicht, daß das in C nicht auch ginge, nur sind halt die allermeisten C-Programmierer ganz offensichtlich zu blöd dafür, das in ihrer bevorzugten Sprache auch tatsächlich umzusetzen. Das sagt doch wohl eine ganze Menge über die Sprache und noch mehr über ihre Apologeten. Wobei hier wohl gilt: Die am lautesten pro-C krakeelen, haben am wenigsten Ahnung. Von C nicht und vom Rest der Sache noch weniger.
c-hater schrieb: > Ja, so etwa werden die völlig dumme C-Nasen argumentieren, für die alles > jenseits von main() Teufelszeug ist, was sie niemals richtig begreifen. So wie du gerade rumkrakehlst, hast du wohl schon ein paar Bier weg, was? mfg.
Und dann kommt der Frust wieder hoch, dass man keiner höheren Programmiersprache mächtig ist..
...und noch dümmer sind Leute, welche meinen schlauer zu sein, indem sie auf dem selben Level zurück "krakeelen"...... Die Programmiersprache ist doch wohl komplett egal, sie muss einfach nur zweckdienlich sein!
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.