AVR abfrage ob Programmer angeschlossen?

Gast #4248342
Lesenswert?
• ▲
▼
Hallo an Alle,

ich möchte an einem Mega128 abfragen ob ein ISP-Programmer
angeschlossen ist.
Es sollen keinerlei Daten übertragen werden.
Es geht nur darum, festzustellen ob der µC schon einmal
an einem Programmer hing.

D.h. wird der µC gestartet während ein Programmer inaktiv am
ISP hängt soll dies Registriert werden.

Irgendwie steh ich grade auf dem Schlauch bezüglich einer Lösung.
Verwende den Atmel MKII.

Hat jemand einen Ansatz oder ne Idee wie das Lösbar ist?

Grüße und Danke
Persönliche Seite #4248374
Lesenswert?
• ▲
▼
nichts schrieb:
> D.h. wird der µC gestartet während ein Programmer inaktiv am
> ISP hängt soll dies Registriert werden.

Sieh Dir an, an welchen Pins des µC der "Programmer" angeschlossen ist 
und welche Signalpegel im Ruhezustand vorliegen, und ob die sich vom 
Zustand ohne angeschlossenen "Programmer" unterscheiden.

Tun sie es, weißt Du, was Du zu tun hast.

Und der tiefere Sinn des ganzen?
Gast #4248386
Lesenswert?
• ▲
▼
>D.h. wird der µC gestartet während ein Programmer inaktiv am
>ISP hängt soll dies Registriert werden.

Das geht aber nicht weil der Programmer seine Leitungen
hochohmig schaltet. Selbst auf Anfragen von der MCU würde der nicht
ein Stück reagieren.
#4248413
Lesenswert?
• ▲
▼
nichts schrieb:
> ich möchte an einem Mega128 abfragen ob ein ISP-Programmer
> angeschlossen ist.

> Es geht nur darum, festzustellen ob der µC schon einmal
> an einem Programmer hing.

Das sind aber zwei ganz verschiedene Dinge.

> D.h. wird der µC gestartet während ein Programmer inaktiv am
> ISP hängt soll dies Registriert werden.

Das geht nicht. Denn ein inaktiver Programmieradapter will ja nicht 
bemerkt werden können. Er wird also alle Pins an denen er hängt (Reset, 
MISO, MOSI, SCK) tunlichst in Ruhe lassen.

> Hat jemand einen Ansatz oder ne Idee wie das Lösbar ist?

Z.B. mit einem Schaltkontakt der bei eingesteckten ISP-Stecker 
geschlossen wird. Aber rein elektrisch geht es nicht.
Gast #4248415
Lesenswert?
• ▲
▼
Philipp K. schrieb:
> man könnte GND oder "5V" des Programmers mit Diode auf einen Port
> führen.. so das nur von der Programmerseite 5V anliegen..

Der MKII liefert keine 5Volt, er benutzt den Vcc-Pin um die 
Betriebsspannung zu erkennen und sich anzupassen.
Und GND für den Programmer über eine Diode führen dürfte beim 
Programmieren lustige Ergebnisse bringen.
#4248450
Lesenswert?
• ▲
▼
Axel S. schrieb:
> Wenn das ein AVR ISP MK2 ist, dann scheidet das aus.

Achso okay den kenne ich nicht..

Wenn das nur intern für eigene Sachen sein muss könnte man beim 10 Pin 
ISP Stecker die auf GND gelegten freien Pins an den Pin ziehen und 
diesen mit Pullup versehen.. oder sogar von 2 Pins das GND wegnehmen und 
nur eine Brücke machen die dann den Pin auf 5V bringt.
Gast #4248469
Lesenswert?
• ▲
▼
vielen lieben Dank für eure Hilfe.

Der Sinn dahinter ist zu Prüfen ob die Software auf dem µC gelesen
wurde. Und / oder ob sie wieder geschrieben wurde.

Z.B. ist die Software für 100 Starts freigeschaltet, danach muss
ein code für den weiteren Betrieb eingegeben werden.
Findige Tüftler lesen die Software aus so lange das Gerät noch 
funktioniert,
nachdem die 100 Starts verbraucht sind liest er die Software erneut aus
und vergleicht Sie. Somit findet er eventuell die Variable die er 
verändern
muss damit das Gerät wieder funktioniert.
Wenn er die Software mit der Variablen die die Starts aufzeichnet 
rücksetzt
und dann wieder einspielt kann ich das nicht verifizieren.

Ja, der MKII wird vom Target gespeist.

Hmm, das wird dann eher nicht zu realisieren sein.
Gast #4248503
Lesenswert?
• ▲
▼
> Z.B. ist die Software für 100 Starts freigeschaltet,
(und danach muss wieder bezahlt werden)
Das finde ich voll Schei*e.




> Findige Tüftler lesen die Software aus so lange
> das Gerät noch funktioniert,
Schon von den Lock Fuses/Bits gehört?
Gast #4248574
Lesenswert?
• ▲
▼
Du solltest dich erstens in die Controller einarbeiten (Stichwort 
Fusebits) und zweitens bisal die grauen Zellen anstrengen wie man den 
Counter intelligenter gestalten kann (Stichwort Prüfsumme).
Andernfalls gehört es dir nicht anders als das man das Ding hackt.
#4248582
Lesenswert?
• ▲
▼
nichts schrieb:
> Z.B. ist die Software für 100 Starts freigeschaltet, danach muss
> ein code für den weiteren Betrieb eingegeben werden.

Das Problem ist eher deine Selbstüberschätzung das dein Programm so toll 
ist das du es sperren musst und nicht einmal weist das der AVR Lock und 
Fusebits hat!

