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.

CC2640R2F: ProjectZero - Custom Board (4x4 RSM) transmits in Debug mode but not when battery is connected

Part Number: CC2640R2F
Other Parts Discussed in Thread: CC2640, UNIFLASH

Hi, I am working with RF Star module based on CC2640R2FRSMR, integrated on my custom board for a BLE application.

I am also using BQ24078 for Power Management on my board.

In order to upload the code I am using CC2640 Launchpad with its VCC, GND, RST, TMS, TCK pins as JTAG.

I am able to connect to, as well as transmit data from my board when in the debug mode in CCS, however when I switch to battery by disconnecting the JTAG, I momentarily see the advertisement of my custom board but it disappears after about a second and therefore I am not able to connect to it via BLE.

Note: I am able to see a 3.7V level at the VCC of the RF star module, when battery is connected.

Also, when I connect the battery and simultaneously put the board in Debug mode, i am able to transmit data. At this point when I disconnect the JTAG, the device still works. Now when I upload the code on the board and completely switch to battery (ie, no JTAG this time), even though the VCC receives 3.7V, I am not able to see any advertisement. 

Can you pls suggest what could be wrong?

On the left side, RST and GND are 2 of the 5 pins of JTAG, and on the right side, RST is connected to the reset pin of the module.

Please let me know if any other info is required.

Regards, 

Ritoo

  • Hi,

    You need to flash the BIM and the project zero program using Uniflash. Make sure you modify the BIM project IO according to your board.

    -kel

  • Hi Ritoo,

    If your application does not require OAD just use simple peripheral example program.

    -kel

  • Hi kel

    What is BIM?, I am new so I don't know, thanks.

    -Ritoo

  • Hi,

    BIM means Boot Image Manager. See, link below for more detailed explanation.

    https://dev.ti.com/tirex/content/simplelink_academy_cc2640r2sdk_5_30_01_00/modules/blestack/ble_enhanced_oad/ble_enhanced_oad.html

    Basically you need the BIM if your application requires Over the Air Download(OAD) of firmware. The firmware consists of several images, in case of off-chip OAD, the BIM and your application.

    So, if your application does not require OAD use a single image example program as base reference like simple peripheral.

    -kel

  • Hi kel, thanks for your suggestions, sorry but I'm still confused as to why there is any need for BIM? (We are not using OAD) 
    The doubt that I have is why does the controller not advertise when it exits the Debug mode?

    The code was being retained when I tried reading the same sensor data using empty.c, however when I translated the same code to ProjectZero for broadcasting the sensor data, the code is not retained outside of debug mode, which is beyond me. 

    Thank you

  • Just for some more context, in projectzero.c I'm turning on the external LED which is connected to DIO_1, which is after initializing ProjectZero_init(). After uploading the code, I am able to observe the LED glow. But still there is no advertisement form the device itself. 

    Here is the image of code snippet for referrence.

    So can you please tell why the device is not advertising when I exit the Debug mode. (even though LED is glowing)

    Thanks

  • Hi Ritoo,

    Take time to read the link I shared, It has much better explanation.

    The project zero example program is an off-chip OAD example program. It is split image composing of the BIM off-chip and the project zero image. When the board power up, the BIM will first run. If there is a valid application image detected in this case the project zero, the program will jump to the project zero image and run it.

    If you program only the project zero and no BIM. What happens is after board power up the program can not jump to project zero since there is no BIM.

    So, since you don't need OAD, just use simple peripheral example program as base and it should work even if you exit debug mode.

    Also, I suggest you develop your application first using the launchpad.

    -kel

  • For anyone who faces the same issue in the future, I was able to solve my problem by making changes in the ccfg file. The RF star module does not support DC/DC in hardware and the CCFG defaults to using DCDC, so we need to modify the ccfg as the following:

    #define SET_CCFG_SIZE_AND_DIS_FLAGS_DIS_ALT_DCDC_SETTING    0x0    // Alternative DC/DC setting enabled

    #define SET_CCFG_MODE_CONF_DCDC_RECHARGE                0x0        // Use the DC/DC during recharge in powerdown

    #define SET_CCFG_MODE_CONF_DCDC_ACTIVE                  0x0        // Use the DC/DC during active mode

    This will work

    Regards,

    Ritoo