Forum: Mikrocontroller und Digitale Elektronik ISP Schnittstelle auf RS 232 Stecker legen?


von Chris T. (chris0086)


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?

von Martin B. (martin_b35)


Lesenswert?

Nein. Auf so einem 9-Poligen SubD ist kein Pin frei.

Grüße, Martin.

von Thomas E. (thomase)


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.

von Hmm (Gast)


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.

von Chris T. (chris0086)


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.

von Thomas E. (thomase)


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.

von Hmm (Gast)


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.

von Frank K. (fchk)


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

von Thomas E. (thomase)


Lesenswert?

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.

von Hmm (Gast)


Lesenswert?

@  Thomas Eckmann
>Das einzige, was ein Bootloader macht,...
Aha. So meinst Du das. Danke.

von Chris T. (chris0086)


Lesenswert?

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.

von Thomas E. (thomase)


Lesenswert?

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.

von Chris T. (chris0086)


Lesenswert?

V+ liegt auf pin9 da kann ja bis +15v drauf sein laut Wiki.

von Thomas E. (thomase)


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.

von c-hater (Gast)


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.

von Thomas E. (thomase)


Lesenswert?

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.

von batman (Gast)


Lesenswert?

Und dann kommt der Frust wieder hoch, dass man keiner höheren 
Programmiersprache mächtig ist..

von Prost (Gast)


Lesenswert?

Assembler geht auch nur mit Bier..

von Mystik (Gast)


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!

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
Noch kein Account? Hier anmelden.