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.

Universal Boot Loader issue

Other Parts Discussed in Thread: CC2540

Hi,

I am trying the UBL on 2 different modules that are based on the CC2540 SoC.

Following the "Universal Boot Loader for SOC-8051 by USB-MSD Developer's Guide" provided with the Stack and the HostTestApp project i managed to create the .bin image that is needed for the update.

Afterwards, i flashed both modules with the "ubl_cc2540-dk.hex" and both of them appeared as USB mass storage devices. When i tried to copy the .bin file inside the folder of the MSD, for one of them worked out fine and i was able to load the image and run it successfully while on the other froze just after i pasted/dropped the image inside the folder.

Because the project that generates the "ubl_cc2540-dk.hex" is not released and i can not alter the settings, i would like to find out if there is anything i can do in order to resolve the issue. I also had i quick look in the TI BLE stack 1.3 but i was unable to find some sort of similar project for a custom hardware and not only for the USB dongle.

Best regards,

George

  • Hi George,

    The UBL project is released in the 1.3 stack release, Projects\ble\util\UBL\soc_8051\usb_msd\iar.

    To make a .bin file for UBL, please refer to the build options (ALT+F7) when the build configuration CC2540USB-UBL is chosen (dropdown at the top of the workspace pane at the left side of IAR) for the HostTestApp project, otherwise refer to the UBL documentation.

    Pay special note of the linker file and linker outputs, the post-build action and the preprocessor define FEATURE_UBL_MSD. This define is only used to include the UBL reset functionality.

    I can't really say why one device turned out OK and one didn't if you flashed them with the same bootloader and the same .bin and they are otherwise also identical.

    Best regards,
    Aslak 

  • Hi Aslak,

    Thank you for your reply.

    Regarding the modules, they are not identical and they are not made from the same manufacturer.

    I actually modified all the settings in order to match the build options of the HostTestApp project and as i mentioned to my previous message it worked out fine for one of the modules, so i think i am not doing something wrong at this stage.

    Any more suggestions why it doesn't work for one of the modules?

    Best regards,

    George

  • Hi George,

    No, I can't really imagine why. Does one perhaps have less flash available, 128kb instead of 256kb? Does it work to program them directly with e.g. simpleBLEperipheral like you apparently do with UBL?

    Best regards,
    Aslak 

  • Hi Aslak,

    I am sure that both modules are using a 256kb version of the CC2540.

    When i load any image via the CC Debugger, custom or provided from the examples, both modules operate as they suppose to. 

    Best regards,

    George

  • Hi Aslak,

    Your suggestion regarding the memory capacity of the module made me realize that i was actually using a 128kb version of the CC2540 due to some shipping error.

    At this point i would like to ask you if it is possible to implement the UBL with a 128kb CC2540 and if yes what kind of changes should i consider before trying it out?

    Thanks for your help!

    Best regards,

    George