CC2651P3: Does not found simple_peripheral_oad_onchip example project on SDK directory

Part Number: CC2651P3
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Currently, I am developing the SimpleLink CC2651P3 LaunchPad and attempting to implement OTA following the CC13XX CC26XX SimpleLink Academy: Bluetooth Low Energy Enhanced Over the Air Download (OAD) Fundamentals. However, I am unable to find the simple_peripheral_oad_onchip example project in the SDK directory.

Can the project be ported from the CC26X2R1 directory to the CC2651P3? Please provide the step-by-step porting instructions.

Thank you

  • Hi,

    Thank you for reaching out. This is expected. You should be able to easily port the CC26X2R1 example to the CC2651P3 by following the migration guide below:

    https://dev.ti.com/tirex/content/simplelink_cc13xx_cc26xx_sdk_7_41_00_17/docs/ble5stack/ble_user_guide/html/ble-stack-5.x-guide/porting-guides/cc26x2_to_cc26x2x1.html

    Best Regards,

    Jan

  • Hi Jan,

    I am following the Porting via CCS ProjectSpec Modifications, but I found the build error related to the path directory of the CC2651P3 device.

    subdir_rules.mk:9: recipe for target 'build-1860128719' failed
    /ti/boards/CC2651P3: No such resource: /ti/boards/CC2651P3.syscfg.json

    Best regards,

    Bank

  • Hi Bank,

    This looks like maybe there is an issue with the sysconfig. Did you transfer the settings visually, copy the text or copy the file? I would suggest starting with a CC2651P3 sysconfig from Simple_peripheral and then migrating your settings visually through the GUI to ensure the file is not corrupted in any way.

    Best Regards,

    Jan

  • Hi Jan,

    I have follow your instruction it can resolved an issue with the sysconfig.

    In addition, i have some question to you confirm.

    1. Does the `simple_peripheral_oad_onchip` include the BIM through a defined symbol 

    BIM_ONCHIP

    simple_peripheral_oad_onchip.hex + persistent.bin[OAD_IMG_A]+simple_peripheral_oad_onchip.bin[OAD_IMG_B]

     

    2. What is the size region of the NV ?

    3. What is correct path for the Linker command file?

     

  • Hi,

    1. Does the `simple_peripheral_oad_onchip` include the BIM through a defined symbol 

    The BIM is a seperate project that is provided in the SDK. The BIM_ONCHIP symbol is given to the simple_peripheral project to tell it which BIM to use.

    2. What is the size region of the NV ?

    This will depend on the size of your application image. It should be at a minimum as large as your expected OAD image. I would suggest adding some additional space on top of that to account for an increased image down the line as updates are added.

    3. What is correct path for the Linker command file?

    The default settings should work well.

    Best Regards,

    Jan

  • Hi Jan,

    I would like to update result.

    simple_peripheral_oad_onchip.bin[OAD_IMG_B] -> OK

    persistent.bin[OAD_IMG_A -> Bin have some problem as below detail.

    1.) imgType, Can not configuration to OAD_IMG_TYPE_PERSISTENT_APP

    2) Start Address, Can not to configuration to flash region.

    >> This issue i tried to change Linker command file to "cc13x1_cc26x1_oad_onchip_tirtos7.cmd" But it occur another issue.

    Best Regards,

    Bank

  • Hi Bank,

    Are you using the unmodified persistent project and seeing this behavior or is this occurring on a modified project?

    Best Regards,

    Jan

  • Hi Jan,

    The unmodified persistent project does not exhibit any issues. The issue occurs only in the modified project.

    Upon reviewing the RF stack system configuration file, I observed three types: BLE, TI Stack, and Custom. Do you recommend a specific RF stack system configuration for the persistent project?

    Best regards,

    Bank

  • Hi Jan,

    The BLE RF stack system configuration determines all settings and impacts the image size. Therefore, it is recommended to select the Custom configuration for customization.

    I will attempt to change the configuration to Custom to reduce the image size.

    Best regards,

    Bank

  • Hi Bank,

    I would suggest using the default RF Stack settings in the persistent_app project:

    Are you creating your own persistent app from an empty project? If so, then I would suggest adding your changes on top of the persistent_project app instead as that project contains all of the necessary configuration to work as the persistent image. It will also ensure you are starting from a known working solution.

    Best Regards,

    Jan

  • Hi Jan,

    Thank you for the confirmation. I am currently transitioning to custom RF stack settings

    Best regards,

    Bank

  • Hi Bank,

    Sounds good. Let me know if you run into any issues or have any questions and I would be happy to help!

    Best Regards,

    Jan

  • Hi Jan,

    The OAD on chip has been ported to CC2651P3. Both persistent and user app not any error during build/linker.

    I try with BTool, it does not work found problem after device reset. See more in log2.txt in the attached. 

    Have you any idea to fix this problem?

    4807.log2.txt
    [1] : <Info> - 04:44:22.802
    OAD - Update Connection Settings
    --------------------------------------------------------------------
    [2] : <Info> - 04:44:22.802
    Start OAD Download
    --------------------------------------------------------------------
    [3] : <Info> - 04:44:22.802
    StartReset Service Discovery
    --------------------------------------------------------------------
    [4] : <Info> - 04:44:22.802
    OAD Send UUID Discovery
    --------------------------------------------------------------------
    [5] : <Tx> - 04:44:22.802
    -Type           : 0x01 (Command)
    -OpCode         : 0x2016 (HCI_LEReadRemoteUsedFeatures)
    -Data Length    : 0x02 (2) byte(s)
     Handle         : 0x0000 (0)
    Dump(Tx):
    0000:01 16 20 02 00 00                               .. ...
    --------------------------------------------------------------------
    [6] : <Rx> - 04:44:22.834
    -Type           : 0x04 (Event)
    -EventCode      : 0x003E (HCI_LE_GenericReportEvent)
    -Data Length    : 0x0C (12) bytes(s)
     LE Event Code  : 0x04 (4) (HCI_LE_ReadRemoteUsedFeaturesCompleteEvent)
     LE Event Code  : 0x04 (4) (HCI_LE_ReadRemoteUsedFeaturesCompleteEvent)
     Status         : 0x00 (0) (SUCCESS)
     ConnectionId   : 0x0000 (0)
     Features       : 0x00000000000059FF (23039) (
                      Encryption
                      Connection_Parameters_Request
                      Reject_Extended_Indication
                      Peripheral_Features_Exchange
                      Ping
                      Data_Packet_Length_Extension
                      Privacy
                      Extended_Scanner_Filter_Policies
                      PHY_2M
                      Coded_PHY
                      Extended_Advertising
                      Channel_Selection_Algorithm_2)
    Dump(Rx):
    0000:04 3E 0C 04 00 00 00 FF 59 00 00 00 00 00 00    .>......Y......
    --------------------------------------------------------------------
    [7] : <Tx> - 04:44:22.834
    -Type           : 0x01 (Command)
    -OpCode         : 0xFD86 (GATT_DiscPrimaryServiceByUUID)
    -Data Length    : 0x12 (18) byte(s)
     ConnHandle     : 0x0000 (0)
     Value          : 00:00:00:00:00:00:00:B0:00:40:51:04:D0:FF:00:F0
    Dump(Tx):
    0000:01 86 FD 12 00 00 00 00 00 00 00 00 00 B0 00 40 ...............@
    0010:51 04 D0 FF 00 F0                               Q.....
    --------------------------------------------------------------------
    [8] : <Rx> - 04:44:22.880
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x06 (6) bytes(s)
     Event          : 0x067F (1663) (GAP_HCI_ExtentionCommandStatus)
     Status         : 0x00 (0) (SUCCESS)
     OpCode         : 0xFD86 (GATT_DiscPrimaryServiceByUUID)
     DataLength     : 0x00 (0)
    Dump(Rx):
    0000:04 FF 06 7F 06 00 86 FD 00                      .........
    --------------------------------------------------------------------
    [9] : <Info> - 04:44:24.240
    OAD Send UUID Info Discovery
    --------------------------------------------------------------------
    [10] : <Rx> - 04:44:24.240
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x0A (10) bytes(s)
     Event          : 0x0507 (1287) (ATT_FindByTypeValueRsp)
     Status         : 0x00 (0) (SUCCESS)
     ConnHandle     : 0x0000 (0)
     PduLen         : 0x04 (4)
     Handle         : 34:00
     Handle         : FF:FF
    Dump(Rx):
    0000:04 FF 0A 07 05 00 00 00 04 34 00 FF FF          .........4...
    --------------------------------------------------------------------
    [11] : <Rx> - 04:44:26.243
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x06 (6) bytes(s)
     Event          : 0x0507 (1287) (ATT_FindByTypeValueRsp)
     Status         : 0x1A (26) (bleProcedureComplete)
     ConnHandle     : 0x0000 (0)
     PduLen         : 0x00 (0)
    Dump(Rx):
    0000:04 FF 06 07 05 1A 00 00 00                      .........
    --------------------------------------------------------------------
    [12] : <Tx> - 04:44:26.243
    -Type           : 0x01 (Command)
    -OpCode         : 0xFE11 (GAP_UpdateLinkParamReq)
    -Data Length    : 0x0A (10) byte(s)
     ConnHandle     : 0x0000 (0)
     IntervalMin    : 0x0050 (80)
     IntervalMax    : 0x00A0 (160)
     ConnLatency    : 0x0000 (0)
     ConnTimeout    : 0x0C80 (3200)
    Dump(Tx):
    0000:01 11 FE 0A 00 00 50 00 A0 00 00 00 80 0C       ......P.......
    --------------------------------------------------------------------
    [13] : <Tx> - 04:44:26.259
    -Type           : 0x01 (Command)
    -OpCode         : 0xFD84 (GATT_DiscAllCharDescs)
    -Data Length    : 0x06 (6) byte(s)
     ConnHandle     : 0x0000 (0)
     StartHandle    : 0x0034 (52)
     EndHandle      : 0xFFFF (65535)
    Dump(Tx):
    0000:01 84 FD 06 00 00 34 00 FF FF                   ......4...
    --------------------------------------------------------------------
    [14] : <Rx> - 04:44:26.291
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x06 (6) bytes(s)
     Event          : 0x067F (1663) (GAP_HCI_ExtentionCommandStatus)
     Status         : 0x00 (0) (SUCCESS)
     OpCode         : 0xFE11 (GAP_UpdateLinkParamReq)
     DataLength     : 0x00 (0)
    Dump(Rx):
    0000:04 FF 06 7F 06 00 11 FE 00                      .........
    --------------------------------------------------------------------
    [15] : <Rx> - 04:44:26.323
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x06 (6) bytes(s)
     Event          : 0x067F (1663) (GAP_HCI_ExtentionCommandStatus)
     Status         : 0x00 (0) (SUCCESS)
     OpCode         : 0xFD84 (GATT_DiscAllCharDescs)
     DataLength     : 0x00 (0)
    Dump(Rx):
    0000:04 FF 06 7F 06 00 84 FD 00                      .........
    --------------------------------------------------------------------
    [16] : <Rx> - 04:44:28.238
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x0F (15) bytes(s)
     Event          : 0x0505 (1285) (ATT_FindInfoRsp)
     Status         : 0x00 (0) (SUCCESS)
     ConnHandle     : 0x0000 (0)
     PduLen         : 0x09 (9)
     Format         : 0x01 (1) (HANDLE_BT_UUID_TYPE__handles_and_16_bit_Bluetooth_UUIDs)
     Handle         : 0034
     Uuid           : 00:28
     Handle         : 0035
     Uuid           : 03:28
    Dump(Rx):
    0000:04 FF 0F 05 05 00 00 00 09 01 34 00 00 28 35 00 ..........4..(5.
    0010:03 28                                           .(
    --------------------------------------------------------------------
    [17] : <Rx> - 04:44:30.238
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x19 (25) bytes(s)
     Event          : 0x0505 (1285) (ATT_FindInfoRsp)
     Status         : 0x00 (0) (SUCCESS)
     ConnHandle     : 0x0000 (0)
     PduLen         : 0x13 (19)
     Format         : 0x02 (2) (HANDLE_UUID_TYPE__handles_and_128_bit_UUIDs)
     Handle         : 0036
     Uuid           : 00:00:00:00:00:00:00:B0:00:40:51:04:D1:FF:00:F0
                      
    Dump(Rx):
    0000:04 FF 19 05 05 00 00 00 13 02 36 00 00 00 00 00 ..........6.....
    0010:00 00 00 B0 00 40 51 04 D1 FF 00 F0             .....@Q.....
    --------------------------------------------------------------------
    [18] : <Rx> - 04:44:32.238
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x0B (11) bytes(s)
     Event          : 0x0505 (1285) (ATT_FindInfoRsp)
     Status         : 0x00 (0) (SUCCESS)
     ConnHandle     : 0x0000 (0)
     PduLen         : 0x05 (5)
     Format         : 0x01 (1) (HANDLE_BT_UUID_TYPE__handles_and_16_bit_Bluetooth_UUIDs)
     Handle         : 0037
     Uuid           : 01:29
    Dump(Rx):
    0000:04 FF 0B 05 05 00 00 00 05 01 37 00 01 29       ..........7..)
    --------------------------------------------------------------------
    [19] : <Info> - 04:44:34.238
    OAD Invalidate Image On StartReset
    --------------------------------------------------------------------
    [20] : <Rx> - 04:44:34.238
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x06 (6) bytes(s)
     Event          : 0x0505 (1285) (ATT_FindInfoRsp)
     Status         : 0x1A (26) (bleProcedureComplete)
     ConnHandle     : 0x0000 (0)
     PduLen         : 0x00 (0)
    Dump(Rx):
    0000:04 FF 06 05 05 1A 00 00 00                      .........
    --------------------------------------------------------------------
    [21] : <Tx> - 04:44:34.253
    -Type           : 0x01 (Command)
    -OpCode         : 0xFD96 (GATT_WriteLongCharValue)
    -Data Length    : 0x07 (7) byte(s)
     ConnHandle     : 0x0000 (0)
     Handle         : 0x0036 (54)
     Offset         : 0x0000 (0)
     Value          : 01
    Dump(Tx):
    0000:01 96 FD 07 00 00 36 00 00 00 01                ......6....
    --------------------------------------------------------------------
    [22] : <Rx> - 04:44:34.300
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x06 (6) bytes(s)
     Event          : 0x067F (1663) (GAP_HCI_ExtentionCommandStatus)
     Status         : 0x00 (0) (SUCCESS)
     OpCode         : 0xFD96 (GATT_WriteLongCharValue)
     DataLength     : 0x00 (0)
    Dump(Rx):
    0000:04 FF 06 7F 06 00 96 FD 00                      .........
    --------------------------------------------------------------------
    [23] : <Info> - 04:44:38.237
    Waiting For Device Reset
    --------------------------------------------------------------------
    [24] : <Rx> - 04:44:38.237
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x06 (6) bytes(s)
     Event          : 0x0519 (1305) (ATT_ExecuteWriteRsp)
     Status         : 0x00 (0) (SUCCESS)
     ConnHandle     : 0x0000 (0)
     PduLen         : 0x00 (0)
    Dump(Rx):
    0000:04 FF 06 19 05 00 00 00 00                      .........
    --------------------------------------------------------------------
    [25] : <Rx> - 04:44:42.249
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x0B (11) bytes(s)
     Event          : 0x0607 (1543) (GAP_LinkParamUpdate)
     Status         : 0x00 (0) (SUCCESS)
     ConnHandle     : 0x0000 (0)
     ConnInterval   : 0x00A0 (160)
     ConnLatency    : 0x0000 (0)
     ConnTimeout    : 0x0C80 (3200)
    Dump(Rx):
    0000:04 FF 0B 07 06 00 00 00 A0 00 00 00 80 0C       ..............
    --------------------------------------------------------------------
    [26] : <Info> - 04:44:53.246
    Establish Connection
    --------------------------------------------------------------------
    [27] : <Tx> - 04:44:53.246
    -Type           : 0x01 (Command)
    -OpCode         : 0xFE62 (GapInit_connect)
    -Data Length    : 0x0A (10) byte(s)
     PeerAddrType   : 0x00 (0) (PEER_ADDRTYPE_PUBLIC_OR_PUBLIC_ID)
     PeerAddr       : B0:D2:78:21:9D:EA
     InitiatingPhy  : 0x01 (1) (
                      INIT_PHY_1M)
     Timeout        : 0x0000 (0)
    Dump(Tx):
    0000:01 62 FE 0A 00 EA 9D 21 78 D2 B0 01 00 00       .b.....!x.....
    --------------------------------------------------------------------
    [28] : <Rx> - 04:44:53.278
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x06 (6) bytes(s)
     Event          : 0x067F (1663) (GAP_HCI_ExtentionCommandStatus)
     Status         : 0x15 (21) (bleNoResources)
     OpCode         : 0xFE62 (GapInit_connect)
     DataLength     : 0x00 (0)
    Dump(Rx):
    0000:04 FF 06 7F 06 15 62 FE 00                      ......b..
    --------------------------------------------------------------------
    [29] : <Info> - 04:45:24.622
    Device Disconnected
    Handle = 0x0000
    Addr Type = 0x00 (ADDRTYPE_PUBLIC)
    BDAddr = B0:D2:78:21:9D:EA
    --------------------------------------------------------------------
    [30] : <Info> - 04:45:24.622
    OAD - Restore Connection Settings
    --------------------------------------------------------------------
    [31] : <Error> - 04:45:24.653
    OAD Download Not Successful
    --------------------------------------------------------------------
    [32] : <Rx> - 04:45:14.248
    -Type           : 0x04 (Event)
    -EventCode      : 0x00FF (HCI_LE_ExtEvent)
    -Data Length    : 0x06 (6) bytes(s)
     Event          : 0x0606 (1542) (GAP_TerminateLink)
     Status         : 0x00 (0) (SUCCESS)
     ConnHandle     : 0x0000 (0)
     Reason         : 0x08 (8) (SUPERVISION_TIMEOUT_TERM)
    Dump(Rx):
    0000:04 FF 06 06 06 00 00 00 08                      .........
    --------------------------------------------------------------------
    

    Best regards,

    Bank

  • Hi Bank,

    To clarify, you are observing that upon connecting to the device, the device disconnects and hangs? What happens if you pause the debugger after the issue occurs?

    Best Regards,

    Jan

  • Hi Jan,

    Upon connecting the device, no issues are observed at this stage.

    However, a problem arises during the reset device in the OAD process. It appears to modify something on the target, causing the target to hang and fail to boot properly until the entire firmware is re-flashed.

    Please see more in capture screen..

    Best regards,

    Bank

  • Hi Bank,

    Understood. To be clear, resetting the device after the issue is observed does not fix the behavior? If so, then this sounds like the start address used for writing the OAD image or the start address used to start project execution is incorrect. Can you verify the addresses used by the BIM project as well as the application?

    Best Regards,

    Jan

  • Hi Jan,

    Sure, hard reset  does not fix this behavior. After Jump to the Reset Handler address at vector_table[1] then Break at address "0x51360" with no debug information available, or outside of program code.

    See more in the picture.

    Best regards,

    Bank

  • Hi Bank,

    Does that line up with the addresses we expect? Where is the address for the NV region of the download image and the application image?

    Best Regards,

    Jan

  • Hi Jan,

    The problem from stack size over flow.

    Have you any idea to fix or optimize  stack size issues?

    Note: The attachment for your reference.

    2046.001_oad_onchip_CC2651P3.zip

    Best regards,

    Bank

  • Hi Bank,

    Good catch! If a particular heap or stack is overflowing, then I would recommend modifying the stack/heap sizes of other tasks and threads such that you are able to allocate more space towards the problematic heap/stack.  I believe the default simple_peripheral task is created with more heap allocated than necessary to allow for development and experimentation.

    Best Regards,

    Jan