Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

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.

Compiler/TMS570LS0432: FEE example in HalCoGen could not change registers of FEE

Part Number: TMS570LS0432
Other Parts Discussed in Thread: HALCOGEN

Tool/software: TI C/C++ Compiler

Hello, TI Engineers

when I use FEE example from HalCoGen for testing EEPROM writing and reading functions, I could not find the message which should be saved in FEE. Is there anything wrong in my settings? 

  • Hi Xinyu,

    Did the HALCoGen example work fine as it is with out any modification?

    The information you provided are not enough to comment. Any one particular block or all blocks?

    Is it possible for you to Zip and send the FEE example which you are working on? If not send us the main function and ti_fee_cfg.c and ti_fee_cfg.h files.

  • Hello, Prathap

    I just follow the steps of example document. What I want to do is to confirm that some important information is saved in FEE. Could you give me some advice?

    Regards!

    Xinyu
  • Xinyu,

    FEE data is stored in Flash Bank7 ( starting 0xf0200000 ). FEE Data's are stored as Blocks. Blocks contain Header + Data. These Blocks are stored in Flash Bank7.

    Have a look at the TI FEE User guide for more information ( The document can be found in C:\ti\Hercules\HALCoGen\v04.06.01\Docs\TI FEE User Guide.pdf.)
  • Hi, Prathap

    In fact, I want to check Flash Bank 7. However, I could not find this bank in the CCS register list. Is there something missing?

    thanks!

    Xinyu
  • Hello Xinyu,

    Please use memory browser in CCS to check the data in FEE. The starting address of FEE (bank 7) is 0xf0200000.

    The HALCoGen provides a example code to read/write the FEE. The example write 1 block data (8 bytes: 01,02,03,04,05,06,07) to FEE.

    The first 24 bytes (8 bytes*3) are virtual sector header, the next 8 bytes (0xF0200018, and 0xF020001C) are reserved.

    The following 24 bytes (0xF0200020...0xF0200034) are data block header. The block data is just after the data block header: 0xF0200038, 0xF020003C.

  • Hi, Wang

    I use the example named as example_TI_Fee_Write_Read.c. However, in memory browser, all register number is F. I think FEE has not been written in. I just follow the steps in the example.

    Thanks and regards!
    Xinyu
  • Hi Xinyu,

    The test Writes, Reads and then Formats at last hence you cannot see any data if you look after Format function has been executed..

    I would recommend you to keep breakpoint at TI_Fee_InvalidateBlock(BlockNumber); ( Before executing this function). And then look at the memory window.


        /* Read the block with unknown length */
         BlockOffset = 0;
         Length = 0xFFFF;
         oResult=TI_Fee_Read(BlockNumber,BlockOffset,Read_Ptr,Length);
         do
         {
             TI_Fee_MainFunction();
             delay();
             Status=TI_Fee_GetStatus(0);
         }
        while(Status!=IDLE);

        /* Invalidate a written block  */
        TI_Fee_InvalidateBlock(BlockNumber); --> KEEP BREAKPOINT HERE
        do
        {
            TI_Fee_MainFunction();
            delay();
            Status=TI_Fee_GetStatus(0);
        }
        while(Status!=IDLE);

        /* Format bank 7 */
        TI_Fee_Format(0xA5A5A5A5U);

        while(1);