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.

TMS570LC4357: Problems when trying to run diag mode 7 for Port A and B for 1Bit and 2bit error injection

Part Number: TMS570LC4357

Tool/software:

Hello experts,

We are having some trouble getting the diagnostic of the ECC functionality to work with port A and B.

We implemented the diagnostic as described in the technical reference manual (section 7.7.2.2). We also looked at the safety library (the sample function only tests port A).

Here is what we tried:

The test function is loaded into ram and executed from ram, lets call it flashDiagMode7Test(testType, buffer)

when I do the following:

flashDiagMode7Test( 1bitTest, 0) // 0 = buffer A
flashDiagMode7Test( 2bitTest, 0) // 0 = buffer A

everything works as expected, but if I add the test for port B like this

flashDiagMode7Test( 1bitTest, 0) // 0 = buffer A
flashDiagMode7Test( 2bitTest, 0) // 0 = buffer A
flashDiagMode7Test( 1bitTest, 4) // 0 = buffer B
flashDiagMode7Test( 2bitTest, 4) // 0 = buffer B

or this:

flashDiagMode7Test( 1bitTest, 0) // 0 = buffer A
flashDiagMode7Test( 1bitTest, 4) // 0 = buffer B
flashDiagMode7Test( 2bitTest, 0) // 0 = buffer A
flashDiagMode7Test( 2bitTest, 4) // 0 = buffer B

The buffer B test fails.

I can get one of the buffer B tests to work by calling the function like this

flashDiagMode7Test( 1bitTest, 4) // 0 = buffer B
flashDiagMode7Test( 1bitTest, 0) // 0 = buffer A
flashDiagMode7Test( 2bitTest, 0) // 0 = buffer A
flashDiagMode7Test( 2bitTest, 4) // 0 = buffer B - fails here

But the second buffer B test fails.

Can you verify on your end that buffer B can and should be tested and that it is working correctly?

Thank you and best regards,
Max