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.

CCS/TMS570LS3137: Trouble with TI FEE

Part Number: TMS570LS3137
Other Parts Discussed in Thread: HALCOGEN

Tool/software: Code Composer Studio

Configuration

Target hardware: TMS570LS31x HDK

Code Composer Studio Version: 8.2.0.00007

HALCoGen 04.06.00

Problem Description

I'm new to the Hercules processor and am attempting to activate TI FEE without success. I've closely followed the instructions given here: http://processors.wiki.ti.com/index.php/TI_FEE. However, when I run the resulting program (example_TI_Fee_Write_Read.c) using the CCS debugger my code gets stuck in the do loop below, that is, Status never equals IDLE. Where am I going wrong?

/* Initialize FEE. This will create Virtual sectors, initialize global variables etc.*/

TI_Fee_Init();

do

{

TI_Fee_MainFunction();

delay();

Status=TI_Fee_GetStatus(0 );

}

while(Status!= IDLE);

  • Hello Hugh,

    Could you please use the example in HALCoGen for LS3137 device? I suggest to use 2 virtual sectors rather than 4.
  • QJ,

    Thanks for your reply.

    1) I'm already using the example you specified, i.e.

    C:\ti\Hercules\HALCoGen\v04.07.00\examples\TMS570LS31x_21x\example_TI_Fee_Write_Read.c

    2) I think I was using the wrong F021 library. I'm now linking in F021_API_CortexR4_BE_V3D16.lib and the program at least doesn't hang.

    3) I changed the EPROM configuration in HALCoGen to use 2 virtual sectors, as you suggested.

    However, I'm still seeing behavior that I don't understand: After execution of either TI_Fee_WriteAsync() or  TI_Fee_WriteSync(), I would expect to see the data in SpecialRamBlock copied to 0xF0200000, i.e. 00010203 04050607, however, this is not the case. See screenshot below.


  • Hello Hugh,

    The data in the EEPROM is correct.

    The virtual sector header is located at the beginning of the eeprom. This header takes 16 bytes (4 32bit works).
    1. The 1st 2 words (0x00000000_0000FFFF) mean that this sector is a active virtual sector
    2. The 3rd one (0x00000000): VS backup states is active virtual sector
    3. 4th wors (0xFF000001): erase count and version number

    The following 8 bytes after virtual sector header are used for VS erase status. (0xFFFFFFFF--0xFFFFFFFF)

    Next 8 bytes are reserved (0xFFFFFFFF--0xFFFFFFFF)

    Then the next 24 bytes is data block header (0xFFFFFFFF -->0x00080001)

    Then the next is your data: 0x00010203, 0x04050607

    Please refer to FEE user guide in doc folder of HalCoGen