This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

UBL Problem - RC-IMAGE DISAPPEARS

Hello,

My system is CC2540256 with BLE-CC254x-1.4.0 and IAR 8.30.2

I have implemented the boot loader as specified in "Universal Boot Loader for SoC-8051 by USB-MSD Developer's Guide SWRU316 Version 1.0". It functions correctly most of the time. However occasionally the RC-Image disappears from the MSD device. When that happens it is not possible to copy a new image because the "disk is full". The last loaded image is still available to run, but I cannot update it without re-flashing the UBL. If this happens to a customer trying to update his device - it will be a mess.

Anyone else experience this?

Thank you

  • Hi Brian,

    I have taken a quick look at this now, but I have not been able to reproduce this behavior.
    Is this still an issue for you? If it is still of interest I can spend some more time looking at this this issue.

    Best regards,
    Johan 

  • Hello Brian

    I have a similar system and the same problem.  Did you get any where with finding a solution?

    A recent post titled "Unstable drag and drop", which seems like a potentially similar problem, gave me the idea of trying the identical boot loader and RC-image on a TI USB dongle.  This seems to work robustly so I think I must have a hardware issue of some sort.

    Using the USB dongle, when I copy a file onto the MSD device, the Windows copy process goes all the way through and the device is automatically ejected (it is no longer an MSD device).  If I return it to being an MSD device and use Windows to delete the RC image file, the file is removed and again the device is automatically ejected, though in this case it comes straight back up as an MSD device as there is no longer an RC image on the device.

    When I do the same with my own system / device, the Windows copy puts the filename into the folder but the process hangs half way through and the device starts executing the RC image without any ejection.  The copy process finishes when I disconnect from USB.  The RC image application seems to run fine and do what I expect.  However when I next connect to USB as an MSD device, sometimes the RC image filename is there and sometimes not.  When it is not there I am stuck because the device memory is full, so I'm faced with dismantling the device again.  Another difference to the USB dongle case is that when the filename is present and I delete it, the file is removed successfully but there is no automatic ejection.

    With my system, there is one difference to the USB dongle reference design that I am aware of which is that D+ is not connected to P1_0, because we're port constrained, instead D+ is permanently pulled high.  This is the same situation, as far as I can tell, as in the "Unstable drag and drop" post, though the last posting there says this should not be a problem.  However, I am wondering if the Universal Boot Loader actually needs dynamic control over D+ in order to signal to Windows in some way in order to get the FAT directory on the device updated reliably?

    Any advice you have on how to address this would be appreciated.

    Regards

    Rob

  • Hello Brian

    Just to record that on a revised version of our hardware we matched the TI reference design so that D+ is connected to P1_0.  The Universal Boot Loader now works reliably for us.

    Regards

    Rob

  • Rob,

    Thanks for the update. I had a feeling that that would be the answer.

    Brian