Ansatz für ISP-Programmer

Gast #210606
Lesenswert?

Hallo,

ich hab mir hier selbst einen ISP-Programmer für die AT89S-Reihe von
ATMEL gebastelt. Funktioniert auch alles einwandfrei. Ich frage mich
aber, ob mein Ansatz für die Software richtig ist, oder ob es was
besseres gibt.

Ich habe für jeden Typ, den ich programmieren will, eigene Routinen
geschrieben, die entsprechend vom Programmer verwendet werden.

Jetzt stellt sich mir die Frage, ob es nicht sinnvoller wäre, eine Art
Interpreter dafür zu implementieren, und die Anweisungen, wie welcher
Controller zu programmieren ist, im Codespeicher des Programmers zu
hinterlegen. Nach ersten Überlegungen müsste das vom Speicherverbrauch
im Endeffekt kürzer sein, als für jeden Controller einen Satz fast
identischer Routinen zu implementieren. Denn aktuell unterstützt der
Programmer vier Typen, und es ist bereits knapp die Hälfte des
Code-Speichers des Programmers belegt.

Ist der neue Ansatz berechtigt? Und wenn ja, wie könnte ich das
sinnvoll lösen?

Danke

Gruß Ralf
Gast #210608
Lesenswert?

Ist ein kompletter Selbstbau. Hab das Ding zum einen gebaut, um was zu
lernen (Learning-by-doing ist immer noch das beste), zum andern, weil
mein Parallel-Programmer die neuen AT89S nicht kann ;-)

Wird auch ganz normal über RS232 angeschlossen, d.h. ich könnte ihn
theoretisch auf irgendeine PC-Software anpassen.

Gruß Ralf
Gast #210609
Lesenswert?

Da habe ich noch eine Frage:
Kann man die Routinen nicht in die PC-Software einfließen lassen? Wenn
du dort objektorientiert arbeitest, dann könntest für jeden Chip eine
Ableitung machen, der ebend nur diese kleinen Änderungen enthält.

Wenn dir dadurch die Software zu groß wird kannst du nocheinmal upx
drüberlaufen lassen :-) So könntest du deine Hardware dümmer lassen,
was die Sache einfacher macht(glaube ich)

Spricht etwas direkt dagegen? So wie ich das verstanden habe schickt
dein Programm immer die gleichen Daten in deinen Programmer und die
Rotinen sitzen dann auf irgendeinem Chip.

Das Problem liegt da ja auch in den Updatemöglichkeiten. Ich wenigstens
arbeite lieber an der PCSofware als an der Software von einem eigentlich
abgeschlossenen Hardwareprojekt.
Gast #210610
Lesenswert?

mach die HW so dumm wie möglich, aber so intelligent wie nötig!

bau einen Programmer mit ein paar festen Routinen, die du dann per
PC-Software (etwas) anpassen kannst. (Flags oder sowas) und dann
speicherst du für jeden Typ, den du unterstützt die Flags und lädst die
vor dem programmieren in den programmer. so kannst du neuere bausteine
unterstützen OHNE das du jedesmal die firmware änderst.

auch solltest du daran denken eine art emulation zu ermöglichen, um
später neue bausteine zu unterstützen, die du nicht über die flags
unterstützen kannst. so kannst du zumindest (auch wenn es dann
erheblich langsamer geht) ganz neue bausteine programmieren.
Gast #210611
Lesenswert?

das ist auch das problem mit dem AVRISP (die serielle version nicht die
stk500) gewesen (die neuen kann man damit nicht programmieren, weil
dort die "device codes" im programmer gespeichert sind und der zu
programmierende baustein über diese codes ausgewählt wird.
wenn nun ein neuer kommt müsste jedesmal man die firmware ändern um ihn
zu unterstützen.
Gast #210612
Lesenswert?

Ja, ich verstehe, was ihr meint. Die PC-Software ist leichter
anzupassen. Dazu müsste ich aber eine entsprechende
Programmier-Software für den PC haben. Könnt ihr dazu Empfehlungen
machen? Ich dachte an etwas wie Visual Basic oder Visual C/C++. Gibts
da was freies (=kostenloses) oder ziemlich geldbeutelfreundliches?

Gruß Ralf
Gast #210613
Lesenswert?

was hältst du den von visual c++ Express, ist eine Beta Version welches
das .net framework benutzt kostenlos von MS zu beziehen. Im neuen
Framework 2.0 gibt es auch eine Bibliothek, welche die serielle
Schnittstelle direkt anspricht. Ich benutze die Version für c#, und bin
sehr zufrieden damit, obwohl es nur ein Beta ist. Ansonsten gibt es doch
ein Haufen IDE's für c/c++ wenn man ein bisschen googelt.

Bsp: http://www.bloodshed.net/devcpp.html
sieht sehr vielversprechend aus

G. Tobias

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