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.

TMS570LC4357: FSM_SECTOR register description in F021

Part Number: TMS570LC4357
Other Parts Discussed in Thread: HALCOGEN

Hi,

To enable the EEPROM sectors, the MSB 16 bits of the register FSM sector located at 0xFFF872A4 is updated with ~(sectors to be enabled). So while assigning the value as below:

*FsmSector = ((~sectors_to_be_enabled) << 0x10U);
The 16 bits in the LSB is expected to be 0 with this implementation while it is reading the value other than 0.
Please provide the register description for the FSM Sector register to understand how it gets updated with the above code line.
Thank you,
Tirumala.
  • Hi Tirumala,

    It is not suggested to use this register. Please use the registers at 0x2C0 and 0x2C4 instead.

    During a bank erase operation, those registers keep track of which sectors have been erased. A one indicates that the sector was erased and a zero mean not yet erased. 

    The lower 16-bit of register at 0x2A4 is mainly for debugging purpose, its upper 16-bit shows the erase status. 

    Please use FEE driver generated by HAlCoGen for EEPROM operation.

  • Thank you Wang!

    Currently, we are trying to debug using the same register because we are trying to use the F021 library code modified as per our need. So we would like to understand if the register FSM sector located at 0xFFF872A4 is a read-only register? is it possible to write 0 to the lower 16 bits of the register? Request you to confirm.

  • Hi Wang!

    Can you please help me in understanding the behavior of the FSM sector register as requested above?

  • Hi Tirumala,

    A modified API which can potentially impact the flash must not be used in an application. For creating a flash programming solution, the flash API  library must be used as provided by TI.

    We provide the API source code only for certification purposes.

  • The register FSM sector located at 0xFFF872A4:

    bit[31:16]: can be written in privileged mode. It shows the sector erased. As mentioned before, please use FSM_SECTOR1 register at 0x2c0 instead.

    bit[15:0] is read only. bit[15:4] shows current sector used by the FSM. It is mainly used by the bank erase command and read_verify commands and should not be used outside of these commands.

  • The register FSM sector 1 located at 0xFFF872C0:

    Bits[31:0] : sector erased, please use this field instead of the same field in the FSM_SECTOR register at 0xFFF872A4

    The register FSM sector 2 located at 0xFFF872C4:

    Bits[31:0]:  Sector erased - Bank 7 only.

  • Yes, we have requested earlier for the same and modified it as per our certifications standard.

  • bit[15:0] is read only

    This helps get clarified with my query. Could you also please let me know the default value read for these bits as these are the read-only bit fields?

  • The default value of bit[15:0] of FSM Sector at 0xFFF872A4 is 0x0000

    Bit[15:8]: sector extension bits when flash contains > 16 sectors

    Bit[7:4]: the current sector used by the FSM. It is mainly used by the bank erase command and read_verify commands and should not be used outside of these commands.

    Bit[3:0]: Sector output which is from the address decoder. It can be used to verify the validity of the device’s sector configuration. It become active during FSM commands that use addresses.