Du beschäftigst dich zu sehr damit den Nutzer einzuschränken als ihm 
eine funktionsfähige und eventuell fasst fehlerfreie Hardware hin 
zulegen...
Gast #4248781
Lesenswert?
• ▲
▼
nichts schrieb:
> Wenn er die Software mit der Variablen die die Starts aufzeichnet
> rücksetzt
> und dann wieder einspielt kann ich das nicht verifizieren.

Ganz davon ab, dass die Fuse-Bits bereits genannt wurden hast du einen 
massiven Denkfehler. Wenn deinem Gegenüber soviel daran liegt deine 
Software ohne Freischaltung zu nutzen wird er sie auslesen, 
disassemblieren und dann die Prüfung des Counters vollständig entfernen. 
Danach muss er sich nie wieder darum kümmern, dass der Counter 
zurückgesetzt wird.
Gast #4248979
Lesenswert?
• ▲
▼
Also Leute,

jetzt kommt mal runter.

Es geht hier nicht um bezahlen oder abzocke.
Es geht rein darum dass jemand etwas umsonst bekommt
und es bei gefallen dann kaufen kann.
Desweiteren geht es auch darum dass manche user an der Software
rumfroschen und wenn das Teil dann zerschossen ist einen Garantiefall
anmelden etc..
Heist also, wenn Fehler auftreten und Software manipuliert wurde
ist Garantie im A.sch.
Was gabz normal ist.

Fusebits wären OK. Kommt aber aufgrund dessen dass es häufig 
Softwareupdates
zwecks individueller erweiterungen etc.. gibt nicht in Frage.
Ist dann zu Aufwändig.
Es gibt bei manchen Aufgaben diverse Kriterien warum Fuse- und Lockbits
ungeeignet sind.
Aber bevor wir uns hier die Finger wund schreiben und jedes kleinste
Detail bis ins letzte Ausdiskutiert haben lass ichs lieber.


Hier Basht manch einer gleich mit dem Hammer drauf.
Sieht so aus als wären einige hier ziemlich mies gelaunt und
doch sehr überheblich.
Kommt hier irgendwie ziemlich häufig vor.

Schade hier
#4248990
Lesenswert?
• ▲
▼
nichts schrieb:

> Heist also, wenn Fehler auftreten und Software manipuliert wurde
> ist Garantie im A.sch.

Das wiederrum lässt sich leicht feststellen, wenn keine Lockbits gesetzt 
sind. Dann muss er den µC einschicken, ihr lest die SW aus und wenn die 
nicht Bit für Bit mit dem übereinstimmt, was drinn stehen sollte, dann 
ist es eben kein Garantiefall.

> Fusebits wären OK. Kommt aber aufgrund dessen dass es häufig
> Softwareupdatestelle
> zwecks individueller erweiterungen etc.. gibt nicht in Frage.
> Ist dann zu Aufwändig.

Was ist da zu aufwändig?
Das man vor dem Brennen den µC löscht und nach dem Brennen die Lockbits 
wieder setzt? Das dauert in Summe keine 30 Sekunden. In Relation zur 
Erstellung des UPdates sind das Peanauts, die sich im übrigen mit einem 
Batch File, welches den Update mittels Commandline-Aufruf von avrdude 
erledigt, problemlos automatisieren lässt.
Und wenn ihr Updates per Bootloader einspielt, dann sind die Lockbits 
sowieso kein Thema.

> Es gibt bei manchen Aufgaben diverse Kriterien warum Fuse- und Lockbits
> ungeeignet sind.

Nö. Gibt es nicht.
Es gibt nur Entwickler, die in Wirklichkeit nichts können.
Dein ganzer Beitrag schreit förmlich danach, dass du da dazu gehörst.
Moderator (Firma: Titel) Persönliche Seite #4249044
Lesenswert?
• ▲
▼
nichts schrieb:
> Fusebits wären OK. Kommt aber aufgrund dessen dass es häufig
> Softwareupdates zwecks individueller erweiterungen etc.. gibt
> nicht in Frage.
Was hat ein Softwareupdate mit einem Fusebit zu tun?

> Es gibt bei manchen Aufgaben diverse Kriterien warum Fuse- und Lockbits
> ungeeignet sind.
Ja, so lange das Ding beim Entwickler auf dem Schreibtisch liegt...

> Es gibt bei manchen Aufgaben diverse Kriterien warum Fuse- und Lockbits
> ungeeignet sind.
Kannst du mal ein Beispiel für diese Aufgaben mit ihren speziellen 
Kriterien bringen. Mir will da irgendwie nichts einfallen...
Gast #4249049
Lesenswert?
• ▲
▼
nichts schrieb:
> Fusebits wären OK. Kommt aber aufgrund dessen dass es häufig
> Softwareupdates
> zwecks individueller erweiterungen etc.. gibt nicht in Frage.
> Ist dann zu Aufwändig.

Funktionsweise von Fusebits verstanden? Dass der Mega128 
Self-Programming unterstützt ist bekannt?

nichts schrieb:
> Es gibt bei manchen Aufgaben diverse Kriterien warum Fuse- und Lockbits
> ungeeignet sind.

Dann nenne sie uns. Ich sehe aktuell keinen einzigen Grund warum die für 
dich ungeeignet sind. Das was du machen möchtest ist kein Voodoo sondern 
in der Regel Standardanforderung vieler Kunden um z.B. ihr IP zu 
schützen.

nichts schrieb:
> Aber bevor wir uns hier die Finger wund schreiben und jedes kleinste
> Detail bis ins letzte Ausdiskutiert haben lass ichs lieber.

So ein Verhalten lieben wir hier im Forum besonders.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.