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.

TMS320F28379D: Microcontroller Internal Flash write issue

Part Number: TMS320F28379D

/*File Name:2837xD_FLASH_lnk_cpu1.cmd*/
MEMORY
{
PAGE 0 :  /* Program Memory */
          /* Memory (RAM/FLASH) blocks can be moved to PAGE1 for data allocation */
          /* BEGIN is used for the "boot to Flash" bootloader mode   */

   BEGIN           	: origin = 0x080000, length = 0x000002
   RAMM0           	: origin = 0x000123, length = 0x0002DD
   RAMD0           	: origin = 0x00B000, length = 0x000800
   RAMLS0          	: origin = 0x008000, length = 0x000800
   RAMLS1          	: origin = 0x008800, length = 0x000800
   RAMLS2      		: origin = 0x009000, length = 0x000800
   RAMLS3      		: origin = 0x009800, length = 0x000800
   RAMLS4      		: origin = 0x00A000, length = 0x000800
   RAMGS14          : origin = 0x01A000, length = 0x001000     /* Only Available on F28379D, F28377D, F28375D devices. Remove line on other devices. */
   RAMGS15          : origin = 0x01B000, length = 0x000FF8     /* Only Available on F28379D, F28377D, F28375D devices. Remove line on other devices. */

//   RAMGS15_RSVD     : origin = 0x01BFF8, length = 0x000008    /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */

   RESET           	: origin = 0x3FFFC0, length = 0x000002

   /* Flash sectors */
   FLASHA           : origin = 0x080002, length = 0x001FFE	/* on-chip Flash */
   FLASHB           : origin = 0x082000, length = 0x002000	/* on-chip Flash */
   FLASHC           : origin = 0x084000, length = 0x002000	/* on-chip Flash */
   FLASHD           : origin = 0x086000, length = 0x002000	/* on-chip Flash */
   FLASHE           : origin = 0x088000, length = 0x008000	/* on-chip Flash */
   FLASHF           : origin = 0x090000, length = 0x008000	/* on-chip Flash */
   FLASHG           : origin = 0x098000, length = 0x008000	/* on-chip Flash */
   FLASHH           : origin = 0x0A0000, length = 0x008000	/* on-chip Flash */
   FLASHI           : origin = 0x0A8000, length = 0x008000	/* on-chip Flash */
   FLASHJ           : origin = 0x0B0000, length = 0x008000	/* on-chip Flash */
   FLASHK           : origin = 0x0B8000, length = 0x002000	/* on-chip Flash */
   FLASHL           : origin = 0x0BA000, length = 0x002000	/* on-chip Flash */
   FLASHM           : origin = 0x0BC000, length = 0x002000	/* on-chip Flash */
   FLASHN           : origin = 0x0BE000, length = 0x001FF0	/* on-chip Flash */

//   FLASHN_RSVD     : origin = 0x0BFFF0, length = 0x000010    /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */

PAGE 1 : /* Data Memory */
         /* Memory (RAM/FLASH) blocks can be moved to PAGE0 for program allocation */

   BOOT_RSVD       : origin = 0x000002, length = 0x000121     /* Part of M0, BOOT rom will use this for stack */
   RAMM1           : origin = 0x000400, length = 0x0003F8     /* on-chip RAM block M1 */
//   RAMM1_RSVD      : origin = 0x0007F8, length = 0x000008     /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
   RAMD1           : origin = 0x00B800, length = 0x000800

   RAMLS5      : origin = 0x00A800, length = 0x000800

   RAMGS0      : origin = 0x00C000, length = 0x001000
   RAMGS1      : origin = 0x00D000, length = 0x001000
   RAMGS2      : origin = 0x00E000, length = 0x001000
   RAMGS3      : origin = 0x00F000, length = 0x001000
   RAMGS4      : origin = 0x010000, length = 0x001000
   RAMGS5      : origin = 0x011000, length = 0x001000
   RAMGS6      : origin = 0x012000, length = 0x001000
   RAMGS7      : origin = 0x013000, length = 0x001000
   RAMGS8      : origin = 0x014000, length = 0x001000
   RAMGS9      : origin = 0x015000, length = 0x001000
   RAMGS10     : origin = 0x016000, length = 0x001000

//   RAMGS11     : origin = 0x017000, length = 0x000FF8   /* Uncomment for F28374D, F28376D devices */

//   RAMGS11_RSVD : origin = 0x017FF8, length = 0x000008    /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */

   RAMGS11     : origin = 0x017000, length = 0x001000     /* Only Available on F28379D, F28377D, F28375D devices. Remove line on other devices. */
   RAMGS12     : origin = 0x018000, length = 0x001000     /* Only Available on F28379D, F28377D, F28375D devices. Remove line on other devices. */
   RAMGS13     : origin = 0x019000, length = 0x001000     /* Only Available on F28379D, F28377D, F28375D devices. Remove line on other devices. */

   CPU2TOCPU1RAM   : origin = 0x03F800, length = 0x000400
   CPU1TOCPU2RAM   : origin = 0x03FC00, length = 0x000400
}

SECTIONS
{
   /* Allocate program areas: */
   .cinit              : > FLASHE      PAGE = 0, ALIGN(8)// Flash purpose
   //.cinit              : > FLASHB      PAGE = 0, ALIGN(8) //default
   .text               : >> FLASHB | FLASHC | FLASHD | FLASHE       PAGE = 0, ALIGN(8)
   codestart           : > BEGIN       PAGE = 0, ALIGN(8)
   /* Allocate uninitalized data sections: */
   .stack              : > RAMM1       PAGE = 1
   .switch             : > FLASHB      PAGE = 0, ALIGN(8)
   .reset              : > RESET,      PAGE = 0, TYPE = DSECT /* not used, */
	 /* Flash Programming Buffer */
   BufferDataSection : > RAMD1, PAGE = 1, ALIGN(8)

#if defined(__TI_EABI__)
   .init_array         : > FLASHB,       PAGE = 0,       ALIGN(8)
   .bss                : > RAMLS5,       PAGE = 1
   .bss:output         : > RAMLS3,       PAGE = 0
   .bss:cio            : > RAMLS5,       PAGE = 1
   .data               : > RAMLS5,       PAGE = 1
   .sysmem             : > RAMLS5,       PAGE = 1
   /* Initalized sections go in Flash */
   .const              : > FLASHF,       PAGE = 0,       ALIGN(8)
#else
   .pinit              : > FLASHB,       PAGE = 0,       ALIGN(8)
   .ebss               : >> RAMLS5 | RAMGS0 | RAMGS1,    PAGE = 1
   .esysmem            : > RAMLS5,       PAGE = 1
   .cio                : > RAMLS5,       PAGE = 1
   /* Initalized sections go in Flash */
   .econst             : >> FLASHF      PAGE = 0, ALIGN(8)
#endif

   Filter_RegsFile     : > RAMGS0,	   PAGE = 1

   SHARERAMGS0		: > RAMGS0,		PAGE = 1
   SHARERAMGS1		: > RAMGS1,		PAGE = 1
   SHARERAMGS2		: > RAMGS2,		PAGE = 1
   ramgs0           : > RAMGS0,     PAGE = 1
   ramgs1           : > RAMGS1,     PAGE = 1

#ifdef __TI_COMPILER_VERSION__
    #if __TI_COMPILER_VERSION__ >= 15009000
        #if defined(__TI_EABI__)
            .TI.ramfunc : {} LOAD = FLASHD,
                                 RUN = RAMLS0,
                                 LOAD_START(RamfuncsLoadStart),
                                 LOAD_SIZE(RamfuncsLoadSize),
                                 LOAD_END(RamfuncsLoadEnd),
                                 RUN_START(RamfuncsRunStart),
                                 RUN_SIZE(RamfuncsRunSize),
                                 RUN_END(RamfuncsRunEnd),
                                 PAGE = 0, ALIGN(8)
        #else
            .TI.ramfunc : {} LOAD = FLASHD,
                             RUN = RAMLS0,
                             LOAD_START(_RamfuncsLoadStart),
                             LOAD_SIZE(_RamfuncsLoadSize),
                             LOAD_END(_RamfuncsLoadEnd),
                             RUN_START(_RamfuncsRunStart),
                             RUN_SIZE(_RamfuncsRunSize),
                             RUN_END(_RamfuncsRunEnd),
                             PAGE = 0, ALIGN(8)
        #endif
    #else
   ramfuncs            : LOAD = FLASHD,
                         RUN = RAMLS0,
                         LOAD_START(_RamfuncsLoadStart),
                         LOAD_SIZE(_RamfuncsLoadSize),
                         LOAD_END(_RamfuncsLoadEnd),
                         RUN_START(_RamfuncsRunStart),
                         RUN_SIZE(_RamfuncsRunSize),
                         RUN_END(_RamfuncsRunEnd),
                         PAGE = 0, ALIGN(8)
    #endif

#endif

   /* The following section definitions are required when using the IPC API Drivers */
    GROUP : > CPU1TOCPU2RAM, PAGE = 1
    {
        PUTBUFFER
        PUTWRITEIDX
        GETREADIDX
    }

    GROUP : > CPU2TOCPU1RAM, PAGE = 1
    {
        GETBUFFER :    TYPE = DSECT
        GETWRITEIDX :  TYPE = DSECT
        PUTREADIDX :   TYPE = DSECT
    }

   /* The following section definition are for SDFM examples */
   Filter1_RegsFile : > RAMGS1,	PAGE = 1, fill=0x1111
   Filter2_RegsFile : > RAMGS2,	PAGE = 1, fill=0x2222
   Filter3_RegsFile : > RAMGS3,	PAGE = 1, fill=0x3333
   Filter4_RegsFile : > RAMGS4,	PAGE = 1, fill=0x4444
   Difference_RegsFile : >RAMGS5, 	PAGE = 1, fill=0x3333
}

