cancel
Showing results for 
Search instead for 
Did you mean: 

Enabling lockstep core in SPC570S MCU

NBula.1
Associate III

Hi,

I am prototyping on a SPC570S-DISP development board, and I am trying to enable the checker core in the MCU. I read the technical reference manual, and it has stated that the checker core can be enabled from the UTEST DCF memory registers. How can I access these registers from the SPC5 application, because such a setting is not available in the configuration GUI. Furthermore, I would really appreciate if I could get some advice as to how to access other registers as well.

Thank you.

Nisal

1 ACCEPTED SOLUTION

Accepted Solutions
Erwan YVIN
ST Employee

Hello ,

you can not access by GUI Settings

you need to access by adding some constants

/*UTEST DCF pattern */
#define UTEST_DCF_records 	0x00400308   /* just after DCF_start_Record */
#define UTEST_DCF_PASS_ADDR 0x00400308   /* DCF START */

you can try to access after locking UTEST Address Space

/**************************************************************************/
    /* Lock to Protect UTest Address Space                                    */
    /**************************************************************************/
    test_string_print(&SD1, "Lock UTEST Address Space: ");
    returnCode = GetLock(&ssdConfig, C55_BLOCK_UTEST, &blkLockState);
    if (C55_OK != returnCode)
    {
        ErrorTrap(returnCode);
    }
    if (!(blkLockState & 0x00000001))
    {
        returnCode = SetLock(&ssdConfig, C55_BLOCK_UTEST, LOCK_ALL_BLOCKS);
        if (C55_OK != returnCode)
        {
            ErrorTrap(returnCode);
        }
     }
    test_string_print(&SD1, "OK!\n\r");

Example in Flash Test Application

Best Regards

Erwan

View solution in original post

2 REPLIES 2
Mannhof
Associate II

Hi all! I'm also trying to change UTEST DCF in SPC570S40 (but I want to change XOSC LF_EN bit value). 

In RM0349 on the page 260 I see it's Reset value. How can I read it? UTEST Flash memory with the same address is empty.

If I'm flashing address 0x00400308 but nothing changes. How can I check current values which stored in this memory?

Thank you,

Nikolay Mannhof.

Erwan YVIN
ST Employee

Hello ,

you can not access by GUI Settings

you need to access by adding some constants

/*UTEST DCF pattern */
#define UTEST_DCF_records 	0x00400308   /* just after DCF_start_Record */
#define UTEST_DCF_PASS_ADDR 0x00400308   /* DCF START */

you can try to access after locking UTEST Address Space

/**************************************************************************/
    /* Lock to Protect UTest Address Space                                    */
    /**************************************************************************/
    test_string_print(&SD1, "Lock UTEST Address Space: ");
    returnCode = GetLock(&ssdConfig, C55_BLOCK_UTEST, &blkLockState);
    if (C55_OK != returnCode)
    {
        ErrorTrap(returnCode);
    }
    if (!(blkLockState & 0x00000001))
    {
        returnCode = SetLock(&ssdConfig, C55_BLOCK_UTEST, LOCK_ALL_BLOCKS);
        if (C55_OK != returnCode)
        {
            ErrorTrap(returnCode);
        }
     }
    test_string_print(&SD1, "OK!\n\r");

Example in Flash Test Application

Best Regards

Erwan