Jump to content

PIC Programming


Recommended Posts

Thorston,

On my second core, on power on, I send the mios code to the pic immediately upon seeing the first string, however, the pic continues to cycle every 2 seconds.  midiox output monitor shows the code was sent. I pulled the pic and shorted RX/TX and sent mios as described in the troubleshooting section and it looped back successfully. I assume then tht the opto coupler is good. all voltages and ground appear to be good! So what now?

Johnc

Link to comment
Share on other sites

Hi John,

this explains everything. You have to create a new .syx file for the MIOS core with ID 0x01. You have to do this for MIOS itself as well as for the application.

From the README.txt (can be found in the MIOS package):

   o hex/*
     contains the same MIOS release in .hex format --- don't burn this file 
     directly into the PIC! The purpose of this binary is to convert the OS
     into .syx format with different device IDs for the use with the MIOS 
     bootstrap loader:
     EXAMPLE: 
        perl tools/hex2syx.pl hex/mios_v1_6.hex -os_upload -device_id 0x01
        -> generates a mios_v1_6.syx file in the hex directory which contains
        code blocks for device ID 0x01 instead of 0x00

For the MIDIO128 application: change to the midio128_v2_1 directory and type:

perl hex2syx.pl main.hex -device_id 0x01

Best Regards, Thorsten.

Link to comment
Share on other sites

Thorston,

On my 0x00 core, on power on, I get one acknowledge string, so evidently mios is loaded.  I used serge's sysex loader to load the midion128 .syx file which did something as numbers flashed where the bytes are displayed. There is not much in the way of instructions to interpret what the buttons are, and do so I assume that the midio128 .syx file loaded.

As for the 0x01 core, I had problems with perl, so I edited the file in midio-ox to change the core id number, and mios loaded ok. on power up, it also displays one acknowledgement string. When I get perl running, i will follow your instructions and modify the midio128 files to change the core id to 0X01. Again, how can i check to be sure that the midio128 ap file is loaded?

Thanks for the help,

Johnc

Link to comment
Share on other sites

Thorston,

I can't find anything on the midibox site that produces a folder or directory midio128_V2_1. I find a mk_midio128_syx from the download directory for midio128. Am I looking in the wrong place.  

Also, you said to change to that directory and type in  "For the MIDIO128 application: change to the midio128_v2_1 directory and type:

perl hex2syx.pl main.hex -device_id 0x01 .

Type in at the dos prompt, midi-ox, where? I entered the perl hex2syz.pl main.hex - device_id 0x01 at the dos prompt while in the directory for the mk_midio128_syx directory and got an error message that the hex2syx........ folder could not be found.

Evidently, I am not doing something correctly!

Johnc

Link to comment
Share on other sites

Hi, John.

"midio128_v2_1 directory" refers to the directory, where you have unzipped midio128 source files. (midio128_v2_1.zip from MIOS Download page) And then at that folder, open dos prompt (cmd, whatever) and type "perl hex2syx.pl main.hex -device_id 0x01" there.

This should do, bye, Moebius

Link to comment
Share on other sites

Moebius.

Ok.  I found the midio128_V2_1 directory. Did the perl routine in that directory and the only file I could find added in that directory was a main.syx file.  Is that the one I download to the pic?  I'm confused.  What about the edited .ini file for the midio128.  How does it enter the picture.

What is the mk_midio128_syx file and the sub folder 18f which has a Make command, the .ini files, etc.

I probably messed up the core, because I downloaded the main.syx file to the pic with serge's loader.  Now the pic spits out  a page full of acknowledge strings on power up, then stops. before I only put out one!!!

Help

Johnc

Link to comment
Share on other sites

Hi John,

here some references:

http://www.ucapps.de/howto_tools_syxloader.html describes that Serge's SysEx loader should not be used to upload MIOS code or data blocks. This loader is a tool for the old PIC16F based projects.

http://www.ucapps.de/mios_bootstrap.html describes the use of MIDI-Ox for uploading code.

The last topic "The whole upload procedure" illustrates the whole procedure --- upload MIOS, then the application.

So, since the upload with Serge's loader failed, I would suggest that you just follow the instructions from the bootstrap loader page: upload MIOS again with the first level bootstrap loader (means: start the upload within 2 seconds after power-on).

Thereafter upload the application (the main.syx file of the application package)

Thereafter you could test the application with your DINX4 module - or, if not available - you could tap pin J9:SI of the core module shortly to ground in order to trigger 128 button events at the same time.

Once this is working, you can reconfigure the application with the mk_midio128_syx.pl script if required.

Best Regards, 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...