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.

Concerto F28M35 Silicon 1(A) Flash API problems

Other Parts Discussed in Thread: CONTROLSUITE

We are using standard Concerto M35 ControlCard in our product, and recently got cards with new silicon (without "X" mark),

// read silicon revision
Int16 siliconRevId = (HWREG(SYSCTL_DID0) & 0xFFFF); //returns 1 for TMS chip, returns 0 for TMX (pre-production)

Firmware  compiled using latest CCS 5.5.0.00077 and F021 ver 1.52

For FLASH interface, we use very lightly modified "flash_programming_m3.c" from the latest ControlSuite v 201, which works OK on silicon 0.

The modifications include more emulator-friendly function and more checks:

volatile char FLASH_test = 0;
#pragma CODE_SECTION(Example_Error,"ramfuncs");
void Example_Error(Fapi_StatusType status)
{
   FlashLeavePump(); //need to release it after an error or C28 could not be programmed via emulator
   FLASH_test = 0;
   // Error code will be in the status parameter
   for(;;)
   {
       if (FLASH_test!=0) return; //to return to program and find out which function had caused exception,
                                                //  using emulator put break point here, then change "FLASH_test" to non-zero
   }
}

We have FLASH problem with Silicon rev 1 (without "X" mark): the library function SOMETIMES cannot erase sector, even it is returning "success" , and then Fapi_doBlankCheck returns "Fapi_Error_Fail". On Silicon 0 (with "X" mark) same functions work.

Very similar problem was already posted: "Concerto Flash Problem" in November 2013, exactly with the "latest" silicon, but nobody had a positive answer.

TI, when more robust FLASH API will be released? So far, TI, we are at your mercy with these (rather not reliable) FLASH functions.

Is it possible to provide a source code for the F021_API_CortexM3_LE.lib library to find out problems on our own?

Best regards,

Igor

  • Someone from TI, please answer!

    When more robust FLASH API will be released? 

    So far, TI, we are at your mercy with these (rather not reliable) FLASH functions.

    Is it possible to provide a source code for the F021_API_CortexM3_LE.lib library to find out problems on our own?

    Regards, Igor

  • All, an update:

    my FLASH functions are working now with both Silicon 0 and Silicon A, and I cannot make them fail.

    I have to admit that problems with flash arose when I did not CAREFULLY update flash routines from v 1.51 to 1.52.

    Unfortunately CCS does not have a good mechanism updating software and packages, old folders / files are lingering in C:\TI folder. As an example, it is major pain to change links to newer release of ControlSuite, v160","v200","v201", etc, so I simply created folder "v_last" and using "Beyond Compare" copy there the latest files.

    IMHO the "best" way of upgrading CCS or ControlSUITE of F021 flash routines is to uninstall them, delete remaining folders, and install newest version(s).

    In my case,my project file links to F021 files were outdated, in particular these links were pointing to older files
    "Fapi_UserDefinedFunctions.c",

    ."F021_Concerto_Cortex.h".

    So, I am sorry to be harsh, it is actually working

    Igor