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.

ESM nError Pin unexpected asserted low

Other Parts Discussed in Thread: TMS570LS3137, HALCOGEN

Hello.

I'm using TMS570LS3137 with CCS 6.1 and Compiler v5.1.10.

In HalCoGen (v3.06.00) I have configured channel 2,3,7,8,9 in ESM Group 1 to influence the nError pin. (This you can also see at the attached register screenshot from CCS).

And you can also see that channel 31 and 5 are reporting an error.

1) Channel 5 means a "imprecise read error" of the DMA. What does that mean?

2) Channel 31 means "CCM-R4 selftest error", but I haven't enabled CCM test at Startup in HalCoGen. Why does this error occure then?

3) None of these two channels are enabled to influence the nError pin, but it is. (You can see this in Register ErrPinStat, it's low and the LED which I've attached to this pin is illuminated). How can this be?

Best Regards

Christian

  • Hi Christian,

    Sometimes these bits are set before you load a program into the board and run, and since they are 'sticky' they'll stay set until cleared.
    So if you had some old program in your flash, you turned on the board and downloaded a new program, and then tried to run - the old program may be the culprit.

    If you disconnect from CCS, and press the power on reset button on your board, do you still see the nERROR asserted?

    If so then it may be fastest if you send your code so we can figure out what's going on.
  • Hi Anthony.

    I've found the code which makes this problem. I try to explain this because I now know the solution but I don't understand why this happens.

    Our product is a PLC. During downloading of the PLC application in the internal flash bank1 the nError LED gets asserted. In a background task I periodically check the CRC of the whole flash with the hardware CRC peripheral of the controller. I use the DMA to transfer the flash content to the CRC registers. If I disable this CRC calculation the nError LED stays off.

    So, now the solution for me is clear. But is it a problem to read the flash with DMA during programming it?

    Best Regards

    Christian

  • Hi Christian,

    Good job finding that - it sounds like it wasn't the easiest thing to find .

    When a bank is being programmed, you don't want to read or execute from that bank with any other bus master.
    So yes - I'd turn off the CRC if it's operating on the same bank that you are programming.

    Best Regards,
    Anthony