Jump to content

Mal wieder "change_id"


dimi
 Share

Recommended Posts

Hallo zusammen,

ich bin nun soweit das ich 4 Core- und 4 SID-Module fertig habe. Die Module sind bereits fertig miteinander verkabelt. Auch ich stolpere ein wenig über diese change_id - Geschichte, obwohl alles bereits mehrfach in deutsch und englisch hier dokumentiert und erklärt wurde.

Verstanden worum es geht habe ich (so halbwegs)   ;D

Die Situation:

4 X SID 8580 4X Core PIC18f...Mios 1.8 ist bereits auf jedem PIC drauf, sonst nix weiteres an Software. Nun habe ich lediglich das Master Core Modul und das erste Slave Core Modul mit einem PIC bestückt. Die anderen PICs müssen ja vorerst draussen bleiben, da sonst alle die selbe ID bekommen würden...soll ja nicht ;)

Da ich (noch) keinen LINK.Butten habe, schicke ich also per MidiOX den dementsprechenden Sysex-String vorab für den MidiMerger.

Sieht von der Bestückung her momentan also so aus:

change_id.jpg

Soweit - so gut...

Nun brauche ich die passenden 3 .syx Files mit den dementsprechenden ID-Änderungen für die jeweiligen Slave-IDs.

Leider stoße ich hier auf ein paar Probleme.

Perl ist installiert, allerdings, wenn ich die Main.asm aus der change_id Application öffne, um die ID auf 01 zu ändern, weiss ich nicht genau was weiter zu tun ist.

Ich habe einfach versucht die Datei dann per "export" als .hex zu speichern. Allerdings resultiert daraus eine über 90kB große .hex-Datei. Viel zu groß also.

Wenn ich diese Datei per Perl konvertiere, resultiert daraus eine .syx-Datei mit 0 Byte  ???

Dann habe ich in der Main.asm etwas weiter unten gelesen, daß mit MPLAB zuerst die Project-Datei (Change ID.mcp) geöffnet werden muss.

Dies habe ich getan und im Anschluss wie angegeben die Main.asm geöffnet und die ID geändert. Dann soll man F10 drücken um eine neue Main.hex zu bekommen.

Bei mir passiert da allerdings leider überhaupt nichts.

Agenommen das Problem ist gelöst und ich habe die geänderten hex-Files mit den jeweiligen IDs fertig, stelle ich mir die weitere Vorgehensweise wie folgt vor:

1.) Die jeweiligen .hex-Files müssen mittels perl in .syx convertiert werden.

2.) Dann schicke ich mittels MidiOX das erste syx-File mit ID1 rüber und der erste Slave-Core sollte dann die ID1 haben (richtig/falsch?)

3.) Danach schicke ich über MidiOX das aus dem SID-Package fertige "setup_8580_slave1.syx" rüber (richtig/falsch?)

4.) Dann schalte ich die Kiste aus, nehme den PIC des ersten Slave Core-Modul aus dem Sockel und stecke den nächste PIC dort rein.

5.) Wieder einschalten und den Sysex-String für den MidiMerger senden

6.) Dann wiederhole ich die Schritte 2-5 für den Slave2 und Slave3 PIC mit den dementsprechenden Files.

Sollte in diesem Ablauf ein Fehler sein, so bitte ich um Korrektur ;)

Hat wer eine Idee woran das Problem mit MPLAB liegen könnte, bzw. was ich falsch mache?

Für Anregungen / Ideen / Vorschläge bin ich dankbar :)

Gruß

Dimi

Link to comment
Share on other sites

Hallo Dimi,

nach der Aenderung in main.asm muss die Applikation neu assembliert werden. Am einfachsten geht das, wenn man MPASMWIN direkt aufruft, dadurch faellt das komplizierte IDE Geraffel weg (das man sowieso nicht braucht). Die notwendigen Schritte sind hier erklaert: http://www.ucapps.de/howto_tools_mpasm.html

