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.

F021 API Questions

Hello,
 I'm interfacing the F021 library to progam the TMS570LSxxx5 family and I have some questions:

1- Fapi_getBankSectors():

This function returns information about the bank starting address, number of sectors, sector sizes, and
bank technology type. The information is returned in a struct Fapi_FlashBankSectorsType. The members
are as follows:
• oFlashBankTech – Indicates if bank is an FLEP, FLEE or FLES bank type
• u32NumberOfSectors – Indicates the number of sectors in the bank
• u32BankStartAddress – Starting address of the bank
• au8SectorSizes[] – An array of sectors sizes for each sector in the bank

a- What mean FLEP, FLEE and FLES?
b- au8SectorSizes[] does not contain the sector size value. For example on Bank0 the first value is au8SectorSizes[0]=16 and the last au8SectorSizes[14]=64 could you explain me why?

2- Fapi_issueProgrammingCommand()

The supplied starting address to program at plus the data buffer length cannot exceed the bank data width. (Ex.
Programming 14 bytes on a 16 byte wide bank starting at address 0x4 is not allowed.)

a- Where can I found the bank data width information?
b- Can I program the same bank two time or I need to perform an erase before?

Best regards

Stefano Querin

  • 1)

    a) These are the different types of bank technology we have in F021 devices.  Currently, all released TMS570LSx1xxx devices have only have FLEP type banks.

    b) This is an oversight on my part.  I need to include the following table in the API documentation:

    Sector Size,

    Bytes

    au8SectorSizes[x]

    Value

    0K 0X00
    2K 0X01
    4K 0X02
    8K 0X04
    16K 0X08
    32K 0X10
    64K 0X20
    128K 0X40
    256K 0X80

    2)

    a)  The bank size information is available in the F021 Flash Module chapter of the device's Technical Reference Manual.

    b) You may program a bank multiple times before erasing.  If programming the same location more than once before an erase, you can only program  bits with a 1 value  to 0.  If you try to program a 1 into a bit that is 0, the the programming operation will fail.

  • This thread is being closed due to the time since the suggested answer was provided. The assumption is the answer was sufficient to resolve the posted question.