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.

CC1352P: BIM and SimplePeripheral OAD offchip

Part Number: CC1352P
Other Parts Discussed in Thread: UNIFLASH, SYSCONFIG, BLE-STACK,

I am using a custom board with a CC1352P1 and I am having issues getting the board to boot and and load the application after power cycle . I have flashed the BIM offchip project from the examples and then I flash SimplePeripheral OAD offchip example and the code works after initial flash, but then after power is removed the application does load. 

  • Hi Corey,

    There are a few steps that can go wrong when setting up the OAD target. Can you go through the steps in Task 1 and double check it?

    https://dev.ti.com/tirex/explore/node?node=A__ADzuT3lecGawPgH5gTa69Q__com.ti.SIMPLELINK_ACADEMY_CC13XX_CC26XX_SDK__AfkT0vQ__LATEST

    Cheers,

    Marie H

  • Thank for the information I was able to follow the task and get it to work on the 1352P1_LP (thank you), but does not seem to work on my custom board. I have compared the external flash connection in  the LP schematic and my custom board with the between the LP and my custom board and all the connections are the same. I am even using the same external flash memory, and the code is identical. The only thing that I can think that when flashing my custom board in the target config I have to change the JTAG connection to the 4-pin connection in order for the application (non OAD application ) to start on boot.  When flash the LP I set the target to 2-pin JTAG in order for the application (non OAD application ) to start on boot. 

    Given that in this situation I flashing using UniFlash I dont have the option to choose the JTAG connection type, so I do not know if this is part of the problem. 

    I have included the schematic diagram of the hardware connections to ensure there is no hardware difference.

    1352P1_LP Schematic 

    Custom Board Schematic

  • Hi Corey,

    In the datasheet of CC1352 it is mentioned that the device boots by default into cJTAG (2-pin JTAG). It means that you have to reconfigure the device to use 4-pin JTAG after rebooting. Are you doing that?

    Best regards,

    Haiatullah G.

  • I am changing my target config to 4pin in CCS but using Uniflash I don't know if there is or I cant find the option to configure the device to use 4pin JTAG

  • Hi Corey,

    Please use the Edit button when you have selected your board in UNIFLASH:

    This will allow you to select 4pin JTAG.

    Cheers,

    Marie H

  • thank you for showing me that. I did not know how to configure the JTAG connection. Thank you. I think i might have determined the problem. I decided to test the external memory of my custom board using the "nvsexternal" and the example did not work properly so I then tested it on my LP and it worked correctly. So that led me to re-look at my schematic and I think i spotted the problem in my wiring and I think that I may have wired up the memory incorrectly. So for my currently testing I will switch to "onchip" code until I am able to resolve my external hardware memory issue. 

  • Hi Corey,

    You need to properly configure the board files for your custom board.

    -kel

  • When you say board file do you mean the sysconfig. If so I have configured the GPIO pins to communicate with  the external memory via SPI, which matches the pins on my schematic. 

  • Hi Corey,

    Yes indeed.

    We have some documentation about this process in the Custom Hardware chapter of the BLE-Stack User's Guide:

    https://dev.ti.com/tirex/explore/content/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/docs/ble5stack/ble_user_guide/html/cc13xx_cc26xx/custom-hardware-cc13xx_cc26xx.html

    Hopefully you already saw our HW configuration and PCB guide:

    https://www.ti.com/lit/swra640

    Cheers,

    Marie H

  • Hi Corey,

    You might need to modify the BIM board files also.

    -kel

  • Yes thank you have referenced the HW configuration and PCB and it is possible a mistake has been made in the design. I am going to test my custom hardware with a flash chip not on my custom board to check to make sure the external boot problem is not a hardware problem of my custom board. 

  • Thank you I will try modifying the BIM board file and report back

  • As a test ( just to test BIM and OAD) I switched to the "simple periphial on chip" example . When I flash the board directly from CCS it works as it should. But when I go to flash it using uniflash, after the flash and restart the application does not execute. I have included a screenshot of my uniflash session . I even disconnected the JTAG connecter and provided power (i remember reading there was an issue with booting BIM and having the JTAG connected). 

  • Hi Corey H,

    For on chip OAD you are missing the persistent app hex. 

    -kel

  • Kel 

    Yes this solved the problem. Now the application runs after flash. I have gone through the user guide but I do not have a good handle of what the persistent app. based on my reading its only function is to implement the OAD profile? 

  • based on my reading its only function is to implement the OAD profile? 

    Yes, the document guide would provide more detailed info. For the on chip OAD the important components are the BIM on chip and persistent app. If there is no main app the persistent app runs. If there is a failed on chip OAD persistent app runs.

    But, I guess you are trying the on chip OAD because you are having problems implementing the off chip OAD at your custom board. Anyway do not give up on the off chip OAD implementation.

    -kel

  • Thank you I will continue to work to get the off chip working. Is there a difference between the OAD profile of the project zero and the simpleperiphial_OAD. When i connect to the device using the TI Starter App (Andriod) the OAD portion operate completly different. On the projec zero i can click the TI OAD service where it take me to a screen in which it acts like I could upload firmware (I have not been able to upload anything it just hangs for a while and i cannot select a file).

    On the other hand  simpleperiphial_OAD just has the option for OAD reset service and doesn't have any thing elseOAD  

    My guess is that in the case of simpleperiphial_OAD the OAD profile is running. This is my guess but i wasn't sure if there were other variables at play. 

  • Is there a difference between the OAD profile of the project zero and the simpleperiphial_OAD.

    Maybe the SimpleLink Starter App is not updated, that is why you are seeing this. I suggest you use btool to test the OAD.

    -kel

  • Markel, 

    Thank you, I can will use btool to test OAD, my hope is that I would be able to use the app to perform the OAD, as this would be the preferred method to perform OAD in production ( like how it is done in this video OAD Video )

  • Hi Corey H,

    Try this below. This SimpleLink Starter App apk was shared here by a TI Engineer. It has a fix to an issue. 

    https://drive.google.com/file/d/1ACP_6tHzlamxtwJ448LzPUPlucFotefj/view?usp=sharing

    -kel

  • Markel, 

    Thank you I will try it out and see if it works. Before you sent me apk file I tested OAD using btool (I should have done this before) and the OAD fails, it seems like it writes the data and then it waits for the device to reset and after I reset, the application (i think the new application) does not execute. Could it because the simple peripheral is secure image, i didnt realize it was a secure image. If this is the case i will need to become more familiar with the keying process. . Is possible that this problem is due to a key issue. 

  • Hi Corey H,

    I just recently tested the original CC1352P simple peripheral off chip oad using btool it works. Make sure after you discover device that you select the correct Slave BDA. The Slave BDA always changes.

    Using the launchpad program bim off chip hex file and simple peripheral off chip app bin file using uniflash. bim off chip oad hex file can be found here.

    C:\ti\simplelink_cc13xx_cc26xx_sdk_6_20_00_29\examples\rtos\CC1352R1_LAUNCHXL\ble5stack\hexfiles\bim_offchip\Release

    -kel