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.

Flash Programming Error in F28M35H52C1

Other Parts Discussed in Thread: CONTROLSUITE

Hi all,

    I am using F28M35H52C1 device. I am using CCS5.3.0.0009 . I import a blinky project for ARM. I can able to build the program. Using RAM configuration i can able to debug. If i am using the FLASH configuration i got some memory error. Error is below.

Cortex_M3_0: Loader: One or more sections of your program falls into a memory region that is not writable.  These regions will not actually be written to the target.  Check your linker configuration and/or memory map.

And my CCS was connected in Debug mode. That time i am try to erase the flash. But i got an error like this:

Target is not connected or does not support to current flash operation.

(This is in TOOL-> On-chip-Flash ,   Inside option to Erase Flash)

I checked the F28M35x_generic_M3_FLASH.cmd file. My .cmd file is below:

/*
//###########################################################################
// FILE: F28M35x_generic_M3_FLASH.cmd
// TITLE: Linker Command File for F28M35x examples that run out of FLASH
//###########################################################################
// $TI Release: F28M35x Support Library v201 $
// $Release Date: Fri Jun 7 10:51:13 CDT 2013 $
//###########################################################################
*/

--retain=g_pfnVectors

/* The following command line options are set as part of the CCS project. */
/* If you are building using the command line, or for some reason want to */
/* define them here, you can uncomment and modify these lines as needed. */
/* If you are using CCS for building, it is probably better to make any such */
/* modifications in your CCS project and leave this file alone. */
/* */
/* --heap_size=0 */
/* --stack_size=256 */
/* --library=rtsv7M3_T_le_eabi.lib */


/* The following options allow the user to program Z1 and Z2 DCSM security */
/* values, include CSM PSWD, ECSL PSWD, GRABSECT, GRABRAM, and FLASH EXEONLY */
/* The driverlib/dcsm_z1_secvalues.s and driverlib/dcsm_z2_secvalues.s files */
/* must be included in the Flash project for the below 2 lines to take */
/* effect. */
--retain=dcsm_z1_secvalues.obj(.z1secvalues,.z1_csm_rsvd)
--retain=dcsm_z2_secvalues.obj(.z2secvalues,.z2_csm_rsvd)

/* System memory map */

MEMORY
{
/* FLASH */
CSM_ECSL_Z1 : origin = 0x00200000, length = 0x0024
CSM_RSVD_Z1 : origin = 0x00200024, length = 0x000C
RESETISR (RX) : origin = 0x00200030, length = 0x0008 /* Reset ISR is mapped to boot to Flash location */
INTVECS (RX) : origin = 0x00200200, length = 0x01B0
FLASH1 (RX) : origin = 0x00200400, length = 0x1FC00
FLASH2 (RX) : origin = 0x00260000, length = 0x1FF00
CSM_RSVD_Z2 : origin = 0x0027FF00, length = 0x00DC
CSM_ECSL_Z2 : origin = 0x0027FFDC, length = 0x0024
/* RAM */
C0 (RWX) : origin = 0x20000000, length = 0x2000
C1 (RWX) : origin = 0x20002000, length = 0x2000
BOOT_RSVD (RX) : origin = 0x20004000, length = 0x0900
C2 (RWX) : origin = 0x20004900, length = 0x1700
C3 (RWX) : origin = 0x20006000, length = 0x2000
/* Message RAM */
CTOMRAM (RX) : origin = 0x2007F000, length = 0x0800
MTOCRAM (RWX) : origin = 0x2007F800, length = 0x0800
}

/* Section allocation in memory */

SECTIONS
{
.intvecs: > INTVECS
.resetisr: > RESETISR
.text : >> FLASH1 | FLASH2, crc_table(AppCrc, algorithm=CRC32_PRIME)
.const : >> FLASH1 | FLASH2, crc_table(AppCrc, algorithm=CRC32_PRIME)
.cinit : > FLASH1 | FLASH2, crc_table(AppCrc, algorithm=CRC32_PRIME)
.pinit : >> FLASH1 | FLASH2, crc_table(AppCrc, algorithm=CRC32_PRIME)

.vtable : > C0 | C1 | C2 | C3
.data : > C2 | C3
.bss : >> C2 | C3
.sysmem : > C0 | C1 | C2 | C3
.stack : > C0 | C1 | C2 | C3

.z1secvalues : > CSM_ECSL_Z1
.z1_csm_rsvd : > CSM_RSVD_Z1
.z2secvalues : > CSM_ECSL_Z2
.z2_csm_rsvd : > CSM_RSVD_Z2


ramfuncs : LOAD = FLASH1 | FLASH2,
RUN = C0 | C1 | C2 | C3,
LOAD_START(RamfuncsLoadStart),
LOAD_SIZE(RamfuncsLoadSize),
LOAD_END(RamfuncsLoadEnd),
RUN_START(RamfuncsRunStart),
RUN_SIZE(RamfuncsRunSize),
RUN_END(RamfuncsRunEnd),
crc_table(AppCrc, algorithm=CRC32_PRIME),
PAGE = 0

GROUP : > MTOCRAM
{
PUTBUFFER
PUTWRITEIDX
GETREADIDX
}

GROUP : > CTOMRAM
{
GETBUFFER : TYPE = DSECT
GETWRITEIDX : TYPE = DSECT
PUTREADIDX : TYPE = DSECT
}
}

Do you know how to resolve this error???

Thanks in Advance 

Thirumoorthy.R