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

Enabling lockstep core in SPC570S MCU

  • November 5, 2020
  • 2 replies
  • 1806 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 Technical Moderator
    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

    In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question.