2015-03-04, 21:09:31
Good afternoon,
I have used the bootloader in a couple of different projects and have not had any problems. This time around, using a dspic30f4013 which I have used in the past, I am having some difficulty. I have setup everything as I would have normally with the bootloader code,
BLINIT 4000
HELLOTRIES 2
BLTIME 2000
I download this code with an MPLAB ICD 3 and then toggle power and use the GUI (ver 1.5.1) to bootload the code via a serial port. The code downloads and the target runs fine. The problem I seem to be having is if I want to bootload a new version of code over this. The GUI always comes back with
Initiating write...
Searching for bl . . . . . . . . . . . . . . . . . . . . timed out
Tx 20 bytes / Rx 0 bytes / 13.2s
Write failed
Now if I change the bootloader code to BLINIT 6000 and go through the same process, it will work the second time thru. So why don't I just do that? Because the target is a handhelld device that has a LCD. When you press the on button and nothing happens on the display for 6 seconds, it appears to be broken/not working. At that point the customer/user tries pressing the on button again, which actually turns the unit off. The aesthetics are just not what we wanted.
So can you tell me what is going on between GUI and the bootloader code at start up that the extra 2 seconds helps with. Maybe i can whittle down something in the actual firmware to help?? I have tried a bunch of different settings in the boot code to no avail.
Thanks
I have used the bootloader in a couple of different projects and have not had any problems. This time around, using a dspic30f4013 which I have used in the past, I am having some difficulty. I have setup everything as I would have normally with the bootloader code,
BLINIT 4000
HELLOTRIES 2
BLTIME 2000
I download this code with an MPLAB ICD 3 and then toggle power and use the GUI (ver 1.5.1) to bootload the code via a serial port. The code downloads and the target runs fine. The problem I seem to be having is if I want to bootload a new version of code over this. The GUI always comes back with
Initiating write...
Searching for bl . . . . . . . . . . . . . . . . . . . . timed out
Tx 20 bytes / Rx 0 bytes / 13.2s
Write failed
Now if I change the bootloader code to BLINIT 6000 and go through the same process, it will work the second time thru. So why don't I just do that? Because the target is a handhelld device that has a LCD. When you press the on button and nothing happens on the display for 6 seconds, it appears to be broken/not working. At that point the customer/user tries pressing the on button again, which actually turns the unit off. The aesthetics are just not what we wanted.
So can you tell me what is going on between GUI and the bootloader code at start up that the extra 2 seconds helps with. Maybe i can whittle down something in the actual firmware to help?? I have tried a bunch of different settings in the boot code to no avail.
Thanks