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.

LAUNCHXL-F2800137: Issue in using Flash API

Part Number: LAUNCHXL-F2800137
Other Parts Discussed in Thread: C2000WARE

Hello Team,

we are trying to implement Flash APIs for f2800137 in our main code, which was checked previously through example present in C2000Ware and works fine.

but when we used flash APIs with our main code, the code is stuck in "while loop" present in "f280013x_sysctrl.c" file.

following is the function, and highlighted part is the loop where code stuck :

Please, help us to solve this issue.

your efforts highly appreciated from this side.

  • Hi Yash,

    I don't think there is any relation between flash API usage and this code-stuck in clock configuration code.

    Does this issue go away if you remove flash API from the project?  

    Thanks and regards,

    Vamsi

  • Hello Vamsi,

    The code works fine if they remove flash API

  • Hi Nilesh,

    Can you attach the linker command file and map file?

    Thanks and regards,
    Vamsi

  • PFA

    1. Linker command file

    MEMORY
    {
       BEGIN            : origin = 0x00080000, length = 0x00000002
       BOOT_RSVD        : origin = 0x00000002, length = 0x00000126
    
       RAMM0            : origin = 0x00000128, length = 0x000002D8
       RAMM1            : origin = 0x00000400, length = 0x00000380     /* on-chip RAM block M1 */
       //BOOT_RSVD_SYSBIOS: origin = 0x00000780, length = 0x00000080
    
       RAMLS0           : origin = 0x00008000, length = 0x00002000
       RAMLS1           : origin = 0x0000A000, length = 0x00001FF8
    //   RAMLS1_RSVD      : origin = 0x0000BFF8, length = 0x00000008
    
       RESET            : origin = 0x003FFFC0, length = 0x00000002
    
       /* Flash sectors */
       FLASH_BANK0_SEC_0_7     : origin = 0x080002, length = 0x1FFE  /* on-chip Flash */
       FLASH_BANK0_SEC_8_15    : origin = 0x082000, length = 0x2000  /* on-chip Flash */
       FLASH_BANK0_SEC_16_23   : origin = 0x084000, length = 0x2000  /* on-chip Flash */
       FLASH_BANK0_SEC_24_31   : origin = 0x086000, length = 0x2000  /* on-chip Flash */
       FLASH_BANK0_SEC_32_39   : origin = 0x088000, length = 0x2000  /* on-chip Flash */
       FLASH_BANK0_SEC_40_47   : origin = 0x08A000, length = 0x2000  /* on-chip Flash */
       FLASH_BANK0_SEC_48_55   : origin = 0x08C000, length = 0x2000  /* on-chip Flash */
       FLASH_BANK0_SEC_56_63   : origin = 0x08E000, length = 0x2000  /* on-chip Flash */
       FLASH_BANK0_SEC_64_71   : origin = 0x090000, length = 0x2000  /* on-chip Flash */
       FLASH_BANK0_SEC_72_79   : origin = 0x092000, length = 0x2000  /* on-chip Flash */
       FLASH_BANK0_SEC_80_87   : origin = 0x094000, length = 0x2000  /* on-chip Flash */
       FLASH_BANK0_SEC_88      : origin = 0x096000, length = 0x0400  /* on-chip Flash */
       FLASH_BANK0_SEC_89      : origin = 0x096400, length = 0x0400  /* on-chip Flash */
       FLASH_BANK0_SEC_90      : origin = 0x096800, length = 0x0400  /* on-chip Flash */
       FLASH_BANK0_SEC_91      : origin = 0x096C00, length = 0x0400  /* on-chip Flash */
       FLASH_BANK0_SEC_92      : origin = 0x097000, length = 0x0400  /* on-chip Flash */
       FLASH_BANK0_SEC_93      : origin = 0x097400, length = 0x0400  /* on-chip Flash */
       FLASH_BANK0_SEC_94      : origin = 0x097800, length = 0x0400  /* on-chip Flash */
       FLASH_BANK0_SEC_95      : origin = 0x097C00, length = 0x0400  /* on-chip Flash */
       FLASH_BANK0_SEC_96      : origin = 0x098000, length = 0x0400  /* on-chip Flash */
       FLASH_BANK0_SEC_97      : origin = 0x098400, length = 0x0400  /* on-chip Flash */
       FLASH_BANK0_SEC_98      : origin = 0x098800, length = 0x0400  /* on-chip Flash */
       FLASH_BANK0_SEC_99      : origin = 0x098C00, length = 0x0400  /* on-chip Flash */
       FLASH_BANK0_SEC_100     : origin = 0x099000, length = 0x0400  /* on-chip Flash */
       FLASH_BANK0_SEC_101     : origin = 0x099400, length = 0x0400  /* on-chip Flash */
       FLASH_BANK0_SEC_102     : origin = 0x099800, length = 0x0400  /* on-chip Flash */
       FLASH_BANK0_SEC_103     : origin = 0x099C00, length = 0x0400  /* on-chip Flash */
       FLASH_BANK0_SEC_104_111 : origin = 0x09A000, length = 0x2000  /* on-chip Flash */
       FLASH_BANK0_SEC_112_119 : origin = 0x09C000, length = 0x2000  /* on-chip Flash */
       FLASH_BANK0_SEC_120_127 : origin = 0x09E000, length = 0x1FF0  /* on-chip Flash */
    
    //   FLASH_BANK0_SEC_127_RSVD : origin = 0x0A0FF0, length = 0x0010  /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
    }
    
    SECTIONS
    {
       codestart        : > BEGIN
    
       .text            : >> FLASH_BANK0_SEC_8_15 | FLASH_BANK0_SEC_16_23 | FLASH_BANK0_SEC_24_31, ALIGN(8)
    
       .cinit           : > FLASH_BANK0_SEC_0_7, ALIGN(8)
       .switch          : > FLASH_BANK0_SEC_0_7, ALIGN(8)
    
       .reset           : > RESET,  TYPE = DSECT /* not used, */
    
       .stack           : > RAMM1
    
    #if defined(__TI_EABI__)
       .bss             : > RAMLS0
       .bss:output      : > RAMLS0
       .init_array      : >> FLASH_BANK0_SEC_0_7, ALIGN(8)
       .const           : >> FLASH_BANK0_SEC_32_39, ALIGN(8)
       .data            : > RAMLS0
       .sysmem          : > RAMLS0
      .bss:cio          : > RAMLS0
    #else
       .pinit           : >> FLASH_BANK0_SEC_0_7, ALIGN(8)
       .ebss            : > RAMLS0
       .econst          : >> FLASH_BANK0_SEC_32_39, ALIGN(8)
       .esysmem         : > RAMLS0
       .cio             : > RAMLS0
    #endif
    
    #if defined(__TI_EABI__)
        GROUP
        {
           .TI.ramfunc
           { -l FAPI_F280013x_EABI_v2.00.01.lib}
    
        }                 LOAD = FLASH_BANK0_SEC_16_23,
                          RUN = RAMLS0,
                          LOAD_START(RamfuncsLoadStart),
                          LOAD_SIZE(RamfuncsLoadSize),
                          LOAD_END(RamfuncsLoadEnd),
                          RUN_START(RamfuncsRunStart),
                          RUN_SIZE(RamfuncsRunSize),
                          RUN_END(RamfuncsRunEnd),
                          ALIGN(8)
    #else
        GROUP
        {
           .TI.ramfunc
           { -l FAPI_F280013x_EABI_v2.00.01.lib}
    
        }                 LOAD = FLASH_BANK0_SEC_16_23,
                          RUN = RAMLS0,
                          LOAD_START(_RamfuncsLoadStart),
                          LOAD_SIZE(_RamfuncsLoadSize),
                          LOAD_END(_RamfuncsLoadEnd),
                          RUN_START(_RamfuncsRunStart),
                          RUN_SIZE(_RamfuncsRunSize),
                          RUN_END(_RamfuncsRunEnd),
                          ALIGN(8)
    #endif
    
        /*  Allocate IQ math areas: */
       IQmath           : > RAMLS1
       IQmathTables     : > RAMLS1
    
       DataBufferSection : > RAMLS1, ALIGN(2)
    }
    

    2. .map file

    ******************************************************************************
                 TMS320C2000 Linker PC v22.6.0                     
    ******************************************************************************
    >> Linked Mon Feb  5 16:09:56 2024
    
    OUTPUT FILE NAME:   <flashapi_ex1_programming.out>
    ENTRY POINT SYMBOL: "code_start"  address: 00080000
    
    
    MEMORY CONFIGURATION
    
             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      BOOT_RSVD             00000002   00000126  00000000  00000126  RWIX
      RAMM0                 00000128   000002d8  00000000  000002d8  RWIX
      RAMM1                 00000400   00000380  00000200  00000180  RWIX
      RAMLS0                00008000   00002000  000009ff  00001601  RWIX
      RAMLS1                0000a000   00001ff8  00000400  00001bf8  RWIX
      BEGIN                 00080000   00000002  00000002  00000000  RWIX
      FLASH_BANK0_SEC_0_7   00080002   00001ffe  00000000  00001ffe  RWIX
      FLASH_BANK0_SEC_8_15  00082000   00002000  000008d9  00001727  RWIX
      FLASH_BANK0_SEC_16_23 00084000   00002000  000009f3  0000160d  RWIX
      FLASH_BANK0_SEC_24    00086000   00000400  00000020  000003e0  RWIX
      FLASH_BANK0_SEC_25    00086400   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_26    00086800   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_27    00086c00   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_28    00087000   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_29    00087400   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_30    00087800   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_31    00087c00   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_32    00088000   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_33    00088400   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_34    00088800   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_35    00088c00   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_36    00089000   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_37    00089400   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_38    00089800   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_39    00089c00   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_40_47 0008a000   00002000  00000000  00002000  RWIX
      FLASH_BANK0_SEC_48_55 0008c000   00002000  00000000  00002000  RWIX
      FLASH_BANK0_SEC_56_63 0008e000   00002000  00000000  00002000  RWIX
      FLASH_BANK0_SEC_64_71 00090000   00002000  00000000  00002000  RWIX
      FLASH_BANK0_SEC_72_79 00092000   00002000  00000000  00002000  RWIX
      FLASH_BANK0_SEC_80_87 00094000   00002000  00000000  00002000  RWIX
      FLASH_BANK0_SEC_88    00096000   00000400  000001d3  0000022d  RWIX
      FLASH_BANK0_SEC_89    00096400   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_90    00096800   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_91    00096c00   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_92    00097000   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_93    00097400   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_94    00097800   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_95    00097c00   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_96    00098000   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_97    00098400   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_98    00098800   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_99    00098c00   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_100   00099000   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_101   00099400   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_102   00099800   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_103   00099c00   00000400  00000000  00000400  RWIX
      FLASH_BANK0_SEC_104_1 0009a000   00002000  00000000  00002000  RWIX
      FLASH_BANK0_SEC_112_1 0009c000   00002000  00000000  00002000  RWIX
      FLASH_BANK0_SEC_120_1 0009e000   00001ff0  00000000  00001ff0  RWIX
      RESET                 003fffc0   00000002  00000000  00000002  RWIX
    
    
    SECTION ALLOCATION MAP
    
     output                                  attributes/
    section   page    origin      length       input sections
    --------  ----  ----------  ----------   ----------------
    codestart 
    *          0    00080000    00000002     
                      00080000    00000002     f280013x_codestartbranch.obj (codestart)
    
    .cinit     0    00086000    00000020     
                      00086000    0000000b     (.cinit..data.load) [load image, compression = lzss]
                      0008600b    00000001     --HOLE-- [fill = 0]
                      0008600c    00000006     (__TI_handler_table)
                      00086012    00000004     (.cinit.DataBufferSection.load) [load image, compression = zero_init]
                      00086016    00000002     --HOLE-- [fill = 0]
                      00086018    00000008     (__TI_cinit_table)
    
    .reset     0    003fffc0    00000000     DSECT
    
    .stack     0    00000400    00000200     UNINITIALIZED
                      00000400    00000200     --HOLE--
    
    .init_array 
    *          0    00087000    00000000     UNINITIALIZED
    
    .data      0    000089f4    0000000c     UNINITIALIZED
                      000089f4    00000006     rts2800_fpu32_eabi.lib : exit.c.obj (.data)
                      000089fa    00000002                            : _lock.c.obj (.data:_lock)
                      000089fc    00000002                            : _lock.c.obj (.data:_unlock)
                      000089fe    00000002     flashapi_ex1_programming.obj (.data)
    
    .TI.ramfunc 
    *          0    00084000    000009f3     RUN ADDR = 00008000
                      00084000    0000018f     FAPI_F280013x_EABI_v2.00.01.lib : Program.obj (.text:Fapi_issueProgrammingCommand)
                      0008418f    00000132                                     : Init.obj (.text:Fapi_initializeAPI)
                      000842c1    000000c6                                     : Utilities.obj (.text:Fapi_calculateEcc)
                      00084387    00000070                                     : Read.obj (.text:_Fapi_loopRegionForValue)
                      000843f7    00000046                                     : Async.obj (.text:Fapi_issueBankEraseCommand)
                      0008443d    0000003b                                     : Utilities.obj (.text:Fapi_isAddressValid)
                      00084478    00000034                                     : Async.obj (.text:Fapi_issueAsyncCommandWithAddress)
                      000844ac    00000028                                     : BlankCheck.obj (.text:Fapi_doBlankCheck)
                      000844d4    00000024                                     : Verify.obj (.text:Fapi_doVerify)
                      000844f8    00000023                                     : FlashStateMachine.obj (.text:Fapi_isAddressEcc)
                      0008451b    00000023                                     : Read.obj (.text:_Fapi_checkRegionForValue)
                      0008453e    00000021                                     : Async.obj (.text:Fapi_issueAsyncCommand)
                      0008455f    00000001     --HOLE-- [fill = 0]
                      00084560    00000020                                     : Utilities.obj (.const:$P$T1$2)
                      00084580    0000001f                                     : Utilities.obj (.text:Write_32bp)
                      0008459f    00000015                                     : Read.obj (.text:Fapi_flushPipeline)
                      000845b4    00000015                                     : Utilities.obj (.text:Write_32)
                      000845c9    00000013                                     : FlashStateMachine.obj (.text:_Fapi_issueFsmCommand)
                      000845dc    00000010                                     : Utilities.obj (.const:$P$T0$1)
                      000845ec    0000000d                                     : FlashStateMachine.obj (.text:Fapi_checkFsmForReady)
                      000845f9    0000000a                                     : FlashStateMachine.obj (.text:Fapi_setupBankSectorEnable)
                      00084603    00000006                                     : FlashStateMachine.obj (.text:Fapi_setActiveFlashBank)
                      00084609    00000004                                     : FlashStateMachine.obj (.text:Fapi_getFsmStatus)
                      0008460d    00000318     flashapi_ex1_programming.obj (.TI.ramfunc)
                      00084925    00000036     driverlib.lib : flash.obj (.TI.ramfunc:Flash_initModule)
                      0008495b    00000022                   : flash.obj (.TI.ramfunc:Flash_setWaitstates)
                      0008497d    00000018                   : flash.obj (.TI.ramfunc:Flash_disableCache)
                      00084995    00000017                   : flash.obj (.TI.ramfunc:Flash_disablePrefetch)
                      000849ac    00000017                   : flash.obj (.TI.ramfunc:Flash_enableCache)
                      000849c3    00000016                   : flash.obj (.TI.ramfunc:Flash_enableECC)
                      000849d9    00000016                   : flash.obj (.TI.ramfunc:Flash_enablePrefetch)
                      000849ef    00000004                   : sysctl.obj (.TI.ramfunc)
    
    DataBufferSection 
    *          0    0000a000    00000400     UNINITIALIZED
                      0000a000    00000400     flashapi_ex1_programming.obj (DataBufferSection)
    
    .text      0    00082000    000008d9     
                      00082000    0000013e     driverlib.lib : sysctl.obj (.text:SysCtl_setClock)
                      0008213e    00000106     device.obj (.text)
                      00082244    000000ea     driverlib.lib : sysctl.obj (.text:SysCtl_isPLLValid)
                      0008232e    000000a3                   : gpio.obj (.text:GPIO_setAnalogMode)
                      000823d1    00000088     rts2800_fpu32_eabi.lib : fs_div28.asm.obj (.text)
                      00082459    00000073     driverlib.lib : sysctl.obj (.text:DCC_setCounterSeeds)
                      000824cc    00000045                   : sysctl.obj (.text:SysCtl_pollX1Counter)
                      00082511    00000042                   : sysctl.obj (.text:SysCtl_selectOscSource)
                      00082553    0000003d                   : interrupt.obj (.text:Interrupt_initModule)
                      00082590    0000003d                   : sysctl.obj (.text:SysCtl_selectXTAL)
                      000825cd    0000002e     rts2800_fpu32_eabi.lib : copy_decompress_lzss.c.obj (.text:decompress:lzss)
                      000825fb    0000002b                            : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit)
                      00082626    0000002a     flashapi_ex1_programming.obj (.text)
                      00082650    00000029     rts2800_fpu32_eabi.lib : exit.c.obj (.text)
                      00082679    00000024     driverlib.lib : sysctl.obj (.text:DCC_enableSingleShotMode)
                      0008269d    00000020                   : sysctl.obj (.text:SysCtl_selectXTALSingleEnded)
                      000826bd    0000001e                   : sysctl.obj (.text:DCC_setCounter0ClkSource)
                      000826db    0000001e                   : sysctl.obj (.text:DCC_setCounter1ClkSource)
                      000826f9    0000001e                   : interrupt.obj (.text:Interrupt_initVectorTable)
                      00082717    0000001d     rts2800_fpu32_eabi.lib : memcpy.c.obj (.text)
                      00082734    00000018                            : ll_aox28.asm.obj (.text)
                      0008274c    00000017     driverlib.lib : sysctl.obj (.text:SysCtl_enablePeripheral)
                      00082763    00000017     rts2800_fpu32_eabi.lib : boot28.asm.obj (.text)
                      0008277a    00000016     driverlib.lib : sysctl.obj (.text:DCC_disableDoneSignal)
                      00082790    00000016                   : interrupt.obj (.text:Interrupt_defaultHandler)
                      000827a6    00000016                   : sysctl.obj (.text:SysCtl_setIntOSC2_Mode)
                      000827bc    00000015                   : sysctl.obj (.text:DCC_clearDoneFlag)
                      000827d1    00000015                   : sysctl.obj (.text:DCC_clearErrorFlag)
                      000827e6    00000015                   : sysctl.obj (.text:DCC_disableErrorSignal)
                      000827fb    00000014                   : sysctl.obj (.text:DCC_disableModule)
                      0008280f    00000014                   : sysctl.obj (.text:DCC_enableModule)
                      00082823    00000014                   : sysctl.obj (.text:SysCtl_setPLLSysClk)
                      00082837    00000010                   : sysctl.obj (.text:DCC_isBaseValid)
                      00082847    00000010                   : flash.obj (.text:Flash_isCtrlBaseValid)
                      00082857    00000010                   : flash.obj (.text:Flash_isECCBaseValid)
                      00082867    0000000d                   : interrupt.obj (.text:Interrupt_disableGlobal)
                      00082874    0000000c     rts2800_fpu32_eabi.lib : args_main.c.obj (.text)
                      00082880    0000000b     driverlib.lib : sysctl.obj (.text:SysCtl_isMCDClockFailureDetected)
                      0008288b    0000000a                   : sysctl.obj (.text:ASysCtl_getExtROscStatus)
                      00082895    0000000a                   : interrupt.obj (.text:Interrupt_illegalOperationHandler)
                      0008289f    0000000a                   : interrupt.obj (.text:Interrupt_nmiHandler)
                      000828a9    00000009     rts2800_fpu32_eabi.lib : _lock.c.obj (.text)
                      000828b2    00000008                            : copy_decompress_none.c.obj (.text:decompress:none)
                      000828ba    00000008     f280013x_codestartbranch.obj (.text)
                      000828c2    00000007     driverlib.lib : sysctl.obj (.text:SysCtl_resetMCD)
                      000828c9    00000007     rts2800_fpu32_eabi.lib : memset.c.obj (.text)
                      000828d0    00000006                            : copy_zero_init.c.obj (.text:decompress:ZI)
                      000828d6    00000002                            : pre_init.c.obj (.text)
                      000828d8    00000001                            : startup.c.obj (.text)
    
    .const     0    00096000    000001d3     
                      00096000    0000009c     driverlib.lib : flash.obj (.const:.string)
                      0009609c    0000009b                   : gpio.obj (.const:.string)
                      00096137    00000001     --HOLE-- [fill = 0]
                      00096138    0000009b                   : sysctl.obj (.const:.string)
    
    MODULE SUMMARY
    
           Module                         code   ro data   rw data
           ------                         ----   -------   -------
        .\
           flashapi_ex1_programming.obj   1626   0         1026   
        +--+------------------------------+------+---------+---------+
           Total:                         1626   0         1026   
                                                                  
        .\device\
           device.obj                     262    0         0      
           f280013x_codestartbranch.obj   10     0         0      
        +--+------------------------------+------+---------+---------+
           Total:                         272    0         0      
                                                                  
        C:/ti/c2000/C2000Ware_5_00_00_00/driverlib/f280013x/driverlib/ccs/Debug/driverlib.lib
           sysctl.obj                     1233   155       0      
           flash.obj                      436    156       0      
           gpio.obj                       163    155       0      
           interrupt.obj                  146    0         0      
        +--+------------------------------+------+---------+---------+
           Total:                         1978   466       0      
                                                                  
        C:/ti/c2000/C2000Ware_5_00_00_00/libraries/flash_api/f280013x/lib/FAPI_F280013x_EABI_v2.00.01.lib
           Program.obj                    798    0         0      
           Utilities.obj                  618    96        0      
           Init.obj                       612    0         0      
           Read.obj                       336    0         0      
           Async.obj                      310    0         0      
           FlashStateMachine.obj          174    0         0      
           BlankCheck.obj                 80     0         0      
           Verify.obj                     72     0         0      
        +--+------------------------------+------+---------+---------+
           Total:                         3000   96        0      
                                                                  
        C:\ti\ccs1220\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      
           memcpy.c.obj                   29     0         0      
           ll_aox28.asm.obj               24     0         0      
           boot28.asm.obj                 23     0         0      
           _lock.c.obj                    9      0         4      
           args_main.c.obj                12     0         0      
           copy_decompress_none.c.obj     8      0         0      
           memset.c.obj                   7      0         0      
           copy_zero_init.c.obj           6      0         0      
           pre_init.c.obj                 2      0         0      
           startup.c.obj                  1      0         0      
        +--+------------------------------+------+---------+---------+
           Total:                         387    0         10     
                                                                  
           Stack:                         0      0         512    
           Linker Generated:              0      29        0      
        +--+------------------------------+------+---------+---------+
           Grand Total:                   7263   591       1548   
    
    
    LINKER GENERATED COPY TABLES
    
    __TI_cinit_table @ 00086018 records: 2, size/record: 4, table size: 8
    	.data: load addr=00086000, load size=0000000b bytes, run addr=000089f4, run size=0000000c bytes, compression=lzss
    	DataBufferSection: load addr=00086012, load size=00000004 bytes, run addr=0000a000, run size=00000400 bytes, compression=zero_init
    
    
    LINKER GENERATED HANDLER TABLE
    
    __TI_handler_table @ 0008600c records: 3, size/record: 2, table size: 6
    	index: 0, handler: __TI_decompress_lzss
    	index: 1, handler: __TI_decompress_none
    	index: 2, handler: __TI_zero_init
    
    
    GLOBAL DATA SYMBOLS: SORTED BY DATA PAGE
    
    address     data page           name
    --------    ----------------    ----
    00000400      10 (00000400)     __stack
    
    000089f4     227 (000089c0)     __TI_enable_exit_profile_output
    000089f6     227 (000089c0)     __TI_cleanup_ptr
    000089f8     227 (000089c0)     __TI_dtors_ptr
    000089fa     227 (000089c0)     _lock
    000089fc     227 (000089c0)     _unlock
    000089fe     227 (000089c0)     Buffer32
    
    0000a000     280 (0000a000)     Buffer
    
    
    GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 
    
    page  address   name                               
    ----  -------   ----                               
    0     0000a000  Buffer                             
    0     000089fe  Buffer32                           
    0     00082650  C$$EXIT                            
    0     00008619  ClearFSMStatus                     
    0     000821bf  Device_enableAllPeripherals        
    0     00082186  Device_init                        
    0     0008222d  Device_initGPIO                    
    0     0008264d  ECC_Fail                           
    0     00008635  Example_CallFlashAPI               
    0     00082647  Example_Done                       
    0     000088b6  Example_EraseBanks                 
    0     0000887c  Example_EraseSector                
    0     00082641  Example_Error                      
    0     000086c7  Example_ProgramBankUsingAutoECC    
    0     0000866b  Example_ProgramUsingAutoECC        
    0     000087f0  Example_ProgramUsingDataAndECC     
    0     00008736  Example_ProgramUsingDataOnlyECCOnly
    0     0008264a  FMSTAT_Fail                        
    0     000082c1  Fapi_calculateEcc                  
    0     000085ec  Fapi_checkFsmForReady              
    0     000084ac  Fapi_doBlankCheck                  
    0     000084d4  Fapi_doVerify                      
    0     0000859f  Fapi_flushPipeline                 
    0     00008609  Fapi_getFsmStatus                  
    0     0000818f  Fapi_initializeAPI                 
    0     000084f8  Fapi_isAddressEcc                  
    0     0000843d  Fapi_isAddressValid                
    0     0000853e  Fapi_issueAsyncCommand             
    0     00008478  Fapi_issueAsyncCommandWithAddress  
    0     000083f7  Fapi_issueBankEraseCommand         
    0     00008000  Fapi_issueProgrammingCommand       
    0     00008603  Fapi_setActiveFlashBank            
    0     000085f9  Fapi_setupBankSectorEnable         
    0     00008925  Flash_initModule                   
    0     0008232e  GPIO_setAnalogMode                 
    0     00082790  Interrupt_defaultHandler           
    0     00082895  Interrupt_illegalOperationHandler  
    0     00082553  Interrupt_initModule               
    0     000826f9  Interrupt_initVectorTable          
    0     0008289f  Interrupt_nmiHandler               
    abs   000849f3  RamfuncsLoadEnd                    
    abs   000009f3  RamfuncsLoadSize                   
    abs   00084000  RamfuncsLoadStart                  
    abs   000089f3  RamfuncsRunEnd                     
    abs   000009f3  RamfuncsRunSize                    
    abs   00008000  RamfuncsRunStart                   
    0     000089ef  SysCtl_delay                       
    0     00082244  SysCtl_isPLLValid                  
    0     00082511  SysCtl_selectOscSource             
    0     00082590  SysCtl_selectXTAL                  
    0     0008269d  SysCtl_selectXTALSingleEnded       
    0     00082000  SysCtl_setClock                    
    0     000085b4  Write_32                           
    0     00008580  Write_32bp                         
    0     0000851b  _Fapi_checkRegionForValue          
    0     000085c9  _Fapi_issueFsmCommand              
    0     00008387  _Fapi_loopRegionForValue           
    0     00086018  __TI_CINIT_Base                    
    0     00086020  __TI_CINIT_Limit                   
    0     00086020  __TI_CINIT_Warm                    
    0     0008600c  __TI_Handler_Table_Base            
    0     00086012  __TI_Handler_Table_Limit           
    0     00000600  __TI_STACK_END                     
    abs   00000200  __TI_STACK_SIZE                    
    0     000825fb  __TI_auto_init_nobinit_nopinit     
    0     000089f6  __TI_cleanup_ptr                   
    0     000825cd  __TI_decompress_lzss               
    0     000828b2  __TI_decompress_none               
    0     000089f8  __TI_dtors_ptr                     
    0     000089f4  __TI_enable_exit_profile_output    
    abs   ffffffff  __TI_pprof_out_hndl                
    abs   ffffffff  __TI_prof_data_size                
    abs   ffffffff  __TI_prof_data_start               
    0     000828d0  __TI_zero_init                     
    0     00082734  __c28xabi_andll                    
    0     000823d1  __c28xabi_divf                     
    0     0008273c  __c28xabi_orll                     
    0     00082744  __c28xabi_xorll                    
    n/a   UNDEFED   __c_args__                         
    0     0008223d  __error__                          
    0     00000400  __stack                            
    0     00082874  _args_main                         
    0     00082763  _c_int00                           
    0     000089fa  _lock                              
    0     000828b1  _nop                               
    0     000828ad  _register_lock                     
    0     000828a9  _register_unlock                   
    0     000828d8  _system_post_cinit                 
    0     000828d6  _system_pre_init                   
    0     000089fc  _unlock                            
    0     00082650  abort                              
    0     00080000  code_start                         
    0     00082652  exit                               
    0     00082626  main                               
    0     00082717  memcpy                             
    0     000828c9  memset                             
    
    
    GLOBAL SYMBOLS: SORTED BY Symbol Address 
    
    page  address   name                               
    ----  -------   ----                               
    0     00000400  __stack                            
    0     00000600  __TI_STACK_END                     
    0     00008000  Fapi_issueProgrammingCommand       
    0     0000818f  Fapi_initializeAPI                 
    0     000082c1  Fapi_calculateEcc                  
    0     00008387  _Fapi_loopRegionForValue           
    0     000083f7  Fapi_issueBankEraseCommand         
    0     0000843d  Fapi_isAddressValid                
    0     00008478  Fapi_issueAsyncCommandWithAddress  
    0     000084ac  Fapi_doBlankCheck                  
    0     000084d4  Fapi_doVerify                      
    0     000084f8  Fapi_isAddressEcc                  
    0     0000851b  _Fapi_checkRegionForValue          
    0     0000853e  Fapi_issueAsyncCommand             
    0     00008580  Write_32bp                         
    0     0000859f  Fapi_flushPipeline                 
    0     000085b4  Write_32                           
    0     000085c9  _Fapi_issueFsmCommand              
    0     000085ec  Fapi_checkFsmForReady              
    0     000085f9  Fapi_setupBankSectorEnable         
    0     00008603  Fapi_setActiveFlashBank            
    0     00008609  Fapi_getFsmStatus                  
    0     00008619  ClearFSMStatus                     
    0     00008635  Example_CallFlashAPI               
    0     0000866b  Example_ProgramUsingAutoECC        
    0     000086c7  Example_ProgramBankUsingAutoECC    
    0     00008736  Example_ProgramUsingDataOnlyECCOnly
    0     000087f0  Example_ProgramUsingDataAndECC     
    0     0000887c  Example_EraseSector                
    0     000088b6  Example_EraseBanks                 
    0     00008925  Flash_initModule                   
    0     000089ef  SysCtl_delay                       
    0     000089f4  __TI_enable_exit_profile_output    
    0     000089f6  __TI_cleanup_ptr                   
    0     000089f8  __TI_dtors_ptr                     
    0     000089fa  _lock                              
    0     000089fc  _unlock                            
    0     000089fe  Buffer32                           
    0     0000a000  Buffer                             
    0     00080000  code_start                         
    0     00082000  SysCtl_setClock                    
    0     00082186  Device_init                        
    0     000821bf  Device_enableAllPeripherals        
    0     0008222d  Device_initGPIO                    
    0     0008223d  __error__                          
    0     00082244  SysCtl_isPLLValid                  
    0     0008232e  GPIO_setAnalogMode                 
    0     000823d1  __c28xabi_divf                     
    0     00082511  SysCtl_selectOscSource             
    0     00082553  Interrupt_initModule               
    0     00082590  SysCtl_selectXTAL                  
    0     000825cd  __TI_decompress_lzss               
    0     000825fb  __TI_auto_init_nobinit_nopinit     
    0     00082626  main                               
    0     00082641  Example_Error                      
    0     00082647  Example_Done                       
    0     0008264a  FMSTAT_Fail                        
    0     0008264d  ECC_Fail                           
    0     00082650  C$$EXIT                            
    0     00082650  abort                              
    0     00082652  exit                               
    0     0008269d  SysCtl_selectXTALSingleEnded       
    0     000826f9  Interrupt_initVectorTable          
    0     00082717  memcpy                             
    0     00082734  __c28xabi_andll                    
    0     0008273c  __c28xabi_orll                     
    0     00082744  __c28xabi_xorll                    
    0     00082763  _c_int00                           
    0     00082790  Interrupt_defaultHandler           
    0     00082874  _args_main                         
    0     00082895  Interrupt_illegalOperationHandler  
    0     0008289f  Interrupt_nmiHandler               
    0     000828a9  _register_unlock                   
    0     000828ad  _register_lock                     
    0     000828b1  _nop                               
    0     000828b2  __TI_decompress_none               
    0     000828c9  memset                             
    0     000828d0  __TI_zero_init                     
    0     000828d6  _system_pre_init                   
    0     000828d8  _system_post_cinit                 
    0     0008600c  __TI_Handler_Table_Base            
    0     00086012  __TI_Handler_Table_Limit           
    0     00086018  __TI_CINIT_Base                    
    0     00086020  __TI_CINIT_Limit                   
    0     00086020  __TI_CINIT_Warm                    
    abs   00000200  __TI_STACK_SIZE                    
    abs   000009f3  RamfuncsLoadSize                   
    abs   000009f3  RamfuncsRunSize                    
    abs   00008000  RamfuncsRunStart                   
    abs   000089f3  RamfuncsRunEnd                     
    abs   00084000  RamfuncsLoadStart                  
    abs   000849f3  RamfuncsLoadEnd                    
    abs   ffffffff  __TI_pprof_out_hndl                
    abs   ffffffff  __TI_prof_data_size                
    abs   ffffffff  __TI_prof_data_start               
    n/a   UNDEFED   __c_args__                         
    
    [96 symbols]

  • Hi Yash,

    For debug, instead of using FLASH_BANK0_SEC_16_23 and RAMLS0 for flash API, can you use a different Flash and RAM range that is not used by other sections like .text and .bss etc.?

    In your application, I think the flash API is not executed yet before the PollX1Counter().  Correct?

    Are you successfully able to execute the flash API usage example provided in C2000Ware?

    Thanks and regards,
    Vamsi

  • Hi Vamsi,

    As suggested for use different flash and RAM range, i was checked with FLASH_BANK0_SEC_96_99 (0x98000 to 0x99000) and RAMLS1 . But no changes observed, again stuck in same loop.

    yes, the flash API is not executed yet before the PollX1Counter().

    yes, successfully able to execute the flash API usage example provided in C2000Ware.

    Thanks and regards,

    Yash

  • Hello Yash,

    If the code gets stuck in the while loop you are pointing then it means that your crystal hasn't started or crystal is bad.

    If the crystal is configured properly before  PollX1Counter() while loop and its oscillating the counter should saturate and get you out of the loop and let you proceed.

    Also when you get stuck please look at the register view and let me know what the counter value shows. Like shown below in registers view window
    Mine shows 7FF which is expected for normal operating XTAL

    Have you tried the same on multiple units ? Also Are you using launchpad  ?

    Thanks!