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.

CC2340R5: LP-EM-CC2340R5

Part Number: CC2340R5


Tool/software:

Hi team,

I'm working on flashing a program via SWD. I've followed the steps outlined in ARM Debug Interface Architecture Specification (IHI0031), specifically section 5.3.4 (Leaving Dormant State). I’m able to successfully halt the CPU and read the ID.

According to section 5.3.2 of the TRM, I selected APSEL = 0x2 to access the Debug Mailbox. However, I’m unable to read or write to the TXD and RXD registers.


Here are my questions:

  1. How do I enable SACI mode to access the Debug Mailbox (TXD, RXD) registers?

  2. Is there a specific initialization sequence or a set of registers that need to be configured to enable SACI access?

  3. Are there any relevant documents or examples that detail how to communicate with flash via the Debug Mailbox?

Any guidance or documentation references would be greatly appreciated.

Thanks you.

  • Hi,

    I could not locate a public document that covers the low level debugging communications commands and protocol. However, the GEL scripts that perform device initialization are provided in all Code Composer Studio versions. These scripts can be used to programatically perform various tasks on the CC2340R5.

    At a typical CCS install, go to the directory below and loot at the GEL script files that start with cc23xx*

    C:\ti\ccs1281\ccs\ccs_base\emulation\gel

    Hope this helps,

    Rafael

  • Hi,

    Thanks for the quick response.

    I've installed CCS v20.0.2.5 at C:\ti\ccs2002\ccs\ccs_base\emulation\gel. In the cc23xx_dap.gel file, there's a comment indicating that SACI mode should be entered by resetting the device using the SECAP_RSTCTL register in the SEC-AP.
    in the script says EnterSaci();// Implemented in flash DLL, I could not find the function body.

    According to the TRM (Section 8.2.4.1), SACI mode can also be entered by performing an SWD connect followed by a device reset—either through an SWD reset or a pin reset.

    To achieve this, I issued the SWD reset command (0xC9) with a value of 0x5C as specified in Table 8.1 of the TRM. The target device does reset, but it does not appear to enter SACI mode. As a result, I'm unable to access the TXD and RXD registers and cannot read from or write to the Debug Mailbox.

    Could you please confirm if there's an additional step required to trigger SACI mode, or if there's any known condition that might prevent entry into SACI after the SWD reset?



    Here are my questions:
    1. How do I enable SACI mode to access the Debug Mailbox (TXD, RXD) registers?
    2. Can I get the function body of EnterSaci(); which is in the cc23xx_dap.gel file

    3.Can I use hardware APIs (HAPI) for flash programming via SWD, which is available in the below SDK?
    SimpleLinkTm CC23xx Software Development Kit (SDK).

     

  • Hi Surender,

    I confirmed with my colleagues and indeed the information you look for is not public (NDA-only) and therefore not shareable in this forum.Sorry.

    Please contact your local TI sales office with this thread and the information about the business opportunity.

    Best regards,

    Rafael

  • Hi desouza,
    Ok I got it, thanks for the quick response.