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.

LAUNCHXL-CC26X2R1: Add OAD to Multi Role not booting up (Build no error)

Part Number: LAUNCHXL-CC26X2R1
Other Parts Discussed in Thread: UNIFLASH

Hello!

I follow this tutorial Task 3 – Add OAD to Multi Role Try to Add OAD to Multi Role, 
I already check tutorial step multiple times but still unsuccessful, It seems to be a BIM problem, But I don't know where is the problem?

Case 1: When i flashing multi_role (with OAD) image via CCS:
device boots and start advertising , Uart also show message from multi_role  but when I reset LAUNCHXL Board, it will no response & advertising

Case2: When i flashing multi_role (with OAD) image (bin / hex) via Uniflash:
It will no response & advertising, Uart no any message from multi_role (It seems that BIM did not select this image)

Case3: When i flashing Original "simple_peripheral_oad_offchip " image via Uniflash / CCS 
Both work well, OAD function & Reboot the LAUNCHXL Board , Can also work again.

Version: SimpleLink CC13x2 26x2 SDK (5.10.00.48)
All project type = Release (Multi Role, Bim_offchip, )

Does anybody have any idea, Thanks a lot !

AddOAD_multi_role_CC26X2R1_LAUNCHXL_tirtos_ccs.rar

  • Hi,

    I have a few questions that will help us solve this issue more efficiently. Are you able to perform the OAD to update the simple_peirphyeral_oad_offchip project to multi_role? Were you able to successfully complete Task 1 and 2? (These steps include the process of getting the BIM on the LaunchPad). Can you specify the exact steps that you took in order to recreate this behavior?

    Best Regards,

    Jan

  • Hi, 

    Yes! Other projects are running well! Here are my steps

    Step 1
    I built three project images, via CSS (bim_offchip.hex, simple_peripheral_oad_offchip.bin, project_zero.bin)
    All project set Release & unsecure OAD setting

    Step 2
    I flashing bim_offchip.hex & simple_peripheral_oad_offchip.bin  image via Uniflash to  LAUNCHXL board and then reboot the LAUNCHXL board, Now the LAUNCHXL board start advertising & Uart show some message.

    Step 3
    I’m using the Android SensorTag app from ti, search LAUNCHXL broad, at this time LAUNCHXL board show the name “SP OAD off-chip”, select TI OAD Service button and sending “project_zero.bin“ image, some time later successful change to project_zero image, Now the LAUNCHXL board start advertising & Uart show some message from project_zero image, I try to reboot LAUNCHXL board, also no problem.


    Step 4
    In the same way, I’m using the Android SensorTag app, change to  simple_peripheral_oad_offchip.bin, also successful change to new image

    Step5
    In the same way, I’m using the Android SensorTag app, change to Multi Role.bin image (follow Task 3 – Add OAD to Multi Role edit ), Successfully transmitted but nothing happened, BIM doesn't seem to select any images, LAUNCHXL board no any  advertising & respond. 

    Thank you ! :-)
    Wing

  • Hi Wing,

    Thank you for the additional information. It is very helpful. Are you able to verify if you are running into this behavior when using a second LaunchPad with Btool instead of the SensorTag application? This will help us isolate the issue.

    Best Regards,

    Jan

  • Hello Jan, 

    I don’t have two development boards at the moment, but I found a problem in Oad Header, I have two images that can flash via Oad or UniFlash software normally, BIM also selected Newest image to start .


    They have one thing in common in Oad Header > prgEntry, Both have same value prgEntry = 0x50 .

    In the problem image the prgEntry = 0x8C, I have search about prgEntry in internet, it seems that my startup problem is here, Can I change the prgEntry value?

    Or document has more about prgEntry instructions?

    Thank you ! 

    Wing

  • Hi Wing,

    I have a quick question. Do you have security enabled in this project? the prgEntryAddr points to the .resetVec (the reset vectors defined in the .cmd file for the project). These reset vectors are configured in the .cfg file. Depending on whether or not security is enabled, then the value will be set appropriately.

    Best Regards,

    Jan

  • Hello Jan, 

    In my settings all project images are set unsecurity, did I miss anything ?

    ARM Linker → Advanced Options → Command File Preprocessing →
    Pre-define preprocessor macro (without "SECURITY" defines)

    Project → Properties → BUILD → ARM Compiler → Predefined Symbols
    (without "SECURITY" defines)

    MyProblemProject.cfg
    /* Put reset vector after OAD metadata */
    var compilerOpts = prog.build.target.ccOpts.prefix; // Get the target compiler options
    var regex = /(?:\-\-define\=)(\w*)(?:\=*\w*\s)/g;
    var compilerDefs = [];
    while ((tmp = regex.exec(compilerOpts)) !== null) compilerDefs.push(tmp[1]); // Parse compiler symbols

    if (compilerDefs.indexOf('SECURITY') > -1) { // Check for SECURITY compiler symbol
    m3Hwi.resetVectorAddress = 0x90; // Image B Reset Vector Address
    }
    else {
    m3Hwi.resetVectorAddress = 0x50; // Image A Reset Vector Address
    }


    MyProblemProject HDR
    ____________________________
    OAD IMG HDR
    ____________________________
    Field | Value
    imgID | b'CC26x2R1'
    CRC | 0xADD4859C
    bimVer | 3
    metaVer | 1
    techType | 0xFFFE
    imgCpStat | 0xFF
    crcStat | 0xFF
    imgType | 0x7
    imgNo | 0x0
    imgVld | 0xFFFFFFFF
    len | 0x2146C
    prgEntry | 0x8C
    softVer | 0x31303030
    imgEndAddr | 0x2146B
    hdrLen | 0x2C
    ____________________________
    Segment HDR
    ____________________________
    Field | Value
    Segment Type | Contiguous Image Segment
    Wireless Tech | [BLE]
    Segment Length | 0x21440
    Start Address | 0x0


    Thank you ! 

    Wing

  • update, i added cc13x2_cc26x2_app.cmd  from  simple_peripheral_oad_offchip

    Build > ARM linker > File search path > Add path  ${COM_TI_SIMPLELINK_CC13X2_26X2_SDK_INSTALL_DIR}/examples/rtos/CC26X2R1_LAUNCHXL/ble5stack/simple_peripheral_oad_offchip/tirtos/ccs/cc13x2_cc26x2_app.cmd

    Now prgEntry = 0x50, but Bim still not start a new image ...


    Thank you ! 

    Wing




  • Hi Wing,

    Thank you for the info. If security is disabled, then you must use the unsecured bim. Can you verify if this is the case and get back to me?

    Best Regards,

    Jan

  • Hello Jan, 

    YES, I have been using BIM Release_unsecure[Active], But Keeps not working only in Multi Role add Oad images.

    All Project images set Release[Active].

    Thank you ! 

    Wing

  • Hello Jan,

    I using debug mode run BIM , All images will trigger "bim_main.c" Line 620 / 637  jumpToPrgEntry(imgHdr.prgEntry);  /* No return from here */ .

    But  "Multi Role add Oad images" only trigger once, when i reset my board , bim will not respond (Can't trigger "int main(void)" in bim)


    Update: All images flash via UniFlash, reset my board & no problem now !



    Thank you ! 
    Wing

  • Hi Wing Wing,

    I am facing same issue device is not booting up.i have followed  Task 3 – Add OAD to Multi Role ,in my case

    even flashing with uniflash resulting in no advertisement,but working if i am debugging same code using CCS.

    I have tried Debug unsecured,debug secured,release unsecured ,release secured,in all same result.

    Can you help mw with your inputs how did you fix it ,and procedure to flash hex and bin files using uniflash/flash programmer2.

    Regards,

    Atul

  • Sorry for late reply, in my case i had two points change & get success !



    1. Add "CMD FILE PATH" from TI simple_peripheral_oad_offchip project (don't copy file way, must add path)

    2. All progrem flash ( bin / hex file) from UNIFLASH

    All progrem include BIM & your project code.

    Good Lucky !

  • Hi Wing Wing,

    Thanks for your reply..!!

    i did same and it was solved already few days back.

    Regards,

    Atul