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.

TMS320F28027: Integrating the IEC60730 STL Library into a Project

Part Number: TMS320F28027

Dear Texas,

we need your help to integrate the STL Library into our project. We are working with STL_generate_CRC() function used to calculate golden CRCs. In the reference document (IEC60730 Safety Library for TMS320F2802x) we have read (paragraph 4.2.5 point 7): "...Any flash sector can be used to run the function that calculates the CRC. In the simple example Flash A was used as the sector’s CRC is not checked periodically.". Is it possible run the function from a sector that is checked periodically? Another question is: is it possible to erase only a part of the sector ( A / B / C / D)?

Thank you very much for your support

Federico

  • From examining the code and reading that section of the user's guide, it's not clear to me why it says the STL_generateCrc function should be run from a section that is not checked by CRC. The Calculate_PSA_CRC() function that is at the heart of the CRC calculation is always run from RAM ultimately. I think the bigger reason Flash A was not checked was because that is where the gGoldenCRC table was stored. I believe if you set your start and end addresses to avoid the region where you've stored gGoldenCRC though, you may still be able to test the rest of the sector.

    According to the Flash API guide, the smallest amount of Flash that may be erased at a time is a single sector, so erasing part of a sector isn't possible.

    Whitney

  • Dear Whitney,

    thanks for the clear and comprehensive answer.

    I take this opportunity to ask you for further clarification.

    We have carried out a similar integration work with an STM microcontroller.
    In their documentation regarding CPU safety tests, they indicate the following test:

    • TM2: implements the test of arithmetic functions
    • TM3: implements the test of multiplier functions
    • TM4: implements the test of control flow instructions
    • TM5: implements the test of load/store unit(s)
    • TM6: implements the test of shift and rotate functions
    • TM7: implements the test of both stack pointers, MSP and PSP
    • TM8: implements the test of pipeline functions

    Are there equivalent tests in your libraries?

    Thank you

    Federico

  • The CPU-related tests in this particular IEC 60730 library are primarily testing the registers. We do have more extensive CPU tests on our newer devices (see the HWBIST and STL items in this document), but not for the F28027.

    Whitney

  • Thank you very much for your support regarding this issue!

    Federico