ISP Schnittstelle auf RS 232 Stecker legen?

OP #3134590
Lesenswert?

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?
#3134613
Lesenswert?

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.
Gast #3134618
Lesenswert?

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.
OP #3134651
Lesenswert?

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.
#3134674
Lesenswert?

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.
Gast #3134681
Lesenswert?

@  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.
#3134683
Lesenswert?

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
#3134748
Lesenswert?

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.
Gast #3134752
Lesenswert?

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.
Gast #3139469
Lesenswert?

...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!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren