mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Ansatz für ISP-Programmer


Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Freak5 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie sieht dein Programmer denn aus, dass du nicht die Standartsoftware
nutzt?

Benutzt du eine andere Schnitstelle?

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Freak5 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.