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.

Data Abort after efcCheck

Other Parts Discussed in Thread: HALCOGEN

Hi,

 

after upgrading an old project i ran into a strange problem: i activated self test functionality (using current halcogen) and after executing the read access "efcREG->ERROR" within "efcCheck" i ran into an DataAbort "cause 0x0008" .

Whats going wrong?

best regards

Dominik

  • Hello Dominik:

    Can you provide the specific part number for which you are seeing the issue?

  • No problem - thanks for asking....

    Its an TMS 570LS20216A.

     

    Dominik

     

    Edit: some additional info: I digged into disassembler level:

    CPU is in Mode 10011 = Supvervisor

    Executed code reads like this:

    efcStatus = efcREG->ERROR; 

     LDR             R12, $C$CON23  (which loads R12 with 0xfff8c03c - looks good to me)
     LDR             R12, [R12]     (which causes an Data Abort 0x0008 = precise external abort @ 0xfff8c03c)
     STR             R12, [R13]

     

     Edit2:

    This issue doesn´t seem to be tied to efcStatus, i disabled efcCheck and i got a similar error (adress 0xfff8xxx) with another part of the selftest module. I changed the hardware (same processor type, different board) => same result (data_abort "8").

    Thus this is _no_ hardware issue, but what software issue could be able to cause that kind of strange self test error?


     

  • Hello Dominik:

    The issue is that your code is accessing an unimplemented address in the 570LS20216A device. This devices does not have an eFuse controller. Can you verify that you selected the correct device in HalCoGen? I do not see any efuse checking code or safety init code available in HalCoGen for the part number you are using.

  • You are so completely right! I wrongfully chose the TMS570ls21 instead of the TMS750ls20.

     

    Thanks so much!