Wenn der Assembler ein "ok" anzeigt, steht ein neues main.hex zur Verfuegung. Falls er einen Fehler anzeigt, schaust Du am besten in das "main.err" File - dort sind alle Fehler aufgelistet.

Zum Konvertieren von .hex nach .syx musst Du das "hex2syx.pl" script in der Kommandozeile wie folgt aufrufen:

  perl hex2syx.pl main.hex -device_id 0x00

denn der Core hat ja noch die urspruengliche Device ID.

Erst wenn dieses .syx an den Core gesendet wurde, kannst Du weitere Aenderungen mit:

  perl hex2syx.pl main.hex -device_id 0x01

versenden.

Hierzu noch ein grundsaetzlicher Hinweis: mit MIOS Studio geht das alles wesentlich einfacher. Man muss nicht mehr nach .syx konvertieren, sondern laedt direkt das .hex file ein, und sendet es an den Core. Auch die Device ID laesst sich ohne Rekonvertierung selektieren. Der Upload geht also wesentlich flotter von der Hand, und man kann auch nicht viel falschmachen (einziger Knackpunkt: wenn der MIDI Out des Slaves nicht mit dem PC verbunden ist, muss man "Don't use Feedback from Core" aktivieren!)

Punkt 1 und 2 waeren hiermit beantwortet.

Punkt 3: ja - das sind die bereits vorbereiteten Files, welche mit "convert.bat" konvertiert wurden (reinschauen lohnt sich)

Punkt 4: mittlerweile bin ich der Ansicht, dass es am einfachsten ist, saemtliche PICs im Core Modul des Masters zu programmieren - damit waere der MIDI Out auch mit dem PC verbunden, MIOS Studio kann mit "Feedback" arbeiten, und somit ermitteln, ob alle Code Bloecke richtig aufgeladen wurden. Ausserdem faellt das Einschalten des MIDI-Links weg (es waere besser, wenn Du die entspr. Buttons/LEDs schonmal einbauen wuerdest, das vereinfacht die Bedienung ungemein).

Punkt 5: wenn Du "durch" den Master programmieren moechtest: ja

Gruss,

      Thorsten.

Link to comment
Share on other sites

Hallo Thorsten,

vielen Dank für die ausführliche und zügige Antwort.

Daran, die PICs im Master-Core-Modul zu flashen habe ich auch schon gedacht. Allerdings war ich mir nicht  sicher ob dies so ohne weiteres möglich ist.

Die Antwort habe ich ja nun bekommen :)

Dann werde ich das mal ausprobieren.

Thx!

Dimi

Link to comment
Share on other sites

So, mit MIOS-Studio hat alles wunderbar geklappt :)

Einfach die jeweiliegen PICs ins Mastermodul gesteckt, jeweils die ID geändert und danach mit MidiOX das jeweilige setup_8580_slave.syx geflasht.

Ich freu mich  ;D In den nächsten Tagen werde ich dann mit dem CS anfangen und einen kleinen Blog habe ich auch in Vorbereitung.

cheers

Dimi

Link to comment
Share on other sites

Nö, ich meine schon die .syx

Nachdem ich mit MIÓS-Studio die jeweilige .hex der "change_id application" geflasht habe, habe ich danach MidiOX geöffnet und die jeweilige setup_8580_slaveX.syx dann damit geflasht. Sollte doch eigentlich geklappt haben, zumindest gehe ich davon aus.... ich muss wirklich dringend mal, wie von dir vorgeschlagen die paar Taster und LEDs (Link, SID) einbauen um das zu überprüfen. Mach ich bald :)

Gruß

Dimi

Link to comment
Share on other sites

ok - Du haettest mit MIOS Studio auch gleich das setup_8580_slave.hex File aufladen koennen, die ID wird in diesem Fall im Upload Fenster selektiert (ich muss die Bootstrap Loader Seite wirklich mal ueberarbeiten... ;-))

Gruss,

        Thorsten.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...