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: SimpleLink starter app error even before choosing file

Guru 18425 points
Part Number: LAUNCHXL-CC26X2R1

Hi guys,

I have this log output on my firmware when trying to do OAD.

This happens even without pressing the "select firmware" button in the phone app.

In fact, I do not even know if I have to press "Select Factory FW" or "Select custom fw". The latter shows an empty list of images, so, I can only press the first one. My guess is these buttons update different slots in the image lists (0 for factory) and (1+ for custom) but please clarify this to me.

#000032 [ 14.842 ] INFO: (th_ble_in.c:1020) Link establish event, status 0x00. Num Conns: 1
#000033 [ 14.842 ] INFO: (th_ble_in.c:1033) Connected. Peer address: 4D:55:73:AA:C3:8E
#000034 [ 15.469 ] INFO: (th_ble_in.c:1180) PHY Updated to 2M
#000035 [ 16.100 ] INFO: (th_ble_in.c:1558) Updated params for 4D:55:73:AA:C3:8E, interval: 7s
#000036 [ 16.624 ] INFO: (th_ble_in.c:1558) Updated params for 4D:55:73:AA:C3:8E, interval: 4s
#000037 [ 26.270 ] INFO: (th_ble_in.c:764) MTU Size: 247
#000038 [ 28.881 ] INFO: (th_ble_in.c:1558) Updated params for 4D:55:73:AA:C3:8E, interval: 1s
#000039 [ 31.643 ] INFO: (th_ble_in.c:617) OAD Error: 9

Any help is appreciated. My external flash interface seems to work since I am able to overwrite a factory image file, delete it, restore it... in my unit tests.

Thanks.

  • Hi,

    I have assigned an expert to comment on this. In the meantime, can you provide the SDK version that is being used for the project? Are you using the android or iOS version of the SimpleLink Starter App?

    Best Regards,

    Jan

  • SDK v5.1

    Android app

  • Hello,

    In fact, I do not even know if I have to press "Select Factory FW" or "Select custom fw". The latter shows an empty list of images, so, I can only press the first one. My guess is these buttons update different slots in the image lists (0 for factory) and (1+ for custom) but please clarify this to me.

    Both options will both store to the same location. With the "Select Factory FW" option, you are simply opting to OAD one of the supplied, prebuilt firmware files provided by TI. With the "Select custom fw" option, you can OAD a custom firmware file. For this option, you will have to download the built binary file to the application's Simplelink Starter folder first since the mobile application will look in this directory. Please note: I unfortunately don't have access to an Android phone so I can't say for sure what the path for that folder is. On iPhone, it's simply in "On My iPhone">"Starter".

    #000039 [ 31.643 ] INFO: (th_ble_in.c:617) OAD Error: 9

    This error usually indicates an issue with the binary file. Can you clarify which image you used when attempting this OAD?

    In case you haven't seen this (and for others benefit as well), here's a link to our User's Guide section that covers OAD.

  • Hi Ammar,

    Unfortunately, this does not clarify much to me.
    The "factory" list is empty.

    The "custom" button allows me to choose the folder where to grab the binary file from so should not be an issue. Otherwise, please indicate where should I put the binary files in Android. Thanks.

    These issue occurs even with an image from TI, just building project_zero_oad.bin

  • Hey kazola,

    I think I was able to reproduce this issue on my end. I will need to investigate this further.

    In the meantime, are you able to use BTOOL as the OAD distributor?

  • Hi Ammar! Slight smile

    It's so good you could reproduce the issue! We are one step closer to solving this.

    I cannot use BTOOL since this is gonna be part of a small smartphone app. Also, we develop everything under Linux.

    Please, keep me posted about your findings.

    kaz

  • Hey kaz,

     I’m still looking into this. In the meantime, have you tried to OAD a custom binary built in the latest SDK with the Simplelink Starter app? Additionally, are you using a secure or unsecure version of the BIM/application image?

    You mention external flash in the original post. Does this mean you are starting off with an off chip OAD example?

  • off chip OAD --> YES
    SDK v5.1 is the latest
    build configuration --> debug,

    I have done some progress on this! I was not activating the power to my memory :( sorry for that and thanks for your efforts

    After that, I could go much further. The SimpleLink starter app even sends the packets. I am trying to send a firmware made of 82 packets. However, errors still show up:

    #000038 [ 34.086 ] INFO: (th_ble_in.c:1558) Updated params for 41:AD:9C:DE:1F:E4, interval: 15.0 ms, latency: 0, timeout: 20000 ms
    #000039 [ 36.982 ] INFO: (oad.c:1106) oadBlkNum 0 blkNum 0
    #000040 [ 36.982 ] INFO: (oad.c:1107) len 244 expectedBlkSz 244
    #000041 [ 36.983 ] INFO: (th_ble_in.c:617) OAD Error: 9
    #000042 [ 53.153 ] INFO: (oad.c:1106) oadBlkNum 0 blkNum 0
    #000043 [ 53.153 ] INFO: (oad.c:1107) len 244 expectedBlkSz 244
    #000044 [ 53.453 ] INFO: (oad.c:1106) oadBlkNum 1 blkNum 1
    #000045 [ 53.453 ] INFO: (oad.c:1107) len 244 expectedBlkSz 244

    ....
    #000204 [ 61.733 ] INFO: (oad.c:1106) oadBlkNum 81 blkNum 81
    #000205 [ 61.733 ] INFO: (oad.c:1107) len 184 expectedBlkSz 184
    #000206 [ 61.762 ] INFO: (th_ble_in.c:617) OAD Error: 1

    1 is "OAD_CRC_ERR", but I am doing debug build configurations so I don't understand why this happens. I am not even involving BIM at this point. First, I wanna have a stable OAD.

    Ok, let's see if we can solve this and I can buy you a beer, or a smoothie Slight smile

  • Thanks for the follow up. I also see some activity initially as you do, but in the end the OAD fails with error 9.

    I apologize for the delay here, I have not had a chance to look into this further just yet. I hope to do so soon.

    EDIT: One thing I would like to try is to see if you are able to reproduce this with an older SDK, say v4.10. If you can run this test, it would save me some time.

  • Thanks for your time!

    Yep, also, you can find yourself into error 1, which is bad CRC calculation after the OAD download. This maybe because I modified my flash_interface.h with my memory description which is...

    #define EXT_FLASH_ADDRESS(page, offset)     (((page) << 16) + (offset))
    #define EXT_FLASH_PAGE(addr)                (addr >> 16)
    #define EXTFLASH_PAGE_MASK                  0xFFFF0000
    #define EFL_PAGE_SIZE                       0x10000


    ... but again, since my memory functions seems to be working, this should be too. Maybe function CRC32_calc() is not prepared to accept different sizes than the default ones?

  • Hey Kazola,

    There is a check in CRC32_calc() for invalid length. You can step through this file to see where the calculation may be inaccurate after making your modifications.

    As for the SimpleLink Starter mobile app, I was able to successfully perform an OAD with a default simple_peripheral off chip example binary, NOT with the preloaded "factory" images. When the phone connects to the example, I see OAD error: 15, which indicates an issue with subscribing to the CCCD of the OAD client. This is most likely an issue on the mobile app side. This resulted (for me) in a fairly slow OAD on iOS with slightly faster speeds on Android. I will file a ticket internally for our development team to investigate.

  • I got this working, this OAD error 9 always happens but it finally works.

    Now I am working with DEBUG build configuration so CRC should not be an issue.

    Will reach again if I come up with problems once I switch to RELEASE.