ThomasT Posted September 18, 2003 Report Share Posted September 18, 2003 Ok, once again in the international forum: firmware ist burned, TX and RX seem to work. hex files are convertet with device id 0x01. the pic sends "F0 00 00 7E 01 0F XX F7" during sysex sending. Whereby XX is the samechecksum like the perl-script printed. But after power up the PIC sends "F0 00 00 7E 01 01 F7" again and again. MIOS seems not to start. What's wrong? Quote Link to comment Share on other sites More sharing options...
TK. Posted September 18, 2003 Report Share Posted September 18, 2003 You've tried to upload a .syx file which contains SysEx strings for device ID 0x00, but the device ID of your core is 0x01There is a .hex file in the MIOS release which allows you to generate a new .syx with another device id (use the -device_id option of hex2syx.pl) Best Regards, Thorsten.P.S.: this presumption is based on your description in the german board - you wrote that you were not able to upload MIOS, which is required to upload any application... Quote Link to comment Share on other sites More sharing options...
ThomasT Posted September 18, 2003 Author Report Share Posted September 18, 2003 >You've tried to upload a .syx file which contains SysEx strings for device ID 0x00, but the device ID of your core is 0x01 How do know this? It's right. I tried to upload the original syxex file. But after no aknowlegment I got the idea that the device id may be different. (I changed it to 1). So I converted the mios.hex by using the perl-script with the options "-device_id 0x01 -os_upload" again into a new mios.syx. Now I got the aknowlegde-Strings while sending sysex (I didn't saw them before writing the first german text, because the windows overlapped and I recognized only the first bytes in midi-ox input monitor, my fault...forget this posting) . But MIOS will not start. I got the acknowledge-strings I mentionend. I have no idea if MIOS was not "installed", will not start or shut down because something is wrong. I'm debugging a hardwareprototype...the error can be elsewhere...Btw. The first error was a pice of solder between one oscillator pin and neightbor pin under the PIC, so I didn't noticed it... Btw. I have no display. Only motorfader and din (one 165). Quote Link to comment Share on other sites More sharing options...
TK. Posted September 18, 2003 Report Share Posted September 18, 2003 After MIOS has been uploaded correctly, you should only see a single Upload Request after reset, sent by the first level bootstrap loader. Is this the case in your setup? Did you also try some ofter, more simple applications? Why not connecting a LCD for debugging?Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
ThomasT Posted September 18, 2003 Author Report Share Posted September 18, 2003 >After MIOS has been uploaded correctly, you should only see a single Upload Request after reset, sent by the first level bootstrap loader. Is this the case in your setup? No! As I said I don't know it MIOS is uploladed correctly or crashes. I got the request from the prim. bootloader after each 2s. >Did you also try some ofter, more simple applications?Application would be the next step. To verify this: If MIOS is uploaded an no application is "installed" what happes than? >Why not connecting a LCD for debugging? Ochh...nö...das löt ich jetzt nicht noch da dran. Das wird ekeliges gefummel. Quote Link to comment Share on other sites More sharing options...
TK. Posted September 18, 2003 Report Share Posted September 18, 2003 To verify this: If MIOS is uploaded an no application is "installed" what happes than?Nothing - the LCD prints "READY." and thats all. No upload request anymore.But since your core permanently requests for new code, MIOS possibly has not been uploaded correctly and/or crashes. Why? No idea - hope that the LCD data bus pins at port B of the PIC are not tied to ground... the level at pin RB7 must be +5V (the internal pull-up is activated to ensure this), otherwise the core won"t regognize that no LCD is connected.Otherwise: use the search function of this forum, search in the troubleshooting section for possible errors and how they have been fixed.Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
ThomasT Posted September 18, 2003 Author Report Share Posted September 18, 2003 Steven_C wrote in a thread with the same problem:I'm probably stating the obvious, but remember that you have to send the sysex for the os within two seconds of receiving the dump request, after you turn the 'box on. Failing that, where are you located? if you have a spare pic, maybe you can post it so someone fairly local can load the os for you? Can this be the problem? I thought the two seceond interval is only important when MIOS is already programmed. And since the request came after again and again it shall mean the pic is always ready for MIOS programming. I'll check this out. Quote Link to comment Share on other sites More sharing options...
ThomasT Posted September 18, 2003 Author Report Share Posted September 18, 2003 >No idea - hope that the LCD data bus pins at port B of the PIC are not tied to ground... They all are open. But only RB7 and RB6 are connected for programming. So if I want to connect a LCD I had to solder it directly on the pins. PLCC not DIL... >the level at pin RB7 must be +5V (the internal pull-up is activated to ensure this), otherwise the core won"t regognize that no LCD is connected. The pin has 0V. Even by connect RB7 to 5V over an 5k resitor. Seems that an internal pull down resistor is activated... Quote Link to comment Share on other sites More sharing options...
ThomasT Posted September 18, 2003 Author Report Share Posted September 18, 2003 ...I like talking to myself...But from the datasheet PORT B: "the weak pull-up is automatically turned off when the port is configured as output. The pull-ups are disabled on a Power-on Reset." Quote Link to comment Share on other sites More sharing options...
TK. Posted September 18, 2003 Report Share Posted September 18, 2003 MIOS uses PORTB as bidirectional port. By default it's configured as output (for writing to a LCD), but sometimes it will be switched to input for polling the busy bit at RB7. I wasn't sure if the timeout mechanism works correctly in the meantime (an older MIOS version had problems when the busy bit was permanently 0), but I just tried it with my own MIDIbox and it works correctly, regardless of the voltage level at RB7.Another easy test: read out the flash memory with the JDM to check if any - and especially the complete - MIOS code has been uploaded. You can compare it with the .hex file of the mios_v1_3 release. The bootstrap loader is located at a seperate address range from 0x7c00-0x7fff - it should also match with the original release.Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
ThomasT Posted September 19, 2003 Author Report Share Posted September 19, 2003 I wrote you an email on tk@midibox.org. Something I forgot tomentioned. I did not apply the pull down resistor on pin RB5 during programming. Its on the JDM bord but the PIC is directly soldered like in the core schematic. I just soldered 5 wires from the JDM board to a plug. And this I plug directly into JP3 while programming. The datasheet says it's only important during low voltage programming. I do not need the lvp bit.Right? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.