Parity error in L1 instruction bank C cache

Hi,

Here I met a error in my project when the code runs into the first function adi_initComponents(), this function is generated automatically I didn't change anything. The project compiles and builds successfully.

The Help in CCES doesn't give me much information about how this error is caused, and how to solve this problem. Could you please help on this?

  A fatal error or exception has occurred.

  Description:   Parity error in L1 instruction bank C cache

  General Type:  ParityError

  Specific Type: InstrBankCCache

  General Code:  0xa

  Specific Code: 0x142

  Error Value:   0x00000020

  Error PC:      0xc80935b8

Best regards,

Daniel

  • Hi,

    I assume you are using silicon revision 0.1 of the BF60x. The CCES 1.0.2 Release Note covers this behaviour in detail:


    The CCES 1.0.2 toolchain provides support for silicon revision 0.1 of the ADSP-BF60x part family. This support includes a change to the startup code, which was necessary to avoid “Parity Error” exceptions seen when running on revision 0.1 hardware. This change is incorporated automatically when the generated startup code is regenerated and is already present in the various pre-built default basiccrt crt.doj files. If you are using a custom startup source or have disabled regeneration of the generated files you will need to add the following BITSET instruction before accessing the ITEST_COMMAND or DTEST_COMMAND registers:

    #include <sys/platform.h>

    BITSET(R7, BITP_ITEST_COMMAND_PARCTL);

    For example:

    // Zero the ITEST_COMMAND and DTEST_COMMAND registers

    // (in case they have unintialized values in them that

    // cause a write somewhere when we enable cache).

    BITSET(R7, BITP_ITEST_COMMAND_PARCTL);

    I0.L = LO(ITEST_COMMAND);

    I0.H = HI(ITEST_COMMAND);

    I1.L = LO(DTEST_COMMAND);

    I1.H = HI(DTEST_COMMAND);

    [I0] = R7;

    [I1] = R7;

    CSYNC;


     

    Note that any executable built with CCES 1.0.0.x or 1.0.1.x will need to be re-linked with an updated crt object before being used with 0.1 hardware.

    If you have not already applied the 1.0.2 update, please do so:

    http://www.analog.com/cces

    Regards,

    Craig.

  • 0
    •  Analog Employees 
    on Jun 19, 2013 6:59 AM

    Hi Craig,

    Thanks for your timely reply, I'm using silicon version 0.0, CCES 1.0.1.

    The issue was caused and resolved in an accidental way. Actually the project is based on BF609EZKIT+Video decoder EI3 extender board+Video encoder EI3 extender board, the run-time error pumps when I run the project only on BF609EZKIT( disconnected with extenders), after I mounted two extenders, rebuild the project and run again, everything is fine.

    Best regards,

    Daniel

  • Thanks for clarifying Daniel. Glad you were able to resolve the issue.

    Regards,

    Craig.

  • 0
    •  Analog Employees 
    on Aug 2, 2018 4:53 PM
    This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

    Thank you,
    EZ Admin