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.

CC2640: Backport to CC2640F128 from CC2640R2

Part Number: CC2640
Other Parts Discussed in Thread: , , , CC2642R

Hi Experts,

Seeking your assistance on this query:

Since we have issues getting our hands on the CC2640R2, we try to test our application with the old CC2640F128. However we don't find examples that work and it looks like the support for it drop after Simple link SDK 1.40.

Is the current SDK still support this some way? Else do you have a CCS example of ble project for this chip?

Thank you.

Regards
Archie A.

  • Hi Archie,

    This request is like using the CC2640 to CC2640R2F Migration Guide but in reverse.  BLE-STACK-2-X supports the CC2640 along with TI-RTOS v2.21.  Other options are to use the CC2640R2L (same as the CC2640R2F without the Sensor Controller) or Migrate to the CC26X2 (minor hardware component changes covered in SWRA582).

    Regards,
    Ryan

  • Hello Ryan,

    Thanks for the information. But the page you send doesn't talk about all the defines in the library.

    Using the 3.40 SDK, when switching from CC26X0_R2 to CC26X0F128 we got tons of errors and in the devices folder there is only this one (cc26x0r2).
    Was able to make it work by using the SDK 1.40. Now the only thing left is that we can't set the start vector using the CCFG register like we're doing in the R2.

    Looks like limitation of this chip and will need to change my memory mapping for that. Any thoughts?

    Thank you.

    Regards,
    Archie A.

  • You should not use any SIMPLELINK-CC2640R2-SDK version with a CC2640 device.  You will need to adopt the BLE-STACK-2-X and migrate your application accordingly.  You can test certain features like the start vector feature by modifying existing CC2640 examples which are known to work.

    Once again, if the CC2640R2F is no longer acceptable then the preferred parts are the CC2640R2L or CC2642R.

    Regards,
    Ryan

  • Hi Ryan,

    Thanks for your response.

    However, customer still trying to port their application using the BLE-STACK-2-X; unable to change the location of the RTOS in memory. Look like it's hardcoded somewhere. Do you know how to change it?

    Regards,
    Archie A.

  • What exactly are they trying to accomplish?  What specific issues are they observing?  I'm not certain as to what they are describing and need to make sure that it is not related to the TI-RTOS kernel code stored in ROM.

    Regards,
    Ryan

  • Hello Ryan,

    Good day. Cx responded:

    With the previous CC2640R2, we are able to change the start address of the code using the CCFG register. Our bootloader is located at the end of the flash and the application at the start so it wasn't a problem to have the RTOS located between 0x100 and 0x600. However with the CC2640F128 we can't change the start address so we need to put the bootloader at the start of the flash. Sectors been 4K I can't put the RTOS of the application in the bootloader section. That's why I try to locate it elsewhere.

    Regards,
    Archie A.

  • Hello Archie,

    Here is the flash serial bootloader project for CC26X0 devices, the customer should reference it to apply their own implementation: https://github.com/ti-simplelink/ble_examples/tree/ble_examples-2.2/examples/util/serial_bootloader/cc2650 

    Regards,
    Ryan

  • Hi Ryan,

    Thanks for the link.

    Customer already has a bootloader: "This one is located in the first sector so I would still have the same issue that the SDK put the RTOS at this location and fail to merge the two binaries. It doesn't seem to patch the current ROM boot at that doesn't support changing the start vector."

    Regards,
    Archie A.

  • What linker configuration file (.cmd) and TI RTOS configuration file (.cfg) is associated with their project?-  I imagine these could be manipulated to move the flash contents and reset vectors appropriately.

    Regards,
    Ryan

  • Hi Ryan,

    Apology for the delayed update as Cx still needed assistance.

    Do we have an example of application that work with the serial bootloader project? Couldn't find it.

    Thank you.

    Regards,
    Archie A.

  • They could consider sblAppEx from SWRA466 or using Flash Programmer 2 as advised in the README since behavior is similar to the ROM bootloader once the application has been entered.

    Regards,
    Ryan

  • Hi Ryan,

    Thanks for the files and it helped the Cx:

    By looking at all the files in the SDK I kind of reverse engineer the code and figure out a way to do what I want. Also starting to understand the glitches with xdc tool and bug in the build process.

    I manage to change the location of the RTOS. It looks like the build tool was using the ROM even if I specified the NO_ROM define. By using a custom .cfg I make it build the FLASH version and there is no more jump table hardcoded at 0x100. Also have to remove the C26XXF128 define that was causing me trouble.

    Regards,
    Archie A.