Reply by zhou...@sina.com June 9, 20082008-06-09
i met the same problem in flash programing tms320F28335 using \"TMS320F28335 Flash API V1.01\" in CCS 3.354.1 with example along with the api release.

following are codes slice from the example file:
\"
..............
/*------------------------------
Check the version of the API

Flash_APIVersion() returns the version in floating point.
FlashAPIVersionHex() returns the version as a decimal encoded hex.

FlashAPIVersionHex() can be used to avoid processing issues
associated with floating point values.
------------------------------*/
VersionHex = Flash_APIVersionHex();
if(VersionHex != 0x0101)
{
// Unexpected API version
// Make a decision based on this info.
asm(\" ESTOP0\");
}
//Version = Flash_APIVersion();
//if(Version != (float32)1.01)
//{
// Unexpected API version
// Make a decision based on this info.
// asm(\" ESTOP0\");
//}

/*------------------------------
Before programming make sure the sectors are Erased.

------------------------------*/

// Example: Erase Sector B,C
// Sectors A and D have the example code so leave them
// programmed.

// SECTORB, SECTORC are defined in Flash2833x_API_Library.h
Status = Flash_Erase(SECTORH,&FlashStatus);
if(Status != STATUS_SUCCESS)
{
Example_Error(Status);
}
..............\"
the return code \"Status\" always 0x18(24),the FLASHStatus.FirstFailAddr=0x00328000.
There are some descriptions in the document of TMS320F28335 Flash APIs about this code \"24\"

\"24 STATUS_FAIL_PRECOMPACT
Erase operation failed because the
pre- compaction portion failed. The
pre-compaction is applied to all
sectors on the device. The
FLASH_ST structure will return a
fail address corresponding to the
first sector fails this step.\"

have you solved yours?
Any clue to solve the problem will be appreciated.


OMAP35x EVM jump-starts low-power apps
The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building applications based on the OMAP35x architecture: http://www.DSPRelated.com/omap35x