/*
//===========================================================================
// End of file.
//===========================================================================
*/

Hi, 

So whenever we are writing using available Flash Apis provided in this document https://www.ti.com/lit/ug/spnu629a/spnu629a.pdf?ts=1681972192498&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FTMS320F28379D, we are writing in each location by checking is the address holding value is 0xFFFFFFFFor not, if found

0xFFFFFFFF then we are writing two words, but when we have iteration of writing , we found this issues as shared in image and we are using Sector J of internal flash and configured same in linker script ( Attached as code snipet). PLease let me know why the reason is happening like this.

Thanks,

Sid C

  • Sid,

    Can you attach your .map file for the same project (should be in the same dir as your .out file). 

    Is your question why Sector J is not erased?

    Best,

    Matthew

  • Hi,

    I have added .map file.

    ******************************************************************************
                 TMS320C2000 Linker PC v22.6.0                     
    ******************************************************************************
    >> Linked Fri Jul 28 14:23:46 2023
    
    OUTPUT FILE NAME:   <Software_Dev_2_3.out>
    ENTRY POINT SYMBOL: "code_start"  address: 00080000
    
    
    MEMORY CONFIGURATION
    
             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
    PAGE 0:
      RAMM0                 00000123   000002dd  00000000  000002dd  RWIX
      RAMLS0                00008000   00000800  000001ee  00000612  RWIX
      RAMLS1                00008800   00000800  00000000  00000800  RWIX
      RAMLS2                00009000   00000800  00000000  00000800  RWIX
      RAMLS3                00009800   00000800  00000000  00000800  RWIX
      RAMLS4                0000a000   00000800  00000000  00000800  RWIX
      RAMD0                 0000b000   00000800  00000000  00000800  RWIX
      RAMGS14               0001a000   00001000  00000000  00001000  RWIX
      RAMGS15               0001b000   00000ff8  00000000  00000ff8  RWIX
      BEGIN                 00080000   00000002  00000002  00000000  RWIX
      FLASHA                00080002   00001ffe  00000000  00001ffe  RWIX
      FLASHB                00082000   00002000  00002000  00000000  RWIX
      FLASHC                00084000   00002000  00000a01  000015ff  RWIX
      FLASHD                00086000   00002000  000001ee  00001e12  RWIX
      FLASHE                00088000   00008000  0000005c  00007fa4  RWIX
      FLASHF                00090000   00008000  00000d27  000072d9  RWIX
      FLASHG                00098000   00008000  00000000  00008000  RWIX
      FLASHH                000a0000   00008000  00000000  00008000  RWIX
      FLASHI                000a8000   00008000  00000000  00008000  RWIX
      FLASHJ                000b0000   00008000  00000000  00008000  RWIX
      FLASHK                000b8000   00002000  00000000  00002000  RWIX
      FLASHL                000ba000   00002000  00000000  00002000  RWIX
      FLASHM                000bc000   00002000  00000000  00002000  RWIX
      FLASHN                000be000   00001ff0  00000000  00001ff0  RWIX
      RESET                 003fffc0   00000002  00000000  00000002  RWIX
    
    PAGE 1:
      BOOT_RSVD             00000002   00000121  00000000  00000121  RWIX
      RAMM1                 00000400   000003f8  00000100  000002f8  RWIX
      RAMLS5                0000a800   00000800  00000106  000006fa  RWIX
      RAMD1                 0000b800   00000800  00000000  00000800  RWIX
      RAMGS0                0000c000   00001000  00000000  00001000  RWIX
      RAMGS1                0000d000   00001000  00000000  00001000  RWIX
      RAMGS2                0000e000   00001000  00000000  00001000  RWIX
      RAMGS3                0000f000   00001000  00000000  00001000  RWIX
      RAMGS4                00010000   00001000  00000000  00001000  RWIX
      RAMGS5                00011000   00001000  00000000  00001000  RWIX
      RAMGS6                00012000   00001000  00000000  00001000  RWIX
      RAMGS7                00013000   00001000  00000000  00001000  RWIX
      RAMGS8                00014000   00001000  00000000  00001000  RWIX
      RAMGS9                00015000   00001000  00000000  00001000  RWIX
      RAMGS10               00016000   00001000  00000000  00001000  RWIX
      RAMGS11               00017000   00001000  00000000  00001000  RWIX
      RAMGS12               00018000   00001000  00000000  00001000  RWIX
      RAMGS13               00019000   00001000  00000000  00001000  RWIX
      CPU2TOCPU1RAM         0003f800   00000400  00000000  00000400  RWIX
      CPU1TOCPU2RAM         0003fc00   00000400  00000000  00000400  RWIX
    
    
    SECTION ALLOCATION MAP
    
     output                                  attributes/
    section   page    origin      length       input sections
    --------  ----  ----------  ----------   ----------------
    codestart 
    *          0    00080000    00000002     
                      00080000    00000002     F2837xD_CodeStartBranch.obj (codestart)
    
    .cinit     0    00088000    0000005c     
                      00088000    00000049     (.cinit..data.load) [load image, compression = lzss]
                      00088049    00000001     --HOLE-- [fill = 0]
                      0008804a    00000006     (__TI_handler_table)
                      00088050    00000004     (.cinit..bss.load) [load image, compression = zero_init]
                      00088054    00000008     (__TI_cinit_table)
    
    .stack     1    00000400    00000100     UNINITIALIZED
                      00000400    00000100     --HOLE--
    
    .reset     0    003fffc0    00000000     DSECT
    
    .init_array 
    *          0    00082000    00000000     UNINITIALIZED
    
    .bss       1    0000a800    00000092     UNINITIALIZED
                      0000a800    00000084     DMM_App_ECB_Serial.obj (.bss:g_RS_485_RxBuffer)
                      0000a884    0000000c     F021_API_F2837xD_EABI.lib : Init.obj (.bss)
                      0000a890    00000001     DMM_App_Command_Handler.obj (.bss)
                      0000a891    00000001     DMM_App_ECB_Serial.obj (.bss)
    
    .data      1    0000a892    00000074     UNINITIALIZED
                      0000a892    00000060     DMM_App_POST_Init.obj (.data:tests)
                      0000a8f2    00000006     device.obj (.data)
                      0000a8f8    00000006     rts2800_fpu32_eabi.lib : exit.c.obj (.data)
                      0000a8fe    00000002                            : _lock.c.obj (.data:_lock)
                      0000a900    00000002                            : _lock.c.obj (.data:_unlock)
                      0000a902    00000001     DMM_App_Command_Handler.obj (.data)
                      0000a903    00000001     DMM_App_ECB_Serial.obj (.data)
                      0000a904    00000001     DMM_App_Response_Handler.obj (.data)
                      0000a905    00000001     DMM_Driver_Timer.obj (.data)
    
    .const     0    00090000    00000d27     
                      00090000    000002cd     DMM_App_Command_Handler.obj (.const:.string)
                      000902cd    00000001     --HOLE-- [fill = 0]
                      000902ce    000000f1     DMM_App_Main.obj (.const:.string)
                      000903bf    00000001     --HOLE-- [fill = 0]
                      000903c0    000000cb     board.obj (.const:.string)
                      0009048b    00000001     --HOLE-- [fill = 0]
                      0009048c    000000c2     driverlib_eabi.lib : sysctl.obj (.const:.string)
                      0009054e    000000bf                        : flash.obj (.const:.string)
                      0009060d    00000001     --HOLE-- [fill = 0]
                      0009060e    000000bc                        : gpio.obj (.const:.string)
                      000906ca    000000bb                        : sci.obj (.const:.string)
                      00090785    00000001     --HOLE-- [fill = 0]
                      00090786    000000bb                        : spi.obj (.const:.string)
                      00090841    00000001     --HOLE-- [fill = 0]
                      00090842    000000ad     DMM_Driver_Timer.obj (.const:.string)
                      000908ef    00000001     --HOLE-- [fill = 0]
                      000908f0    000000ac     DMM_Driver_Int_Flash.obj (.const:.string)
                      0009099c    00000087     DMM_App_POST_Init.obj (.const:.string)
                      00090a23    00000001     --HOLE-- [fill = 0]
                      00090a24    00000086     DMM_App_Flash_Module.obj (.const:.string)
                      00090aaa    00000062     driverlib_eabi.lib : cputimer.obj (.const:.string)
                      00090b0c    00000048     DMM_App_Sys_Init.obj (.const:.string)
                      00090b54    00000044     DMM_Driver_EEPROM.obj (.const:.string)
                      00090b98    00000044     DMM_Driver_GPIO.obj (.const:.string)
                      00090bdc    00000044     DMM_Driver_RS_485.obj (.const:.string)
                      00090c20    00000043     DMM_App_ECB_Serial.obj (.const:.string)
                      00090c63    00000001     --HOLE-- [fill = 0]
                      00090c64    00000043     DMM_Driver_Uart.obj (.const:.string)
                      00090ca7    00000001     --HOLE-- [fill = 0]
                      00090ca8    00000039     DMM_App_Response_Handler.obj (.const:.string)
                      00090ce1    00000001     --HOLE-- [fill = 0]
                      00090ce2    00000031     DMM_App_Write_Command_Exec.obj (.const:.string)
                      00090d13    00000001     --HOLE-- [fill = 0]
                      00090d14    00000013     device.obj (.const:.string)
    
    .TI.ramfunc 
    *          0    00086000    000001ee     RUN ADDR = 00008000
                      00086000    00000082     DMM_Driver_Int_Flash.obj (.TI.ramfunc)
                      00086082    00000044     DMM_App_Flash_Module.obj (.TI.ramfunc)
                      000860c6    00000043     driverlib_eabi.lib : flash.obj (.TI.ramfunc:Flash_initModule)
                      00086109    0000002c                        : flash.obj (.TI.ramfunc:Flash_setBankPowerMode)
                      00086135    00000024                        : flash.obj (.TI.ramfunc:Flash_setWaitstates)
                      00086159    0000001d                        : flash.obj (.TI.ramfunc:Flash_setPumpPowerMode)
                      00086176    00000018                        : flash.obj (.TI.ramfunc:Flash_disableCache)
                      0008618e    00000018                        : flash.obj (.TI.ramfunc:Flash_disablePrefetch)
                      000861a6    00000017                        : flash.obj (.TI.ramfunc:Flash_enableCache)
                      000861bd    00000017                        : flash.obj (.TI.ramfunc:Flash_enablePrefetch)
                      000861d4    00000016                        : flash.obj (.TI.ramfunc:Flash_enableECC)
                      000861ea    00000004                        : sysctl.obj (.TI.ramfunc)
    
    GETBUFFER 
    *          0    0003f800    00000000     DSECT
    
    GETWRITEIDX 
    *          0    0003f800    00000000     DSECT
    
    PUTREADIDX 
    *          0    0003f800    00000000     DSECT
    
    .text.1    0    00082000    00002000     
                      00082000    000004ec     board.obj (.text)
                      000824ec    000003fb     device.obj (.text)
                      000828e7    000002d1     F021_API_F2837xD_EABI.lib : FlashStateMachine.obj (.text:_Fapi_setupFlashStateMachine)
                      00082bb8    00000231     DMM_Driver_EEPROM.obj (.text)
                      00082de9    00000206     driverlib_eabi.lib : sysctl.obj (.text:SysCtl_setClock)
                      00082fef    000001a3     DMM_App_POST_Init.obj (.text)
                      00083192    000001a1     DMM_App_Command_Handler.obj (.text)
                      00083333    0000018b     F021_API_F2837xD_EABI.lib : Program.obj (.text:Fapi_issueProgrammingCommand)
                      000834be    00000135     DMM_App_Main.obj (.text)
                      000835f3    000000f4     DMM_Driver_Timer.obj (.text)
                      000836e7    000000cb     DMM_Driver_Uart.obj (.text)
                      000837b2    00000094     driverlib_eabi.lib : spi.obj (.text:SPI_pollingFIFOTransaction)
                      00083846    00000090     DMM_Driver_GPIO.obj (.text)
                      000838d6    0000008d     DMM_Driver_RS_485.obj (.text)
                      00083963    0000008a     driverlib_eabi.lib : sysctl.obj (.text:SysCtl_selectXTAL)
                      000839ed    00000088     rts2800_fpu32_eabi.lib : fs_div28.asm.obj (.text)
                      00083a75    00000082     DMM_App_Sys_Init.obj (.text)
                      00083af7    00000081     F021_API_F2837xD_EABI.lib : Read.obj (.text:_Fapi_checkRegionForValue)
                      00083b78    00000080                               : Read.obj (.text:_Fapi_loopRegionForValue)
                      00083bf8    00000079                               : Fapi_UserDefinedFunctions.obj (.text:Fapi_setupEepromSectorEnable)
                      00083c71    00000069     DMM_App_Write_Command_Exec.obj (.text)
                      00083cda    00000068     DMM_App_SerialDebug.obj (.text)
                      00083d42    00000068     driverlib_eabi.lib : sysctl.obj (.text:SysCtl_getDeviceParametric)
                      00083daa    0000005e     DMM_Driver_SPI.obj (.text)
                      00083e08    0000005c     driverlib_eabi.lib : spi.obj (.text:SPI_setConfig)
                      00083e64    00000052                        : gpio.obj (.text:GPIO_setPadConfig)
                      00083eb6    00000051                        : sysctl.obj (.text:SysCtl_getClock)
                      00083f07    0000004f     DMM_App_ECB_Serial.obj (.text:retain)
                      00083f56    0000004d     DMM_App_Response_Handler.obj (.text)
                      00083fa3    00000048     driverlib_eabi.lib : sysctl.obj (.text:SysCtl_selectOscSource)
                      00083feb    00000015                        : spi.obj (.text:SPI_readDataBlockingFIFO)
    
    .text.2    0    00084000    00000a01     
                      00084000    00000045     driverlib_eabi.lib : sci.obj (.text:SCI_clearInterruptStatus)
                      00084045    00000045                        : sci.obj (.text:SCI_disableInterrupt)
                      0008408a    00000045     F021_API_F2837xD_EABI.lib : FlashStateMachine.obj (.text:_Fapi_issueFsmCommand)
                      000840cf    00000044     driverlib_eabi.lib : sci.obj (.text:SCI_enableInterrupt)
                      00084113    00000044     DMM_Driver_Timer.obj (.text:retain)
                      00084157    00000042     DMM_App_Flash_Module.obj (.text)
                      00084199    00000041     DMM_App_ECB_Serial.obj (.text)
                      000841da    00000041     F021_API_F2837xD_EABI.lib : Init.obj (.text:Fapi_initializeAPI)
                      0008421b    00000041     driverlib_eabi.lib : sci.obj (.text:SCI_writeCharArray)
                      0008425c    0000003e                        : sci.obj (.text:SCI_setConfig)
                      0008429a    0000003d                        : interrupt.obj (.text:Interrupt_initModule)
                      000842d7    00000037                        : gpio.obj (.text:GPIO_setMasterCore)
                      0008430e    00000037                        : gpio.obj (.text:GPIO_setPinConfig)
                      00084345    00000037                        : gpio.obj (.text:GPIO_setQualificationMode)
                      0008437c    00000037                        : interrupt.obj (.text:Interrupt_enable)
                      000843b3    00000034     F021_API_F2837xD_EABI.lib : BlankCheck.obj (.text:Fapi_doBlankCheck)
                      000843e7    00000031     driverlib_eabi.lib : gpio.obj (.text:GPIO_setDirectionMode)
                      00084418    0000002f     F021_API_F2837xD_EABI.lib : Fapi_UserDefinedFunctions.obj (.text:Fapi_setupBankSectorEnable)
                      00084447    0000002e     rts2800_fpu32_eabi.lib : copy_decompress_lzss.c.obj (.text:decompress:lzss)
                      00084475    0000002c     F021_API_F2837xD_EABI.lib : Utilities.obj (.text:Fapi_calculateFletcherChecksum)
                      000844a1    0000002b     rts2800_fpu32_eabi.lib : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit)
                      000844cc    0000002a     F021_API_F2837xD_EABI.lib : Utilities.obj (.text:_Fapi_divideUnsignedLong)
                      000844f6    0000002a     rts2800_fpu32_eabi.lib : l_div28.asm.obj (.text)
                      00084520    00000029     F021_API_F2837xD_EABI.lib : FlashStateMachine.obj (.text:Fapi_setActiveFlashBank)
                      00084549    00000029     rts2800_fpu32_eabi.lib : exit.c.obj (.text)
                      00084572    00000026     driverlib_eabi.lib : flash.obj (.text:Flash_setBankPowerUpDelay)
                      00084598    00000025     F021_API_F2837xD_EABI.lib : FlashStateMachine.obj (.text:_Fapi_setupSectorsForWrite)
                      000845bd    00000022                               : FlashStateMachine.obj (.text:Fapi_isAddressEcc)
                      000845df    00000021     driverlib_eabi.lib : sysctl.obj (.text:CPUTimer_selectClockSource)
                      00084600    00000021     F021_API_F2837xD_EABI.lib : Async.obj (.text:Fapi_issueAsyncCommandWithAddress)
                      00084621    00000020     driverlib_eabi.lib : sci.obj (.text:SCI_isFIFOEnabled)
                      00084641    0000001f                        : sysctl.obj (.text:CPUTimer_getTimerOverflowStatus)
                      00084660    0000001e                        : interrupt.obj (.text:Interrupt_initVectorTable)
                      0008467e    0000001d                        : spi.obj (.text:SPI_setTxFifoTransmitDelay)
                      0008469b    0000001d     rts2800_fpu32_eabi.lib : memcpy.c.obj (.text)
                      000846b8    0000001c     driverlib_eabi.lib : spi.obj (.text:SPI_setcharLength)
                      000846d4    0000001b                        : sci.obj (.text:SCI_isBaseValid)
                      000846ef    0000001a                        : sysctl.obj (.text:CPUTimer_startTimer)
                      00084709    0000001a                        : sci.obj (.text:SCI_isSpaceAvailableNonFIFO)
                      00084723    0000001a                        : sysctl.obj (.text:SysCtl_getLowSpeedClock)
                      0008473d    00000019                        : spi.obj (.text:SPI_writeDataBlockingFIFO)
                      00084756    00000018                        : sci.obj (.text:SCI_disableModule)
                      0008476e    00000018                        : sci.obj (.text:SCI_performSoftwareReset)
                      00084786    00000018                        : spi.obj (.text:SPI_disableFIFO)
                      0008479e    00000018                        : spi.obj (.text:SPI_enableFIFO)
                      000847b6    00000017                        : cputimer.obj (.text:CPUTimer_isBaseValid)
                      000847cd    00000017                        : sysctl.obj (.text:CPUTimer_isBaseValid)
                      000847e4    00000017                        : spi.obj (.text:SPI_isBaseValid)
                      000847fb    00000017     rts2800_fpu32_eabi.lib : boot28.asm.obj (.text)
                      00084812    00000014     driverlib_eabi.lib : sysctl.obj (.text:CPUTimer_stopTimer)
                      00084826    00000014                        : sci.obj (.text:SCI_getTxFIFOStatus)
                      0008483a    00000014                        : spi.obj (.text:SPI_getRxFIFOStatus)
                      0008484e    00000014                        : spi.obj (.text:SPI_getTxFIFOStatus)
                      00084862    00000013                        : cputimer.obj (.text:CPUTimer_setEmulationMode)
                      00084875    00000013     F021_API_F2837xD_EABI.lib : Read.obj (.text:Fapi_flushPipeline)
                      00084888    00000013     driverlib_eabi.lib : sci.obj (.text:SCI_enableModule)
                      0008489b    00000013     rts2800_fpu32_eabi.lib : memcmp.c.obj (.text)
                      000848ae    00000012     driverlib_eabi.lib : sysctl.obj (.text:CPUTimer_clearOverflowFlag)
                      000848c0    00000012                        : sysctl.obj (.text:CPUTimer_disableInterrupt)
                      000848d2    00000011                        : sysctl.obj (.text:CPUTimer_setPeriod)
                      000848e3    00000011                        : spi.obj (.text:SPI_disableModule)
                      000848f4    00000011                        : spi.obj (.text:SPI_enableModule)
                      00084905    00000010                        : flash.obj (.text:Flash_isCtrlBaseValid)
                      00084915    00000010                        : flash.obj (.text:Flash_isECCBaseValid)
                      00084925    0000000f     F021_API_F2837xD_EABI.lib : Verify.obj (.text:Fapi_doVerify)
                      00084934    0000000f     driverlib_eabi.lib : sysctl.obj (.text:SysCtl_pollCpuTimer)
                      00084943    0000000e                        : gpio.obj (.text:GPIO_isPinValid)
                      00084951    0000000e                        : interrupt.obj (.text:Interrupt_defaultHandler)
                      0008495f    0000000d                        : interrupt.obj (.text:Interrupt_disableMaster)
                      0008496c    0000000d                        : interrupt.obj (.text:Interrupt_enableMaster)
                      00084979    0000000d     F021_API_F2837xD_EABI.lib : Utilities.obj (.text:_Fapi_scaleCycleValues)
                      00084986    0000000d     rts2800_fpu32_eabi.lib : copy_zero_init.c.obj (.text:decompress:ZI:__TI_zero_init_nomemset)
                      00084993    0000000c                            : args_main.c.obj (.text)
                      0008499f    0000000b     F021_API_F2837xD_EABI.lib : FlashStateMachine.obj (.text:Fapi_checkFsmForReady)
                      000849aa    0000000b     driverlib_eabi.lib : sysctl.obj (.text:SysCtl_isMCDClockFailureDetected)
                      000849b5    0000000b     F021_API_F2837xD_EABI.lib : Utilities.obj (.text:_Fapi_calculateOtpChecksum)
                      000849c0    00000009     driverlib_eabi.lib : sysctl.obj (.text:SysCtl_serviceWatchdog)
                      000849c9    00000009     rts2800_fpu32_eabi.lib : _lock.c.obj (.text)
                      000849d2    00000008     F2837xD_CodeStartBranch.obj (.text)
                      000849da    00000008     rts2800_fpu32_eabi.lib : copy_decompress_none.c.obj (.text:decompress:none)
                      000849e2    00000008                            : strlen.c.obj (.text)
                      000849ea    00000007     F021_API_F2837xD_EABI.lib : FlashStateMachine.obj (.text:Fapi_getFsmStatus)
                      000849f1    00000007     driverlib_eabi.lib : sysctl.obj (.text:SysCtl_resetMCD)
                      000849f8    00000002     F021_API_F2837xD_EABI.lib : Fapi_UserDefinedFunctions.obj (.text:Fapi_serviceWatchdogTimer)
                      000849fa    00000002     driverlib_eabi.lib : interrupt.obj (.text:Interrupt_illegalOperationHandler)
                      000849fc    00000002                        : interrupt.obj (.text:Interrupt_nmiHandler)
                      000849fe    00000002     rts2800_fpu32_eabi.lib : pre_init.c.obj (.text)
                      00084a00    00000001                            : startup.c.obj (.text)
    
    MODULE SUMMARY
    
           Module                           code    ro data   rw data
           ------                           ----    -------   -------
        .\
           DMM_App_Main.obj                 309     241       0      
        +--+--------------------------------+-------+---------+---------+
           Total:                           309     241       0      
                                                                     
        .\Board\
           board.obj                        1260    203       0      
        +--+--------------------------------+-------+---------+---------+
           Total:                           1260    203       0      
                                                                     
        .\SOURCE\DMM_APPLICATION\
           DMM_App_POST_Init.obj            419     135       96     
           DMM_App_ECB_Serial.obj           144     67        134    
           DMM_App_Flash_Module.obj         202     134       0      
           DMM_App_Sys_Init.obj             130     72        0      
           DMM_App_Response_Handler.obj     77      57        1      
           DMM_App_SerialDebug.obj          104     0         0      
        +--+--------------------------------+-------+---------+---------+
           Total:                           1076    465       231    
                                                                     
        .\SOURCE\DMM_APPLICATION\COMMAND_HANDLER\
           DMM_App_Command_Handler.obj      417     717       2      
           DMM_App_Write_Command_Exec.obj   105     49        0      
        +--+--------------------------------+-------+---------+---------+
           Total:                           522     766       2      
                                                                     
        .\SOURCE\DMM_DRIVER\
           DMM_Driver_EEPROM.obj            561     68        0      
           DMM_Driver_Timer.obj             312     173       1      
           DMM_Driver_Int_Flash.obj         260     172       0      
           DMM_Driver_Uart.obj              203     67        0      
           DMM_Driver_GPIO.obj              144     68        0      
           DMM_Driver_RS_485.obj            141     68        0      
           DMM_Driver_SPI.obj               94      0         0      
        +--+--------------------------------+-------+---------+---------+
           Total:                           1715    616       1      
                                                                     
        .\device\
           device.obj                       1019    19        6      
           F2837xD_CodeStartBranch.obj      10      0         0      
        +--+--------------------------------+-------+---------+---------+
           Total:                           1029    19        6      
                                                                     
        ../lib/F021_API_F2837xD_EABI.lib
           FlashStateMachine.obj            920     0         0      
           Program.obj                      395     0         0      
           Read.obj                         276     0         0      
           Fapi_UserDefinedFunctions.obj    170     0         0      
           Utilities.obj                    110     0         0      
           Init.obj                         65      0         12     
           BlankCheck.obj                   52      0         0      
           Async.obj                        33      0         0      
           Verify.obj                       15      0         0      
        +--+--------------------------------+-------+---------+---------+
           Total:                           2036    0         12     
                                                                     
        C:\ti\c2000\C2000Ware_4_02_00_00\driverlib\f2837xd\driverlib\ccs\Debug\driverlib_eabi.lib
           sysctl.obj                       1175    194       0      
           flash.obj                        654     191       0      
           sci.obj                          505     187       0      
           spi.obj                          488     187       0      
           gpio.obj                         310     188       0      
           interrupt.obj                    190     0         0      
           cputimer.obj                     42      98        0      
        +--+--------------------------------+-------+---------+---------+
           Total:                           3364    1045      0      
                                                                     
        C:\ti\ccs1010\ccs\tools\compiler\ti-cgt-c2000_22.6.0.LTS\lib\rts2800_fpu32_eabi.lib
           fs_div28.asm.obj                 136     0         0      
           exit.c.obj                       41      0         6      
           copy_decompress_lzss.c.obj       46      0         0      
           autoinit.c.obj                   43      0         0      
           l_div28.asm.obj                  42      0         0      
           memcpy.c.obj                     29      0         0      
           boot28.asm.obj                   23      0         0      
           memcmp.c.obj                     19      0         0      
           _lock.c.obj                      9       0         4      
           copy_zero_init.c.obj             13      0         0      
           args_main.c.obj                  12      0         0      
           copy_decompress_none.c.obj       8       0         0      
           strlen.c.obj                     8       0         0      
           pre_init.c.obj                   2       0         0      
           startup.c.obj                    1       0         0      
        +--+--------------------------------+-------+---------+---------+
           Total:                           432     0         10     
                                                                     
           Stack:                           0       0         256    
           Linker Generated:                0       91        0      
        +--+--------------------------------+-------+---------+---------+
           Grand Total:                     11743   3446      518    
    
    
    LINKER GENERATED COPY TABLES
    
    __TI_cinit_table @ 00088054 records: 2, size/record: 4, table size: 8
    	.data: load addr=00088000, load size=00000049 bytes, run addr=0000a892, run size=00000074 bytes, compression=lzss
    	.bss: load addr=00088050, load size=00000004 bytes, run addr=0000a800, run size=00000092 bytes, compression=zero_init
    
    
    LINKER GENERATED HANDLER TABLE
    
    __TI_handler_table @ 0008804a records: 3, size/record: 2, table size: 6
    	index: 0, handler: __TI_zero_init
    	index: 1, handler: __TI_decompress_lzss
    	index: 2, handler: __TI_decompress_none
    
    
    GLOBAL DATA SYMBOLS: SORTED BY DATA PAGE
    
    address     data page           name
    --------    ----------------    ----
    00000400      10 (00000400)     __stack
    
    0000a800     2a0 (0000a800)     g_RS_485_RxBuffer
    
    0000a884     2a2 (0000a880)     Fapi_GlobalInit
    0000a890     2a2 (0000a880)     g_WrAck
    0000a891     2a2 (0000a880)     g_RS_485_RxInterrupt
    0000a892     2a2 (0000a880)     tests
    
    0000a8f2     2a3 (0000a8c0)     Example_Result
    0000a8f4     2a3 (0000a8c0)     Example_PassCount
    0000a8f6     2a3 (0000a8c0)     Example_Fail
    0000a8f8     2a3 (0000a8c0)     __TI_enable_exit_profile_output
    0000a8fa     2a3 (0000a8c0)     __TI_cleanup_ptr
    0000a8fc     2a3 (0000a8c0)     __TI_dtors_ptr
    0000a8fe     2a3 (0000a8c0)     _lock
    
    0000a900     2a4 (0000a900)     _unlock
    0000a902     2a4 (0000a900)     Cmd_Rec
    0000a903     2a4 (0000a900)     g_head
    0000a904     2a4 (0000a900)     g_Statusword
    0000a905     2a4 (0000a900)     g_timerOverflow
    
    
    GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 
    
    page  address   name                                     
    ----  -------   ----                                     
    0     000821e0  Board_init                               
    0     00084549  C$$EXIT                                  
    0     00084862  CPUTimer_setEmulationMode                
    1     0000a902  Cmd_Rec                                  
    0     00083297  Command_Execution                        
    0     0008323f  Command_Validation                       
    0     000836b9  ConfigCPUTimer                           
    0     00083c71  DMM_App_Add_Entry                        
    0     00083cbe  DMM_App_Get_EEPROMAddress                
    0     00083f56  DMM_App_Response_Handler                 
    0     00083cda  DMM_App_Serial_Print                     
    0     00083ce3  DMM_App_Serial_Print_Integer             
    0     00083d39  DMM_App_Serial_Receive                   
    0     00083ab6  DMM_App_SystemInit                       
    0     000841cd  DMM_ECB_Transmit                         
    0     0000808d  DMM_Flash_Erase_Sector                   
    0     00008082  DMM_Flash_Init                           
    0     000080a5  DMM_Flash_Program                        
    0     0008275b  Device_bootCPU2                          
    0     0008272a  Device_configureTMXAnalogTrim            
    0     000825d8  Device_enableAllPeripherals              
    0     00082714  Device_enableUnbondedGPIOPullups         
    0     000826f7  Device_enableUnbondedGPIOPullupsFor100Pin
    0     000826e4  Device_enableUnbondedGPIOPullupsFor176Pin
    0     00082583  Device_init                              
    0     000826c3  Device_initGPIO                          
    0     00083146  EEPROMDataIntegritytest                  
    0     000824c3  EEPROM_2_init                            
    0     00082cba  EEPROM_ChipErase                         
    0     00082dd8  EEPROM_Init                              
    0     00082bed  EEPROM_Read                              
    0     00082d40  EEPROM_Read_Status_Register              
    0     00082d6c  EEPROM_Update_BlockPins                  
    0     00082ce4  EEPROM_Update_WPEN                       
    0     000823c6  EEPROM_WP2_init                          
    0     000822fd  EEPROM_WP_init                           
    0     00082c4c  EEPROM_Write                             
    0     0008249a  EEPROM_init                              
    1     0000a8f6  Example_Fail                             
    1     0000a8f4  Example_PassCount                        
    1     0000a8f2  Example_Result                           
    0     000828e6  Example_done                             
    0     000828e1  Example_setResultFail                    
    0     000828dc  Example_setResultPass                    
    1     0000a884  Fapi_GlobalInit                          
    0     00084475  Fapi_calculateFletcherChecksum           
    0     0008499f  Fapi_checkFsmForReady                    
    0     000843b3  Fapi_doBlankCheck                        
    0     00084925  Fapi_doVerify                            
    0     00084875  Fapi_flushPipeline                       
    0     000849ea  Fapi_getFsmStatus                        
    0     000841da  Fapi_initializeAPI                       
    0     000845bd  Fapi_isAddressEcc                        
    0     00084600  Fapi_issueAsyncCommandWithAddress        
    0     00083333  Fapi_issueProgrammingCommand             
    0     000849f8  Fapi_serviceWatchdogTimer                
    0     00084520  Fapi_setActiveFlashBank                  
    0     00084418  Fapi_setupBankSectorEnable               
    0     00083bf8  Fapi_setupEepromSectorEnable             
    0     000080c6  Flash_initModule                         
    0     00082371  GPIO_EXTRA_1_init                        
    0     00082385  GPIO_EXTRA_2_init                        
    0     00082399  GPIO_EXTRA_3_init                        
    0     000823f8  GPIO_XLCKOUT_init                        
    0     000822e4  GPIO_init                                
    0     000843e7  GPIO_setDirectionMode                    
    0     000842d7  GPIO_setMasterCore                       
    0     00083e64  GPIO_setPadConfig                        
    0     0008430e  GPIO_setPinConfig                        
    0     00084345  GPIO_setQualificationMode                
    0     000831eb  Get_Cmd_details                          
    0     000836a2  InitCPUTimers                            
    0     00083169  InternalFlashtest                        
    0     0008437c  Interrupt_enable                         
    0     0008429a  Interrupt_initModule                     
    0     00084660  Interrupt_initVectorTable                
    0     0008233f  LED_1_init                               
    0     00082358  LED_2_init                               
    0     0000801a  MCU_Flash_Erase_Sector                   
    0     00008000  MCU_Flash_Init                           
    0     0000804e  MCU_Flash_Program                        
    0     000838c3  MCU_GPIO_Read_Pin                        
    0     000838bd  MCU_GPIO_Toggle_Pin                      
    0     000838cd  MCU_GPIO_Write_Pin                       
    0     00083abf  MCU_Interrupt_Handler_init               
    0     00083951  MCU_RS_485_Rx_Data                       
    0     0008392c  MCU_RS_485_Tx_Data                       
    0     00083df5  MCU_SPI_Receive_Data                     
    0     00083daa  MCU_SPI_Transmit_DataByte                
    0     00083dd0  MCU_SPI_Transmit_Data_16bits             
    0     0008390b  MCU_Set_RS485_Mode                       
    0     0008378a  MCU_UART_Rx_Byte                         
    0     00083796  MCU_UART_Rx_String                       
    0     00083771  MCU_UART_Tx_Byte                         
    0     0008377b  MCU_UART_Tx_String                       
    0     000821eb  PinMux_init                              
    0     00082316  RS_485_DE_init                           
    0     0008232a  RS_485_RE_init                           
    0     000861ee  RamfuncsLoadEnd                          
    abs   000001ee  RamfuncsLoadSize                         
    0     00086000  RamfuncsLoadStart                        
    0     000081ee  RamfuncsRunEnd                           
    abs   000001ee  RamfuncsRunSize                          
    0     00008000  RamfuncsRunStart                         
    0     00084000  SCI_clearInterruptStatus                 
    0     00084045  SCI_disableInterrupt                     
    0     000840cf  SCI_enableInterrupt                      
    0     0008240c  SCI_init                                 
    0     0008425c  SCI_setConfig                            
    0     0008421b  SCI_writeCharArray                       
    0     00083127  SPILoopBacktest                          
    0     000823df  SPI_CS2_init                             
    0     000823ad  SPI_CS_init                              
    0     00082495  SPI_init                                 
    0     000837b2  SPI_pollingFIFOTransaction               
    0     00083e08  SPI_setConfig                            
    0     000081ea  SysCtl_delay                             
    0     00083eb6  SysCtl_getClock                          
    0     00083d42  SysCtl_getDeviceParametric               
    0     00084723  SysCtl_getLowSpeedClock                  
    0     00083fa3  SysCtl_selectOscSource                   
    0     00083963  SysCtl_selectXTAL                        
    0     00082de9  SysCtl_setClock                          
    0     00082411  UART_DEBUG_init                          
    0     00082448  UART_RS485_init                          
    0     00083108  UartLoopBacktest                         
    0     000849b5  _Fapi_calculateOtpChecksum               
    0     00083af7  _Fapi_checkRegionForValue                
    0     000844cc  _Fapi_divideUnsignedLong                 
    0     0008408a  _Fapi_issueFsmCommand                    
    0     00083b78  _Fapi_loopRegionForValue                 
    0     00084979  _Fapi_scaleCycleValues                   
    0     00084598  _Fapi_setupSectorsForWrite               
    0     00088054  __TI_CINIT_Base                          
    0     0008805c  __TI_CINIT_Limit                         
    0     0008805c  __TI_CINIT_Warm                          
    0     0008804a  __TI_Handler_Table_Base                  
    0     00088050  __TI_Handler_Table_Limit                 
    1     00000500  __TI_STACK_END                           
    abs   00000100  __TI_STACK_SIZE                          
    0     000844a1  __TI_auto_init_nobinit_nopinit           
    1     0000a8fa  __TI_cleanup_ptr                         
    0     00084447  __TI_decompress_lzss                     
    0     000849da  __TI_decompress_none                     
    1     0000a8fc  __TI_dtors_ptr                           
    1     0000a8f8  __TI_enable_exit_profile_output          
    abs   ffffffff  __TI_pprof_out_hndl                      
    abs   ffffffff  __TI_prof_data_size                      
    abs   ffffffff  __TI_prof_data_start                     
    0     00084986  __TI_zero_init_nomemset                  
    0     000839ed  __c28xabi_divf                           
    0     000844f6  __c28xabi_divl                           
    0     00084513  __c28xabi_divul                          
    0     00084505  __c28xabi_modl                           
    0     0008451a  __c28xabi_modul                          
    n/a   UNDEFED   __c_args__                               
    0     000828d5  __error__                                
    1     00000400  __stack                                  
    0     00084993  _args_main                               
    0     000847fb  _c_int00                                 
    1     0000a8fe  _lock                                    
    0     000849d1  _nop                                     
    0     000849cd  _register_lock                           
    0     000849c9  _register_unlock                         
    0     00084a00  _system_post_cinit                       
    0     000849fe  _system_pre_init                         
    1     0000a900  _unlock                                  
    0     00084549  abort                                    
    0     00080000  code_start                               
    0     00084113  cpuTimer0ISR                             
    0     0008454b  exit                                     
    1     0000a800  g_RS_485_RxBuffer                        
    1     0000a891  g_RS_485_RxInterrupt                     
    1     0000a904  g_Statusword                             
    1     0000a890  g_WrAck                                  
    1     0000a903  g_head                                   
    1     0000a905  g_timerOverflow                          
    0     00083517  main                                     
    0     0008489b  memcmp                                   
    0     0008469b  memcpy                                   
    0     0008317c  runAllTests                              
    0     0008316f  runSingleTest                            
    0     00083f07  scibRXFIFOISR                            
    0     000849e2  strlen                                   
    1     0000a892  tests                                    
    
    
    GLOBAL SYMBOLS: SORTED BY Symbol Address 
    
    page  address   name                                     
    ----  -------   ----                                     
    0     00008000  MCU_Flash_Init                           
    0     00008000  RamfuncsRunStart                         
    0     0000801a  MCU_Flash_Erase_Sector                   
    0     0000804e  MCU_Flash_Program                        
    0     00008082  DMM_Flash_Init                           
    0     0000808d  DMM_Flash_Erase_Sector                   
    0     000080a5  DMM_Flash_Program                        
    0     000080c6  Flash_initModule                         
    0     000081ea  SysCtl_delay                             
    0     000081ee  RamfuncsRunEnd                           
    0     00080000  code_start                               
    0     000821e0  Board_init                               
    0     000821eb  PinMux_init                              
    0     000822e4  GPIO_init                                
    0     000822fd  EEPROM_WP_init                           
    0     00082316  RS_485_DE_init                           
    0     0008232a  RS_485_RE_init                           
    0     0008233f  LED_1_init                               
    0     00082358  LED_2_init                               
    0     00082371  GPIO_EXTRA_1_init                        
    0     00082385  GPIO_EXTRA_2_init                        
    0     00082399  GPIO_EXTRA_3_init                        
    0     000823ad  SPI_CS_init                              
    0     000823c6  EEPROM_WP2_init                          
    0     000823df  SPI_CS2_init                             
    0     000823f8  GPIO_XLCKOUT_init                        
    0     0008240c  SCI_init                                 
    0     00082411  UART_DEBUG_init                          
    0     00082448  UART_RS485_init                          
    0     00082495  SPI_init                                 
    0     0008249a  EEPROM_init                              
    0     000824c3  EEPROM_2_init                            
    0     00082583  Device_init                              
    0     000825d8  Device_enableAllPeripherals              
    0     000826c3  Device_initGPIO                          
    0     000826e4  Device_enableUnbondedGPIOPullupsFor176Pin
    0     000826f7  Device_enableUnbondedGPIOPullupsFor100Pin
    0     00082714  Device_enableUnbondedGPIOPullups         
    0     0008272a  Device_configureTMXAnalogTrim            
    0     0008275b  Device_bootCPU2                          
    0     000828d5  __error__                                
    0     000828dc  Example_setResultPass                    
    0     000828e1  Example_setResultFail                    
    0     000828e6  Example_done                             
    0     00082bed  EEPROM_Read                              
    0     00082c4c  EEPROM_Write                             
    0     00082cba  EEPROM_ChipErase                         
    0     00082ce4  EEPROM_Update_WPEN                       
    0     00082d40  EEPROM_Read_Status_Register              
    0     00082d6c  EEPROM_Update_BlockPins                  
    0     00082dd8  EEPROM_Init                              
    0     00082de9  SysCtl_setClock                          
    0     00083108  UartLoopBacktest                         
    0     00083127  SPILoopBacktest                          
    0     00083146  EEPROMDataIntegritytest                  
    0     00083169  InternalFlashtest                        
    0     0008316f  runSingleTest                            
    0     0008317c  runAllTests                              
    0     000831eb  Get_Cmd_details                          
    0     0008323f  Command_Validation                       
    0     00083297  Command_Execution                        
    0     00083333  Fapi_issueProgrammingCommand             
    0     00083517  main                                     
    0     000836a2  InitCPUTimers                            
    0     000836b9  ConfigCPUTimer                           
    0     00083771  MCU_UART_Tx_Byte                         
    0     0008377b  MCU_UART_Tx_String                       
    0     0008378a  MCU_UART_Rx_Byte                         
    0     00083796  MCU_UART_Rx_String                       
    0     000837b2  SPI_pollingFIFOTransaction               
    0     000838bd  MCU_GPIO_Toggle_Pin                      
    0     000838c3  MCU_GPIO_Read_Pin                        
    0     000838cd  MCU_GPIO_Write_Pin                       
    0     0008390b  MCU_Set_RS485_Mode                       
    0     0008392c  MCU_RS_485_Tx_Data                       
    0     00083951  MCU_RS_485_Rx_Data                       
    0     00083963  SysCtl_selectXTAL                        
    0     000839ed  __c28xabi_divf                           
    0     00083ab6  DMM_App_SystemInit                       
    0     00083abf  MCU_Interrupt_Handler_init               
    0     00083af7  _Fapi_checkRegionForValue                
    0     00083b78  _Fapi_loopRegionForValue                 
    0     00083bf8  Fapi_setupEepromSectorEnable             
    0     00083c71  DMM_App_Add_Entry                        
    0     00083cbe  DMM_App_Get_EEPROMAddress                
    0     00083cda  DMM_App_Serial_Print                     
    0     00083ce3  DMM_App_Serial_Print_Integer             
    0     00083d39  DMM_App_Serial_Receive                   
    0     00083d42  SysCtl_getDeviceParametric               
    0     00083daa  MCU_SPI_Transmit_DataByte                
    0     00083dd0  MCU_SPI_Transmit_Data_16bits             
    0     00083df5  MCU_SPI_Receive_Data                     
    0     00083e08  SPI_setConfig                            
    0     00083e64  GPIO_setPadConfig                        
    0     00083eb6  SysCtl_getClock                          
    0     00083f07  scibRXFIFOISR                            
    0     00083f56  DMM_App_Response_Handler                 
    0     00083fa3  SysCtl_selectOscSource                   
    0     00084000  SCI_clearInterruptStatus                 
    0     00084045  SCI_disableInterrupt                     
    0     0008408a  _Fapi_issueFsmCommand                    
    0     000840cf  SCI_enableInterrupt                      
    0     00084113  cpuTimer0ISR                             
    0     000841cd  DMM_ECB_Transmit                         
    0     000841da  Fapi_initializeAPI                       
    0     0008421b  SCI_writeCharArray                       
    0     0008425c  SCI_setConfig                            
    0     0008429a  Interrupt_initModule                     
    0     000842d7  GPIO_setMasterCore                       
    0     0008430e  GPIO_setPinConfig                        
    0     00084345  GPIO_setQualificationMode                
    0     0008437c  Interrupt_enable                         
    0     000843b3  Fapi_doBlankCheck                        
    0     000843e7  GPIO_setDirectionMode                    
    0     00084418  Fapi_setupBankSectorEnable               
    0     00084447  __TI_decompress_lzss                     
    0     00084475  Fapi_calculateFletcherChecksum           
    0     000844a1  __TI_auto_init_nobinit_nopinit           
    0     000844cc  _Fapi_divideUnsignedLong                 
    0     000844f6  __c28xabi_divl                           
    0     00084505  __c28xabi_modl                           
    0     00084513  __c28xabi_divul                          
    0     0008451a  __c28xabi_modul                          
    0     00084520  Fapi_setActiveFlashBank                  
    0     00084549  C$$EXIT                                  
    0     00084549  abort                                    
    0     0008454b  exit                                     
    0     00084598  _Fapi_setupSectorsForWrite               
    0     000845bd  Fapi_isAddressEcc                        
    0     00084600  Fapi_issueAsyncCommandWithAddress        
    0     00084660  Interrupt_initVectorTable                
    0     0008469b  memcpy                                   
    0     00084723  SysCtl_getLowSpeedClock                  
    0     000847fb  _c_int00                                 
    0     00084862  CPUTimer_setEmulationMode                
    0     00084875  Fapi_flushPipeline                       
    0     0008489b  memcmp                                   
    0     00084925  Fapi_doVerify                            
    0     00084979  _Fapi_scaleCycleValues                   
    0     00084986  __TI_zero_init_nomemset                  
    0     00084993  _args_main                               
    0     0008499f  Fapi_checkFsmForReady                    
    0     000849b5  _Fapi_calculateOtpChecksum               
    0     000849c9  _register_unlock                         
    0     000849cd  _register_lock                           
    0     000849d1  _nop                                     
    0     000849da  __TI_decompress_none                     
    0     000849e2  strlen                                   
    0     000849ea  Fapi_getFsmStatus                        
    0     000849f8  Fapi_serviceWatchdogTimer                
    0     000849fe  _system_pre_init                         
    0     00084a00  _system_post_cinit                       
    0     00086000  RamfuncsLoadStart                        
    0     000861ee  RamfuncsLoadEnd                          
    0     0008804a  __TI_Handler_Table_Base                  
    0     00088050  __TI_Handler_Table_Limit                 
    0     00088054  __TI_CINIT_Base                          
    0     0008805c  __TI_CINIT_Limit                         
    0     0008805c  __TI_CINIT_Warm                          
    1     00000400  __stack                                  
    1     00000500  __TI_STACK_END                           
    1     0000a800  g_RS_485_RxBuffer                        
    1     0000a884  Fapi_GlobalInit                          
    1     0000a890  g_WrAck                                  
    1     0000a891  g_RS_485_RxInterrupt                     
    1     0000a892  tests                                    
    1     0000a8f2  Example_Result                           
    1     0000a8f4  Example_PassCount                        
    1     0000a8f6  Example_Fail                             
    1     0000a8f8  __TI_enable_exit_profile_output          
    1     0000a8fa  __TI_cleanup_ptr                         
    1     0000a8fc  __TI_dtors_ptr                           
    1     0000a8fe  _lock                                    
    1     0000a900  _unlock                                  
    1     0000a902  Cmd_Rec                                  
    1     0000a903  g_head                                   
    1     0000a904  g_Statusword                             
    1     0000a905  g_timerOverflow                          
    abs   00000100  __TI_STACK_SIZE                          
    abs   000001ee  RamfuncsLoadSize                         
    abs   000001ee  RamfuncsRunSize                          
    abs   ffffffff  __TI_pprof_out_hndl                      
    abs   ffffffff  __TI_prof_data_size                      
    abs   ffffffff  __TI_prof_data_start                     
    n/a   UNDEFED   __c_args__                               
    
    [185 symbols]
    

    Is your question why Sector J is not erased?

    The Question is why in location 0x000B1006,0x000B1012,0x000B103A and similarly other address which are holding 0xFFFF 0xFFFF are not able to update.

    Thanks,

    Sid C

  • Sid,

    I think I see the issue.  Flash must be programmed 64 bits at a time, due to the ECC logic/memory that is also programmed with it.

    So addresses 0xB1006/7 have to be programmed at the same time as 0xB1004/5.  If this is not done together you cannot program 6/7 later without erasing the sector to re-initialize the ECC as well.

    So if the code is going to come in later looking for addresses with 0xFFFF as the data, it would need to ensure all bits of a 64-bit aligned address are also 0xFFFF or the operation will not work.

    You should be seeing a fail return from the API when attempting this, can you confirm if that is the case?

    Best,

    Matthew