Skip to main content
NBula.1
Associate III
November 5, 2020
Solved

Enabling lockstep core in SPC570S MCU

  • November 5, 2020
  • 2 replies
  • 1794 views

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

    This topic has been closed for replies.
    Best answer by Erwan YVIN

    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

    2 replies

    Mannhof
    Associate
    March 11, 2021

    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
    Erwan YVINBest answer
    ST Employee
    June 3, 2021

    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