mmc2iec v1.6 mit mega 644


  • jackdaniels
  • 3391 Aufrufe 71 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ich habe heute mittag mal kurz eine MMC2IEC 1.6 Platine neu bestückt und einen Mega644-20AU benutzt.

    Sobald der Bootloader drin ist, geht die rote LED an, dafür muss man die Fuses noch nicht setzen.

    Das Setzen der Fuses von den Default-Werten ausgehend beschränkt sich darauf die CLKDIV8 auszumachen,
    den Bootloader zu aktivieren und dessen Grösse von 2048 Worten einzustellen.


    Bisher lädt das Teil nur die Software nicht von der Karte.
    Den SPI habe ich per Oszi angesehen, läuft. Mit Karte läuft der "anders".
    Die Spannung an der Karte habe ich gerade gemessen, 3,0xV.
    Die Kennung in der SD2IEC_SW1_M644 Software stimmt auch.

    Muss ich mal ein paar Stellen nachlöten und vielleicht die Software direkt brennen.
  • Shadowolf schrieb:

    Bisher lädt das Teil nur die Software nicht von der Karte.

    Ich habe gerade mal die Gegenprobe hier gemacht - 1.6er-m644-Platine genommen, Chip gelöscht, sw1-m644-Bootloader eingespielt, Karte mit sw1-Binary eingelegt: Wird geflasht und läuft.

    Quellcode

    1. 10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    2. 20 forj=1to5:printchr$(rnd(1)*16+70);:next
    3. 30 printint(rnd(1)*328)-217

    sd2iec Homepage
  • Mist, ich stelle gerade fest, ich habe überhaupt kein Programmier-Kabel mehr hier rumliegen und auch die notwendigen 1,27'er Stiftleiste nicht um mal eben eines zu schnitzen.

    Nachlöten hat mich garnicht weitergebracht.

    Aber mal so ein anderer Gedanke, durch die Verifikation von Unseen jetzt eigentlich sinnlos.
    Man könnte zum Testen auch den SD2IEC Bootloader einspielen und probieren, ob die SW2 Version damit geflasht wird.
    Das funktioniert dann hinterher zwar nicht als SD2IEC, testet aber die Verbindung zur SD-Karte.

    Nun ja, bei mir leuchtet wenigstens auch die rote LED und der Bootloader macht irgendwas am SPI.

    Und ja, die MMC2IEC 1.6 war noch deutlich fussliger, die Abstände sind geringer, die Gefahr von Kurzschlüssen ist grösser.
  • Mein MMC2IEC mit M644 funktioniert jetzt auch, da stimmt aber was nicht.

    Und zwar lädt der Bootloader die Software von der Karte, solange mein Programmer angeschlossen ist.
    Ohne Programmer ist nur die rote LED an.

    Ist die Software drauf, funktioniert sie auch.

    Heute mittag habe ich fast das ganze Teil durchgemessen und nichts gefunden.
    Dann habe ich den Programmer angeschlossen um nochmal die Fuses zu prüfen
    und habe danach die Karte eingelegt - klappt.

    Da die Pegel am SPI auch gut aussehen verstehe ich noch nicht, was dem Ding fehlt.
    Versorgung ist da, kommt aus dem Dragon auch nicht raus.
    Die Masse muss auch da sein, mit Software geht es ja auch ohne Programmer.
  • Shadowolf schrieb:

    Und zwar lädt der Bootloader die Software von der Karte, solange mein Programmer angeschlossen ist.
    Ohne Programmer ist nur die rote LED an.

    Hier ebenso, Programmer ist ebenfalls ein Dragon. Die 1.8er-Platine scheint nicht betroffen zu sein, die liest auch ohne angeschlossenen Programmer Daten von der Karte (will aber nicht flashen, das muss ich nochmal genauer untersuchen).

    Quellcode

    1. 10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    2. 20 forj=1to5:printchr$(rnd(1)*16+70);:next
    3. 30 printint(rnd(1)*328)-217

    sd2iec Homepage
  • Probiert mal diesen hier aus:

    bootloader_SW1_M644.zip

    Der funktioniert hier jetzt.

    Ich hatte den Verdacht schon aber das die 1.8'er Platine läuft hat den Ausschlag gegeben.
    Die 1.8'er hat die beiden Level-Shifter für MISO und Select nicht, genausowenig wie die SD2IEC.
    Select ist ein Ausgang, egal.

    Aber MISO ist ein Eingang und Teil des Level-Shifters ist der interne Pullup im Controller.

    Der Fehler hätte mit dem Mega32 genauso auftreten müssen.
    Kann gut sein, dass der mit dem Januar-Release des M32/SW1 Bootloaders auch auftritt.
    Mit diesem Release ging auch ein Update des SPI-Codes einher.

    Wenn das funktioniert packe ich nochmal komplette Archive an "die richtige" Stelle hier.
  • So, es gibt einen neuen Bootloader.

    Ich hänge das Archiv hier an, "die richtige Stelle" zur Ablage ist aber sicherlich: sd2iec.de/bootloader/

    Neben dem Quellcode sind in dem Archiv alle drei Bootloader für meine Hardware enthalten:

    bootloader_SW1_M32.hex
    bootloader_SW1_M644.hex
    bootloader_SW2_M644.hex

    Das Einschalten des Pullup habe ich für SW2 auch übernommen, das schadet nicht.

    Um das auch noch in den ATMega32 auf der SW1 zu quetschen habe ich den zweiten CRC-Check entfernt.
    Der war ohnehin unwirksam da die Software in jedem Fall gestartet wurde.
    Und wenn die Datei beim ersten CRC-Check sauber gelesen wird ist es auch ein wenig unwahrscheinlich,
    dass die beim zweiten Lesen fehlerhaft von der Karte fällt.

    Getestet habe ich das mit meinem kompletten Zoo an Platinen.
    Bootloader programmiert, Platine stromlos, Programmer abgezogen, Platine unter Saft, Karte einlegen..., Dir lesen

    MMC2IEC 1.4 M32
    MMC2IEC 1.6 M32 + Quarz
    MMC2IEC 1.7 M32
    MMC2IEC 1.9 M32
    MMC2IEC 1.6 M644
    SD2IEC 1.1 M644
    SD2IEC 1.1 M644P
    uSD2IEC 1.2 M644P

    Einzig meine mSD2IEC Platine wollte nicht, die ist aber im Grunde auch SW1/M32.

    sd2iec_bootloader_2008-07-09.zip
  • tja...

    seit ich den letzten bootloader geflasht habe (den von 2-3 posts vorher) klappt nichts mehr. das mmc reagiert nicht mehr :(

    @shadow

    ich habe eine ganz dumme frage.... aber kann ich dir das teil zuschicken? ich hab echt keine ahnung mehr was ich noch machen kann! kann auch am programmer liegen.... aber fehlerquellen habe ich leider nun genug :(