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.

  • Resolved

TMS570LS1227: Prefetch abort with F021 library

Intellectual 320 points

Replies: 3

Views: 113

Part Number: TMS570LS1227

Hi,

i am having problems exactly the same as in the thread "TMS570LS0714: F021 operation will abort prefetch while allow FIQ interrupt" (can't provide a direct link due to faulty ti forum software).  It's marked by ti as "resolved" but as far as I can see there was f..k all resolved.

When I single step through the F021 functions running in RAM everything works perfect.   When I run the code it fails with a prefetch abort.   I have no FIQ enabled which would require the flash bank I am erasing.

I had a look at the sample bootloader software provided by ti and used parts of the linker script and the copy to ram function which worked after I corrected a major fault in it (the linker script I could have never figured out myself; is there actually documentation available from ti?).

So why is the software working when single stepping and why does it crash when free running?   Implementation is exactly as per ti document SPNU501H.

Any ideas what makes F021 software crash?

Regards,

  • Hello Hagen,

    The interrupts are not disabled inside the flash APIs, can you try to disable the interrupts before calling flash APIs?

    Thanks,

    David

  • In reply to dzhou:

    Hi David,

    yes, thank you, that worked.

    As a suggestion maybe you should do that inside your flash library.  

    Also the copying into suitable RAM locations should happen there.  Do you honestly think that the normal ccs eclipse user is able to extract all the internal functions from your (closed source) object library and to include them in some cryptic linker commands?  Your F021 application note does not contain any details regarding that.

    Regards,

  • In reply to hagen wegner:

    Hello Hagen,

    Thank you for your suggestions.

    Your comment is valid. The F021 lacks good examples. 

    Just FYI: we just released some examples developed by application team.

    https://e2e.ti.com/support/microcontrollers/hercules/f/312/t/839983

    I believe bl_flash.c can be helpful to you as a reference in this link.

    https://git.ti.com/hercules_examples/hercules_examples/trees/master/Bootloaders/SafetyMCU_Bootloaders/source

    best regards,

    David Zhou

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.