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
Schreibe bitte zunächst mal auf, für welches Problem das die Lösung sein soll.
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?
>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.
Also kein Plan was man damit vorhaben könnte..
man könnte GND oder "5V" des Programmers mit Diode auf einen Port
führen.. so das nur von der Programmerseite 5V anliegen..
5vProg|--*-|>|-->5V Kreis
|
|------>Pin Registrierung
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.
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.
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. Wenn das ein AVR ISP MK2 ist, dann scheidet das aus. Denn dieser ISP- Adapter speist das Target nicht über den Vcc Anschluß, sondern will im Gegensatz seine Ausgangstreiber vom Target versorgt haben.
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.
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.
Höchstens es gibt ne möglichkeit zu Prüfen ob der µC über den ISP RESET abgeschaltet wurde.
> 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?
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.
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...
nichts schrieb: > Findige Tüftler lesen die Software aus so lange das Gerät noch > funktioniert Daß die AVRs Lockbits haben, hast Du wohl im Datenblatt überlesen?
nichts schrieb: > Es geht nur darum, festzustellen ob der µC schon einmal > an einem Programmer hing. Wenn ein Programm drauf ist, dann hing er schon mal an einem Programmer. Gegen Auslesen gibt es Lock-Bits, falls das noch nicht erwähnt wurde :)
nichts schrieb: > 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. Ach so. Schwachsinn also. Und dafür erwartest du Hilfe? [x] geh weg! EOD
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.
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
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.
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...
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.
nichts schrieb: > Kommt aber aufgrund dessen dass es häufig > Softwareupdates > zwecks individueller erweiterungen etc.. gibt nicht in Frage. > Ist dann zu Aufwändig. Ohne irgendwelchen Aufwand geht es nicht. Zum Update nimmt man einfach einen Bootloader, der das File entschlüsselt und in den User-Flash brennt.
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.