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.

EEPROM Emulation Program Code Location and Sector Reservation

Other Parts Discussed in Thread: CCSTUDIO

Hello,

I am using an F2812. I can flash the code fine and I can run the example in sprab69 just fine. For my application, I want to use two sectors and read/write/erase those sectors at  my discretion.

How do I know that program code is not written in these sectors? i.e. how do I reserve these sectors for my erasable data since I have to erase the entire sector at a time.

Thanks in advance!

  • Hi Matthew,

    You will need to modify the linker command file to allocate space for both your program code and erasable data.  You will want to keep these in separate sectors to ensure your program doesn't get erased when you update the data in the EEPROM emulation area.  SPRU513, the assembly language tools user guide, has all the information you will need to allocate the code and data to separate memories.

    Regards,

    Trey German

  • Thanks for your help Trey. Sorry for the delayed response. I wanted to get it working before I responded.

    I think I am almost there, but now I am having another problem.

    When I use MemCopy(&Flash28_API_LoadStart, &Flash28_API_LoadEnd, &Flash28_API_RunStart), I get an error for all the variables, i.e.

    Severity and Description    Path    Resource    Location    Creation Time    Id
    unresolved symbol _Flash28_API_LoadEnd, first referenced in ./mkm_solar_chrgr.obj        Example_281xAdcSeqModeTest    line 0    1328730045991    4129
    unresolved symbol _Flash28_API_LoadStart, first referenced in ./mkm_solar_chrgr.obj        Example_281xAdcSeqModeTest    line 0    1328730045991    4130
    unresolved symbol _Flash28_API_RunStart, first referenced in ./mkm_solar_chrgr.obj        Example_281xAdcSeqModeTest    line 0    1328730045991    4131


    I think the problem is that I still don't quite know how to edit the .cmd file. I want to use sections I & J for flash memory (EEPROM Emulation). My flash API function in the .cmd file looks like this. Do I need to edit the _Flash18_API_xxxxx definitions? And if so, where are they and what should they be?

    Flash28_API:
       {
            -lFlash2812_API_V210.lib(.econst)
            -lFlash2812_API_V210.lib(.text)
       }                   LOAD = FLASHA,
                           RUN = RAML0,
                           LOAD_START(_Flash28_API_LoadStart),
                           LOAD_END(_Flash28_API_LoadEnd),
                           RUN_START(_Flash28_API_RunStart),
                           PAGE = 0

    Thanks again for all your help Troy!

  • Matthew,

    I'm honestly not sure exactly why you are getting that error, but I have an idea.  I'm guessing the linker might be allocating the FlashAPI code to a default section.  Typically when we do this internally we specify the options for the section first and then the code sections that belong to it.  I did something like this in the bootloader I wrote for the f2806x.  Take a look below:

       GROUP  : > BL_FH,
                             LOAD_START(_InitLoadStart),
                             LOAD_END(_InitLoadEnd),
                             PAGE = 0
       {
            codestart_n
            .cinit
            .pinit
            normal
            { -l C28x_VCU_LIB.lib(.text)}
           
       }

    Also, while you can specify which sections of a library to place where, I would simply drop the (.econst) and (.text) so that it throws the whole library in there together.  Try this and let me know if it works:

    Flash28_API :> LOAD = FLASHA,
                                 RUN = RAML0,
                                 LOAD_START(_Flash28_API_LoadStart),
                                 LOAD_END(_Flash28_API_LoadEnd),
                                 RUN_START(_Flash28_API_RunStart),
                                 PAGE = 0

       {
            -l Flash2812_API_V210.lib
       }                  

    Trey

  • It produced the same error.

    Are _Flash28_API_LoadStart, _Flash28_API_LoadEnd, and _Flash28_API_RunStart defined values somewhere? It seems like the compiler can not find the values for these.

    Thanks,

  • I couldn't tell if it was the compiler or linker complaining from the errors you posted.  The LOAD_START, LOAD_END, etc. directives in the linker command file define the symbol values,  however the compiler will in fact complain if you do not extern them in the C file in which they are being used.

    Try adding this to the top of the source file it is complaining about:

    extern Uint16 RamfuncsLoadStart;
    extern Uint16 RamfuncsLoadEnd;
    extern Uint16 RamfuncsRunStart;

    but obviously switch out these symbols with your Flash28 symbols.


    Trey

  • I have included the following lines in my main .c program that is calling the MemCopy routine. There was no change.

    extern Uint16 Flash28_API_LoadStart;
    extern Uint16 Flash28_API_LoadEnd;
    extern Uint16 Flash28_API_RunStart;

  • Ok,  two reasons why it wouldn't be generating those symbols: a) you have a really old version of the code generation tools (I doubt this), b) the FlashAPI library is already compiled into a section called ramfuncs and as such when you try to put anything leftover into this new section, it is empty.  If there is nothing in a section the linker basically ignores it. 

    One way to test this would be to comment out the externs and calls to memcopy so you can successfully compile and link the code.  Then you will want to look at the linker map file.  This will be a file with the extension "map" in the compilers output directory (typically the debug folder within your project).  Look in this file for the Flash28_API section and see if it is there and has a size.  If not I suspect these functions are already part of ramfuncs and you won't have to separately place their sections.  If this is the case, remove all of the Flash28_API stuff you added to the linker command file and simply do the MemCopy on the Ramfuncs symbols.


    Trey

  • What line do I look for the Flash28_API section?

    Is there a way to send you the map file?

    This section shows the Flash2812_API_V210.lib scattered throughout.

                     origin            length

    Flash28_ClearLoop.obj (.text)
                      003f6783    00000044     rts2800_ml.lib : boot.obj (.text)
                      003f67c7    0000003b     Flash2812_API_V210.lib :

    Flash28_ClearSector.obj (.text)
                      003f6802    00000028     DSP281x_PieCtrl.obj (.text)
                      003f682a    00000020     DSP281x_PieVect.obj (.text)
                      003f684a    0000001b     rts2800_ml.lib : args_main.obj (.text)
                      003f6865    00000019                    : exit.obj (.text)
                      003f687e    00000015     DSP281x_MemCopy.obj (.text)
                      003f6893    00000012     DSP281x_Adc.obj (.text)
                      003f68a5    0000000d     DSP281x_Gpio.obj (.text)
                      003f68b2    0000000d     Flash2812_API_V210.lib :

    Also, when I run memcopy using the ramfuncs symbols it compiles fine, but while it is running in real time mode it randomly stops and at the bottom where it shows the source files one randomly pops up saying "Source not found." The file name is 0 FI28x_FlashRegSleep() at Flash28_Internals.c:96 0x3f63f0

  • Matthew,

    It depends on the map file.  You can attach a file to a post with the little paper clip icon in the forum post composition tool bar (its in the lower right corner near the HTML icon).  Please go ahead and post it.

    I would be very careful about running in real time mode.  The FlashAPI needs to have full control of the device to properlly program the flash without messing up the flash.  Running the flashAPI in real time mode could potentially cause problems.  The reason it isn't showing the source for those files is because we do not release the source for the flashAPI (for security reasons).

    Like I said, go ahead and post your map file and we should be able to figure out where these flash sections are residing.

    Trey

  • Thanks for all your help Trey. Attached is the file.

    In order to make sure I am not trying to break in the middle of an API procedure, I put delays before My breaks. for example, this is my code to write to it. Note that I have tried it with and without disabling interrupts. Do I need to disable the interrupts before I program a byte on the flash?   

    if (FirstCall==1)
                {EEPROM_GetSinglePointer(FirstCall);FirstCall=0;}
            DelayUs(10000);
            DelayUs(1);
            DINT;    // Disable CPU interrupts        
            EEPROM_ProgramSingleByte(data);
            EINT;          // Enable Global interrupt INTM
              ERTM;          // Enable Global realtime interrupt DBGM
            DelayUs(10000);
            DelayUs(1);

  • Hmmm are you sure you uploaded the file correctly?

  • ******************************************************************************
                 TMS320C2000 Linker PC v5.2.11                     
    ******************************************************************************
    >> Linked Wed Feb 08 15:28:36 2012
    
    OUTPUT FILE NAME:   <Example_281xAdcSeqModeTest.out>
    ENTRY POINT SYMBOL: "_c_int00"  address: 003f6783
    
    
    MEMORY CONFIGURATION
    
             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
    PAGE 0:
      ZONE0                 00002000   00002000  00000000  00002000  RWIX
      ZONE1                 00004000   00002000  00000000  00002000  RWIX
      RAML0                 00008000   00001000  00000bbb  00000445  RWIX
      ZONE2                 00080000   00080000  00000000  00080000  RWIX
      ZONE6                 00100000   00080000  00000000  00080000  RWIX
      OTP                   003d7800   00000800  00000000  00000800  RWIX
      FLASHH                003dc000   00004000  00000000  00004000  RWIX
      FLASHG                003e0000   00004000  00000000  00004000  RWIX
      FLASHF                003e4000   00004000  00000000  00004000  RWIX
      FLASHE                003e8000   00004000  00000000  00004000  RWIX
      FLASHD                003ec000   00004000  00000bbb  00003445  RWIX
      FLASHC                003f0000   00004000  00000000  00004000  RWIX
      FLASHB                003f4000   00002000  00000000  00002000  RWIX
      FLASHA                003f6000   00001f80  00000df6  0000118a  RWIX
      CSM_RSVD              003f7f80   00000076  00000000  00000076  RWIX
      BEGIN                 003f7ff6   00000002  00000002  00000000  RWIX
      CSM_PWL               003f7ff8   00000008  00000000  00000008  RWIX
      ROM                   003ff000   00000fc0  00000000  00000fc0  RWIX
      RESET                 003fffc0   00000002  00000000  00000002  RWIX
      VECTORS               003fffc2   0000003e  00000000  0000003e  RWIX
    
    PAGE 1:
      RAMM0                 00000000   00000400  00000400  00000000  RWIX
      RAMM1                 00000400   00000400  00000000  00000400  RWIX
      DEV_EMU               00000880   00000180  000000d0  000000b0  RWIX
      FLASH_REGS            00000a80   00000060  00000008  00000058  RWIX
      CSM                   00000ae0   00000010  00000010  00000000  RWIX
      XINTF                 00000b20   00000020  00000020  00000000  RWIX
      CPU_TIMER0            00000c00   00000008  00000008  00000000  RWIX
      CPU_TIMER1            00000c08   00000008  00000008  00000000  RWIX
      CPU_TIMER2            00000c10   00000008  00000008  00000000  RWIX
      PIE_CTRL              00000ce0   00000020  0000001a  00000006  RWIX
      PIE_VECT              00000d00   00000100  00000100  00000000  RWIX
      ECANA                 00006000   00000040  00000034  0000000c  RWIX
      ECANA_LAM             00006040   00000040  00000040  00000000  RWIX
      ECANA_MOTS            00006080   00000040  00000040  00000000  RWIX
      ECANA_MOTO            000060c0   00000040  00000040  00000000  RWIX
      ECANA_MBOX            00006100   00000100  00000100  00000000  RWIX
      SYSTEM                00007010   00000020  00000020  00000000  RWIX
      SPIA                  00007040   00000010  00000010  00000000  RWIX
      SCIA                  00007050   00000010  00000010  00000000  RWIX
      XINTRUPT              00007070   00000010  00000010  00000000  RWIX
      GPIOMUX               000070c0   00000020  00000020  00000000  RWIX
      GPIODAT               000070e0   00000020  00000020  00000000  RWIX
      ADC                   00007100   00000020  0000001a  00000006  RWIX
      EVA                   00007400   00000040  00000032  0000000e  RWIX
      EVB                   00007500   00000040  00000032  0000000e  RWIX
      SCIB                  00007750   00000010  00000010  00000000  RWIX
      MCBSPA                00007800   00000040  00000025  0000001b  RWIX
      RAML1                 00009000   00001000  000001c0  00000e40  RWIX
      FLASHJ                003d8000   00002000  00000000  00002000  RWIX
      FLASHI                003da000   00002000  00000000  00002000  RWIX
      CSM_PWL               003f7ff8   00000008  00000008  00000000  RWIX
      RAMH0                 003f8000   00002000  00000000  00002000  RWIX
    
    
    SECTION ALLOCATION MAP
    
     output                                  attributes/
    section   page    origin      length       input sections
    --------  ----  ----------  ----------   ----------------
    .pinit     0    003f6000    00000000     UNINITIALIZED
    
    ramfuncs   0    003ec000    00000bbb     RUN ADDR = 00008000
                      003ec000    00000919     mkm_solar_chrgr.obj (ramfuncs)
                      003ec919    0000016e     math_mat.obj (ramfuncs)
                      003eca87    000000be     F281x_EEPROM.obj (ramfuncs)
                      003ecb45    0000005b     solar_chrgr_funcs.obj (ramfuncs)
                      003ecba0    00000017     DSP281x_SysCtrl.obj (ramfuncs)
                      003ecbb7    00000004     DSP281x_usDelay.obj (ramfuncs)
    
    .text      0    003f6000    000008d8     
                      003f6000    0000014f     DSP281x_DefaultIsr.obj (.text)
                      003f614f    000000a4     Flash2812_API_V210.lib : Flash28_Prog.obj (.text)
                      003f61f3    0000009a                            : Flash28_Erase_Pulse.obj (.text)
                      003f628d    00000097     F281x_EEPROM.obj (.text)
                      003f6324    00000091     Flash2812_API_V210.lib : Flash28_Erase.obj (.text)
                      003f63b5    0000008d                            : Flash28_Internals.obj (.text)
                      003f6442    00000082     DSP281x_SysCtrl.obj (.text)
                      003f64c4    0000007f     Flash2812_API_V210.lib : Flash28_Prog_Pulse.obj (.text)
                      003f6543    0000007f     mkm_solar_chrgr.obj (.text)
                      003f65c2    0000007d     Flash2812_API_V210.lib : Flash28_Compact_Pulse.obj (.text)
                      003f663f    00000060                            : Flash28_EraseSector.obj (.text)
                      003f669f    00000059                            : Flash28_CompactSector.obj (.text)
                      003f66f8    00000047                            : Flash28_Init.obj (.text)
                      003f673f    00000044                            : Flash28_ClearLoop.obj (.text)
                      003f6783    00000044     rts2800_ml.lib : boot.obj (.text)
                      003f67c7    0000003b     Flash2812_API_V210.lib : Flash28_ClearSector.obj (.text)
                      003f6802    00000028     DSP281x_PieCtrl.obj (.text)
                      003f682a    00000020     DSP281x_PieVect.obj (.text)
                      003f684a    0000001b     rts2800_ml.lib : args_main.obj (.text)
                      003f6865    00000019                    : exit.obj (.text)
                      003f687e    00000015     DSP281x_MemCopy.obj (.text)
                      003f6893    00000012     DSP281x_Adc.obj (.text)
                      003f68a5    0000000d     DSP281x_Gpio.obj (.text)
                      003f68b2    0000000d     Flash2812_API_V210.lib : Flash28_Delay.obj (.text)
                      003f68bf    00000009     rts2800_ml.lib : _lock.obj (.text)
                      003f68c8    00000008     DSP281x_CodeStartBranch.obj (.text)
                      003f68d0    00000007     Flash2812_API_V210.lib : Flash28_DisInt.obj (.text)
                      003f68d7    00000001     DSP281x_Ev.obj (.text)
    
    .cinit     0    003f68d8    000002e6     
                      003f68d8    000002b6     mkm_solar_chrgr.obj (.cinit)
                      003f6b8e    00000010     F281x_EEPROM.obj (.cinit)
                      003f6b9e    0000000a     Flash2812_API_V210.lib : Flash28_Globals.obj (.cinit)
                      003f6ba8    0000000a     rts2800_ml.lib : _lock.obj (.cinit)
                      003f6bb2    0000000a                    : exit.obj (.cinit)
                      003f6bbc    00000002     --HOLE-- [fill = 0]
    
    .econst    0    003f6bbe    00000238     
                      003f6bbe    00000106     math_mat.obj (.econst:_costable)
                      003f6cc4    00000100     DSP281x_PieVect.obj (.econst)
                      003f6dc4    00000032     Flash2812_API_V210.lib : Flash28_Erase.obj (.econst)
    
    codestart 
    *          0    003f7ff6    00000002     
                      003f7ff6    00000002     DSP281x_CodeStartBranch.obj (codestart)
    
    .reset     0    003fffc0    00000002     DSECT
                      003fffc0    00000002     rts2800_ml.lib : boot.obj (.reset)
    
    vectors    0    003fffc2    00000000     DSECT
    
    .stack     1    00000000    00000400     UNINITIALIZED
                      00000000    00000400     --HOLE--
    
    DevEmuRegsFile 
    *          1    00000880    000000d0     UNINITIALIZED
                      00000880    000000d0     DSP281x_GlobalVariableDefs.obj (DevEmuRegsFile)
    
    FlashRegsFile 
    *          1    00000a80    00000008     UNINITIALIZED
                      00000a80    00000008     DSP281x_GlobalVariableDefs.obj (FlashRegsFile)
    
    CsmRegsFile 
    *          1    00000ae0    00000010     UNINITIALIZED
                      00000ae0    00000010     DSP281x_GlobalVariableDefs.obj (CsmRegsFile)
    
    XintfRegsFile 
    *          1    00000b20    00000020     UNINITIALIZED
                      00000b20    00000020     DSP281x_GlobalVariableDefs.obj (XintfRegsFile)
    
    CpuTimer0RegsFile 
    *          1    00000c00    00000008     UNINITIALIZED
                      00000c00    00000008     DSP281x_GlobalVariableDefs.obj (CpuTimer0RegsFile)
    
    CpuTimer1RegsFile 
    *          1    00000c08    00000008     UNINITIALIZED
                      00000c08    00000008     DSP281x_GlobalVariableDefs.obj (CpuTimer1RegsFile)
    
    CpuTimer2RegsFile 
    *          1    00000c10    00000008     UNINITIALIZED
                      00000c10    00000008     DSP281x_GlobalVariableDefs.obj (CpuTimer2RegsFile)
    
    PieCtrlRegsFile 
    *          1    00000ce0    0000001a     UNINITIALIZED
                      00000ce0    0000001a     DSP281x_GlobalVariableDefs.obj (PieCtrlRegsFile)
    
    PieVectTableFile 
    *          1    00000d00    00000100     UNINITIALIZED
                      00000d00    00000100     DSP281x_GlobalVariableDefs.obj (PieVectTableFile)
    
    ECanaRegsFile 
    *          1    00006000    00000034     UNINITIALIZED
                      00006000    00000034     DSP281x_GlobalVariableDefs.obj (ECanaRegsFile)
    
    ECanaLAMRegsFile 
    *          1    00006040    00000040     UNINITIALIZED
                      00006040    00000040     DSP281x_GlobalVariableDefs.obj (ECanaLAMRegsFile)
    
    ECanaMOTSRegsFile 
    *          1    00006080    00000040     UNINITIALIZED
                      00006080    00000040     DSP281x_GlobalVariableDefs.obj (ECanaMOTSRegsFile)
    
    ECanaMOTORegsFile 
    *          1    000060c0    00000040     UNINITIALIZED
                      000060c0    00000040     DSP281x_GlobalVariableDefs.obj (ECanaMOTORegsFile)
    
    ECanaMboxesFile 
    *          1    00006100    00000100     UNINITIALIZED
                      00006100    00000100     DSP281x_GlobalVariableDefs.obj (ECanaMboxesFile)
    
    SysCtrlRegsFile 
    *          1    00007010    00000020     UNINITIALIZED
                      00007010    00000020     DSP281x_GlobalVariableDefs.obj (SysCtrlRegsFile)
    
    SpiaRegsFile 
    *          1    00007040    00000010     UNINITIALIZED
                      00007040    00000010     DSP281x_GlobalVariableDefs.obj (SpiaRegsFile)
    
    SciaRegsFile 
    *          1    00007050    00000010     UNINITIALIZED
                      00007050    00000010     DSP281x_GlobalVariableDefs.obj (SciaRegsFile)
    
    XIntruptRegsFile 
    *          1    00007070    00000010     UNINITIALIZED
                      00007070    00000010     DSP281x_GlobalVariableDefs.obj (XIntruptRegsFile)
    
    GpioMuxRegsFile 
    *          1    000070c0    00000020     UNINITIALIZED
                      000070c0    00000020     DSP281x_GlobalVariableDefs.obj (GpioMuxRegsFile)
    
    GpioDataRegsFile 
    *          1    000070e0    00000020     UNINITIALIZED
                      000070e0    00000020     DSP281x_GlobalVariableDefs.obj (GpioDataRegsFile)
    
    AdcRegsFile 
    *          1    00007100    0000001a     UNINITIALIZED
                      00007100    0000001a     DSP281x_GlobalVariableDefs.obj (AdcRegsFile)
    
    EvaRegsFile 
    *          1    00007400    00000032     UNINITIALIZED
                      00007400    00000032     DSP281x_GlobalVariableDefs.obj (EvaRegsFile)
    
    EvbRegsFile 
    *          1    00007500    00000032     UNINITIALIZED
                      00007500    00000032     DSP281x_GlobalVariableDefs.obj (EvbRegsFile)
    
    ScibRegsFile 
    *          1    00007750    00000010     UNINITIALIZED
                      00007750    00000010     DSP281x_GlobalVariableDefs.obj (ScibRegsFile)
    
    McbspaRegsFile 
    *          1    00007800    00000025     UNINITIALIZED
                      00007800    00000025     DSP281x_GlobalVariableDefs.obj (McbspaRegsFile)
    
    .ebss      1    00009000    000001c0     UNINITIALIZED
                      00009000    000000c4     mkm_solar_chrgr.obj (.ebss)
                      000090c4    00000008     math_mat.obj (.ebss)
                      000090cc    00000004     Flash2812_API_V210.lib : Flash28_Globals.obj (.ebss)
                      000090d0    00000004     rts2800_ml.lib : _lock.obj (.ebss)
                      000090d4    00000004                    : exit.obj (.ebss)
                      000090d8    00000028     --HOLE--
                      00009100    000000c0     F281x_EEPROM.obj (.ebss)
    
    CsmPwlFile 
    *          1    003f7ff8    00000008     UNINITIALIZED
                      003f7ff8    00000008     DSP281x_GlobalVariableDefs.obj (CsmPwlFile)
    
    
    GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 
    
    address    name
    --------   ----
    003f6000   .text
    003f6865   C$$EXIT
    003f6073   _ADCINT_ISR
    00007100   _AdcRegs
    000080de   _Adc_isr
    00008468   _Average_Value
    00008a63   _BUTT1
    00009101   _Bank_Counter
    00009108   _Bank_Pointer
    00009103   _Bank_Status
    000083a2   _Butt_Safety
    000080bd   _Bypass_SU
    00009063   _C0_cntr
    00009061   _C1_cntr
    00009062   _C2_cntr
    003f60b9   _CAPINT1_ISR
    003f60be   _CAPINT2_ISR
    003f60c3   _CAPINT3_ISR
    003f60ff   _CAPINT4_ISR
    003f6104   _CAPINT5_ISR
    003f6109   _CAPINT6_ISR
    003f6082   _CMP1INT_ISR
    003f6087   _CMP2INT_ISR
    003f608c   _CMP3INT_ISR
    003f60c8   _CMP4INT_ISR
    003f60cd   _CMP5INT_ISR
    003f60d2   _CMP6INT_ISR
    00000c00   _CpuTimer0Regs
    00000c08   _CpuTimer1Regs
    00000c10   _CpuTimer2Regs
    003f7ff8   _CsmPwl
    00000ae0   _CsmRegs
    003f6493   _CsmUnlock
    00009084   _D
    003f600a   _DATALOG_ISR
    0000901f   _DCIDmax
    0000907c   _DIbatt
    00009098   _DIbatt_long
    0000901c   _DIgrid
    00009016   _DIgrid3
    00009015   _DIgrid3_1
    00009017   _DIgrid3_2
    00009006   _DIgrid3_lsb
    00009005   _DIgrid3_lsb_1
    00009023   _DIgrid5
    00009022   _DIgrid5_1
    00009025   _DIgrid5_2
    00009008   _DIgrid5_lsb
    00009007   _DIgrid5_lsb_1
    00009024   _DIgrid9
    0000903f   _DIgrid9_1
    0000901e   _DIgrid9_2
    00009009   _DIgrid9_lsb
    00009001   _DIgrid9_lsb_1
    00009014   _DIgrid_1
    00009013   _DIgrid_2
    0000901d   _DIgrid_lsb
    00009020   _DIgrid_lsb_1
    00008bb7   _DSP28x_usDelay
    0000907b   _DVDCbus
    0000909e   _DVDCbus_long
    0000908b   _DVcar1
    000090a8   _DVcar1_long
    00009075   _DVcar2
    0000909c   _DVcar2_long
    0000909a   _D_long
    0000906d   _Dcar1
    000090a0   _Dcar1_long
    0000906f   _Dcar2
    00009096   _Dcar2_long
    00008000   _DelayUs
    00000880   _DevEmuRegs
    003f6454   _DisableDog
    00009079   _Dsolar
    000090c0   _Dsolar_long
    003f6136   _ECAN0INTA_ISR
    003f613b   _ECAN1INTA_ISR
    00006040   _ECanaLAMRegs
    000060c0   _ECanaMOTORegs
    00006080   _ECanaMOTSRegs
    00006100   _ECanaMboxes
    00006000   _ECanaRegs
    00008a87   _EEPROM_Erase
    003f62fb   _EEPROM_GetSinglePointer
    003f628d   _EEPROM_GetValidBank
    00008b2a   _EEPROM_ProgramSingleByte
    003f62e6   _EEPROM_Read
    00008abf   _EEPROM_UpdateBankStatus
    00008b0a   _EEPROM_UpdatePageStatus
    00008a95   _EEPROM_Write
    003f6140   _EMPTY_ISR
    003f6014   _EMUINT_ISR
    003f6821   _EnableInterrupts
    00009082   _Err
    00009080   _Err_Ibatt
    0000908d   _Err_VDCbus
    0000908c   _Err_Vcar1
    0000908e   _Err_Vcar2
    0000907f   _Err_car1
    00009081   _Err_car2
    0000908f   _Err_grid
    0000908a   _Err_grid3
    00009089   _Err_grid3_1
    00009071   _Err_grid3_2
    00009070   _Err_grid5
    00009073   _Err_grid5_1
    00009072   _Err_grid5_2
    0000907a   _Err_grid9
    0000906c   _Err_grid9_1
    0000906b   _Err_grid9_2
    00009088   _Err_grid_1
    00009087   _Err_grid_2
    00007400   _EvaRegs
    00007500   _EvbRegs
    0000903c   _FirstCall
    003f67c7   _Fl2812_ClearSector
    003f669f   _Fl2812_CompactSector
    003f663f   _Fl2812_EraseSector
    003f66f8   _Fl2812_Init
    003f673f   _Fl28x_ClearLoop
    003f6420   _Fl28x_ClosePulse
    003f65fc   _Fl28x_CompactPulse
    003f65c2   _Fl28x_CompactVerify
    003f68b2   _Fl28x_Delay
    003f68d0   _Fl28x_DisableInt
    003f6736   _Fl28x_DisableNMI
    003f63c2   _Fl28x_EnterCmdMode
    003f623b   _Fl28x_ErasePulse
    003f61f3   _Fl28x_EraseVerify
    003f63f0   _Fl28x_FlashRegSleep
    003f63b5   _Fl28x_LeaveCmdMode
    003f6437   _Fl28x_MaskAll
    003f640f   _Fl28x_OpenPulse
    003f6501   _Fl28x_ProgPulse
    003f64c4   _Fl28x_ProgVerify
    003f68d4   _Fl28x_RestoreInt
    003f672e   _Fl28x_WatchDogDisable
    003f6324   _Flash2812_Erase
    003f614f   _Flash2812_Program
    00000a80   _FlashRegs
    0000910e   _FlashStatus
    000090ce   _Flash_CPUScaleFactor
    000090cc   _Flash_CallbackPtr
    000070e0   _GpioDataRegs
    000070c0   _GpioMuxRegs
    000088cc   _Grid_Angle
    0000902c   _IC1_1
    0000902b   _IC1_butt
    00009045   _IC1_butt_temp
    00009043   _IC2_1
    00009046   _IC2_butt
    00009044   _IC2_butt_temp
    003f601e   _ILLEGAL_ISR
    003f6000   _INT13_ISR
    003f6005   _INT14_ISR
    00009068   _Ibatt
    00009031   _Ibatt_1
    00009047   _Ibatt_butt
    00009030   _Ibatt_butt_temp
    00009067   _Ibatt_max
    00009074   _Ibatt_ref
    00009059   _Icar1
    00009056   _Icar2
    00009058   _Igrid
    00009019   _Igrid_1
    00009018   _Igrid_butt
    00009078   _Igrid_butt_temp
    00009066   _Igrid_max_peak
    00009053   _Igrid_max_rms
    000090a2   _Igrid_ref
    003f6893   _InitAdc
    003f68d7   _InitEv
    00008ba0   _InitFlash
    003f68a5   _InitGpio
    003f6479   _InitPeripheralClocks
    003f6802   _InitPieCtrl
    003f682a   _InitPieVectTable
    003f645c   _InitPll
    003f6442   _InitSysCtrl
    00008048   _Init_ADC
    000080b6   _Init_ADC_int
    0000800f   _Init_Gpio
    0000802b   _Init_SCI
    0000807c   _Init_Timer_PWM
    003f657a   _Init_dsp
    000090ba   _Iref_car1_temp
    000090a6   _Iref_car2_temp
    000090a4   _Iref_grid_temp
    00009057   _Isolar
    0000905c   _Isolar_1
    0000904e   _Isolar_butt
    00009054   _Isolar_butt_temp
    0000905d   _Ispare
    003f644a   _KickDog
    003f6118   _MRINTA_ISR
    003f611d   _MXINTA_ISR
    00007800   _McbspaRegs
    003f687e   _MemCopy
    003f6019   _NMI_ISR
    003f605f   _PDPINTA_ISR
    003f6064   _PDPINTB_ISR
    000089b0   _PI
    003f6145   _PIE_RESERVED
    000090bc   _P_n_1
    00009100   _Page_Counter
    00009104   _Page_Pointer
    00009102   _Page_Status
    00000ce0   _PieCtrlRegs
    00000d00   _PieVectTable
    003f6cc4   _PieVectTableInit
    000090c2   _Pnew
    0000910a   _ProgStatus
    00009065   _Psolar_1
    00009055   _Psolar_butt
    000089f3   _RES
    003f600f   _RTOSINT_ISR
    003ecbbb   _RamfuncsLoadEnd
    003ec000   _RamfuncsLoadStart
    00008000   _RamfuncsRunStart
    00009140   _Read_Buffer
    00008216   _Read_Value
    00009060   _ReceivedChar
    003f6122   _SCIRXINTA_ISR
    003f612c   _SCIRXINTB_ISR
    003f6127   _SCITXINTA_ISR
    003f6131   _SCITXINTB_ISR
    003f610e   _SPIRXINTA_ISR
    003f6113   _SPITXINTA_ISR
    0000834b   _Safety
    00007050   _SciaRegs
    00007750   _ScibRegs
    00009106   _Sector_End
    0000880c   _Solar_P_O
    00007040   _SpiaRegs
    00007010   _SysCtrlRegs
    003f6096   _T1CINT_ISR
    003f60a0   _T1OFINT_ISR
    003f6091   _T1PINT_ISR
    003f609b   _T1UFINT_ISR
    003f60aa   _T2CINT_ISR
    003f60b4   _T2OFINT_ISR
    003f60a5   _T2PINT_ISR
    003f60af   _T2UFINT_ISR
    003f60dc   _T3CINT_ISR
    003f60e6   _T3OFINT_ISR
    003f60d7   _T3PINT_ISR
    003f60e1   _T3UFINT_ISR
    003f60f0   _T4CINT_ISR
    003f60fa   _T4OFINT_ISR
    003f60eb   _T4PINT_ISR
    003f60f5   _T4UFINT_ISR
    003f6078   _TINT0_ISR
    000090c8   _Temp_long
    003f6050   _USER10_ISR
    003f6055   _USER11_ISR
    003f605a   _USER12_ISR
    003f6023   _USER1_ISR
    003f6028   _USER2_ISR
    003f602d   _USER3_ISR
    003f6032   _USER4_ISR
    003f6037   _USER5_ISR
    003f603c   _USER6_ISR
    003f6041   _USER7_ISR
    003f6046   _USER8_ISR
    003f604b   _USER9_ISR
    000090ca   _U_Temp_long
    00009032   _VC1_1
    00009033   _VC1_butt
    00009034   _VC1_butt_temp
    00009004   _VC2_1
    0000904c   _VC2_butt
    00009002   _VC2_butt_temp
    00009028   _VDC_butt
    00009036   _VDC_butt_temp
    0000905e   _VDCbus
    0000902a   _VDCbus_1
    0000904f   _Vbatt
    00009038   _Vbatt_1
    00009039   _Vbatt_Flag
    00009035   _Vbatt_butt
    00009037   _Vbatt_butt_temp
    0000905a   _Vbb
    00009051   _Vcar1
    0000905b   _Vcar2
    0000904d   _Vgrid
    00009000   _Vgrid_1
    00009003   _Vgrid_butt
    0000901a   _Vgrid_butt_temp
    0000901b   _Vgrid_butt_tempf
    00009050   _Vsolar
    00009077   _Vsolar_1
    00009076   _Vsolar_butt
    0000906e   _Vsolar_butt_temp
    003f607d   _WAKEINT_ISR
    00009094   _WriteCounter
    00009180   _Write_Buffer
    003f6069   _XINT1_ISR
    003f606e   _XINT2_ISR
    00007070   _XIntruptRegs
    00000b20   _XintfRegs
    000083e1   _Zig_Rx
    000083ed   _Zig_Tx
    00000400   __STACK_END
    00000400   __STACK_SIZE
    00000001   __TI_args_main
    ffffffff   ___binit__
    ffffffff   ___c_args__
    003f68d8   ___cinit__
    003f68d8   ___etext__
    ffffffff   ___pinit__
    003f6000   ___text__
    003f684a   __args_main
    000090d4   __cleanup_ptr
    000090d6   __dtors_ptr
    000090d2   __lock
    003f68c7   __nop
    003f68c3   __register_lock
    003f68bf   __register_unlock
    00000000   __stack
    000090d0   __unlock
    0000906a   _a
    003f6865   _abort
    00009086   _adc_cnt
    00009085   _adc_cnt2
    0000907d   _adc_flag
    0000907e   _adc_peripheral
    00009010   _alpha
    0000900c   _batt_on
    0000900b   _butt_flag
    003f6783   _c_int00
    0000900e   _car1_on
    0000903b   _car1state
    0000903e   _car2_on
    0000903d   _car2state
    00008919   _cosp
    003f6bbe   _costable
    0000840a   _currentctrl
    00009064   _data
    00009040   _default_on
    003f6867   _exit
    00008885   _fgrid
    0000825f   _filterctrl
    00008b45   _fsrc
    00009027   _gcntr1
    00009026   _gcntr2
    00009029   _gcntr3
    0000903a   _grid_avail
    0000902d   _grid_cntr
    00009042   _grid_on
    0000900f   _ibattflag
    00009011   _icar1flag
    00009012   _icar2flag
    00009021   _igridflag
    0000902e   _inv_cntr
    00009048   _inv_state
    0000900d   _locked_flag
    003f6543   _main
    000090c6   _out_cos1
    000090c7   _out_sin1
    000085f6   _pis
    003f614a   _rsvd_ISR
    00008963   _sinp
    000090b2   _slr_PO_cntr
    0000904b   _slr_step
    00009041   _solar_on
    000087b3   _solarctrl
    0000905f   _solarflag
    00009049   _solarstate
    000090be   _solcntr
    000090b0   _solcntr2
    0000902f   _stability_ctr
    0000900a   _stable_flag
    0000904a   _state
    00009090   _temp1
    00009092   _tempI
    00009052   _tempVDCref
    000090c4   _tempd
    000090c5   _tempd1
    00009069   _tempsolar
    00009083   _test_flag
    00008563   _turnoff_pwm
    00008469   _turnon_pwm
    000090ae   _vc1cntr
    000090b4   _vc1cntr2
    000090b6   _vc1wfcnt
    000090aa   _vc2cntr
    000090ac   _vc2cntr2
    000090b8   _vc2wfcnt
    ffffffff   binit
    003f68d8   cinit
    003f68d8   etext
    ffffffff   pinit
    
    
    GLOBAL SYMBOLS: SORTED BY Symbol Address 
    
    address    name
    --------   ----
    00000000   __stack
    00000001   __TI_args_main
    00000400   __STACK_END
    00000400   __STACK_SIZE
    00000880   _DevEmuRegs
    00000a80   _FlashRegs
    00000ae0   _CsmRegs
    00000b20   _XintfRegs
    00000c00   _CpuTimer0Regs
    00000c08   _CpuTimer1Regs
    00000c10   _CpuTimer2Regs
    00000ce0   _PieCtrlRegs
    00000d00   _PieVectTable
    00006000   _ECanaRegs
    00006040   _ECanaLAMRegs
    00006080   _ECanaMOTSRegs
    000060c0   _ECanaMOTORegs
    00006100   _ECanaMboxes
    00007010   _SysCtrlRegs
    00007040   _SpiaRegs
    00007050   _SciaRegs
    00007070   _XIntruptRegs
    000070c0   _GpioMuxRegs
    000070e0   _GpioDataRegs
    00007100   _AdcRegs
    00007400   _EvaRegs
    00007500   _EvbRegs
    00007750   _ScibRegs
    00007800   _McbspaRegs
    00008000   _DelayUs
    00008000   _RamfuncsRunStart
    0000800f   _Init_Gpio
    0000802b   _Init_SCI
    00008048   _Init_ADC
    0000807c   _Init_Timer_PWM
    000080b6   _Init_ADC_int
    000080bd   _Bypass_SU
    000080de   _Adc_isr
    00008216   _Read_Value
    0000825f   _filterctrl
    0000834b   _Safety
    000083a2   _Butt_Safety
    000083e1   _Zig_Rx
    000083ed   _Zig_Tx
    0000840a   _currentctrl
    00008468   _Average_Value
    00008469   _turnon_pwm
    00008563   _turnoff_pwm
    000085f6   _pis
    000087b3   _solarctrl
    0000880c   _Solar_P_O
    00008885   _fgrid
    000088cc   _Grid_Angle
    00008919   _cosp
    00008963   _sinp
    000089b0   _PI
    000089f3   _RES
    00008a63   _BUTT1
    00008a87   _EEPROM_Erase
    00008a95   _EEPROM_Write
    00008abf   _EEPROM_UpdateBankStatus
    00008b0a   _EEPROM_UpdatePageStatus
    00008b2a   _EEPROM_ProgramSingleByte
    00008b45   _fsrc
    00008ba0   _InitFlash
    00008bb7   _DSP28x_usDelay
    00009000   _Vgrid_1
    00009001   _DIgrid9_lsb_1
    00009002   _VC2_butt_temp
    00009003   _Vgrid_butt
    00009004   _VC2_1
    00009005   _DIgrid3_lsb_1
    00009006   _DIgrid3_lsb
    00009007   _DIgrid5_lsb_1
    00009008   _DIgrid5_lsb
    00009009   _DIgrid9_lsb
    0000900a   _stable_flag
    0000900b   _butt_flag
    0000900c   _batt_on
    0000900d   _locked_flag
    0000900e   _car1_on
    0000900f   _ibattflag
    00009010   _alpha
    00009011   _icar1flag
    00009012   _icar2flag
    00009013   _DIgrid_2
    00009014   _DIgrid_1
    00009015   _DIgrid3_1
    00009016   _DIgrid3
    00009017   _DIgrid3_2
    00009018   _Igrid_butt
    00009019   _Igrid_1
    0000901a   _Vgrid_butt_temp
    0000901b   _Vgrid_butt_tempf
    0000901c   _DIgrid
    0000901d   _DIgrid_lsb
    0000901e   _DIgrid9_2
    0000901f   _DCIDmax
    00009020   _DIgrid_lsb_1
    00009021   _igridflag
    00009022   _DIgrid5_1
    00009023   _DIgrid5
    00009024   _DIgrid9
    00009025   _DIgrid5_2
    00009026   _gcntr2
    00009027   _gcntr1
    00009028   _VDC_butt
    00009029   _gcntr3
    0000902a   _VDCbus_1
    0000902b   _IC1_butt
    0000902c   _IC1_1
    0000902d   _grid_cntr
    0000902e   _inv_cntr
    0000902f   _stability_ctr
    00009030   _Ibatt_butt_temp
    00009031   _Ibatt_1
    00009032   _VC1_1
    00009033   _VC1_butt
    00009034   _VC1_butt_temp
    00009035   _Vbatt_butt
    00009036   _VDC_butt_temp
    00009037   _Vbatt_butt_temp
    00009038   _Vbatt_1
    00009039   _Vbatt_Flag
    0000903a   _grid_avail
    0000903b   _car1state
    0000903c   _FirstCall
    0000903d   _car2state
    0000903e   _car2_on
    0000903f   _DIgrid9_1
    00009040   _default_on
    00009041   _solar_on
    00009042   _grid_on
    00009043   _IC2_1
    00009044   _IC2_butt_temp
    00009045   _IC1_butt_temp
    00009046   _IC2_butt
    00009047   _Ibatt_butt
    00009048   _inv_state
    00009049   _solarstate
    0000904a   _state
    0000904b   _slr_step
    0000904c   _VC2_butt
    0000904d   _Vgrid
    0000904e   _Isolar_butt
    0000904f   _Vbatt
    00009050   _Vsolar
    00009051   _Vcar1
    00009052   _tempVDCref
    00009053   _Igrid_max_rms
    00009054   _Isolar_butt_temp
    00009055   _Psolar_butt
    00009056   _Icar2
    00009057   _Isolar
    00009058   _Igrid
    00009059   _Icar1
    0000905a   _Vbb
    0000905b   _Vcar2
    0000905c   _Isolar_1
    0000905d   _Ispare
    0000905e   _VDCbus
    0000905f   _solarflag
    00009060   _ReceivedChar
    00009061   _C1_cntr
    00009062   _C2_cntr
    00009063   _C0_cntr
    00009064   _data
    00009065   _Psolar_1
    00009066   _Igrid_max_peak
    00009067   _Ibatt_max
    00009068   _Ibatt
    00009069   _tempsolar
    0000906a   _a
    0000906b   _Err_grid9_2
    0000906c   _Err_grid9_1
    0000906d   _Dcar1
    0000906e   _Vsolar_butt_temp
    0000906f   _Dcar2
    00009070   _Err_grid5
    00009071   _Err_grid3_2
    00009072   _Err_grid5_2
    00009073   _Err_grid5_1
    00009074   _Ibatt_ref
    00009075   _DVcar2
    00009076   _Vsolar_butt
    00009077   _Vsolar_1
    00009078   _Igrid_butt_temp
    00009079   _Dsolar
    0000907a   _Err_grid9
    0000907b   _DVDCbus
    0000907c   _DIbatt
    0000907d   _adc_flag
    0000907e   _adc_peripheral
    0000907f   _Err_car1
    00009080   _Err_Ibatt
    00009081   _Err_car2
    00009082   _Err
    00009083   _test_flag
    00009084   _D
    00009085   _adc_cnt2
    00009086   _adc_cnt
    00009087   _Err_grid_2
    00009088   _Err_grid_1
    00009089   _Err_grid3_1
    0000908a   _Err_grid3
    0000908b   _DVcar1
    0000908c   _Err_Vcar1
    0000908d   _Err_VDCbus
    0000908e   _Err_Vcar2
    0000908f   _Err_grid
    00009090   _temp1
    00009092   _tempI
    00009094   _WriteCounter
    00009096   _Dcar2_long
    00009098   _DIbatt_long
    0000909a   _D_long
    0000909c   _DVcar2_long
    0000909e   _DVDCbus_long
    000090a0   _Dcar1_long
    000090a2   _Igrid_ref
    000090a4   _Iref_grid_temp
    000090a6   _Iref_car2_temp
    000090a8   _DVcar1_long
    000090aa   _vc2cntr
    000090ac   _vc2cntr2
    000090ae   _vc1cntr
    000090b0   _solcntr2
    000090b2   _slr_PO_cntr
    000090b4   _vc1cntr2
    000090b6   _vc1wfcnt
    000090b8   _vc2wfcnt
    000090ba   _Iref_car1_temp
    000090bc   _P_n_1
    000090be   _solcntr
    000090c0   _Dsolar_long
    000090c2   _Pnew
    000090c4   _tempd
    000090c5   _tempd1
    000090c6   _out_cos1
    000090c7   _out_sin1
    000090c8   _Temp_long
    000090ca   _U_Temp_long
    000090cc   _Flash_CallbackPtr
    000090ce   _Flash_CPUScaleFactor
    000090d0   __unlock
    000090d2   __lock
    000090d4   __cleanup_ptr
    000090d6   __dtors_ptr
    00009100   _Page_Counter
    00009101   _Bank_Counter
    00009102   _Page_Status
    00009103   _Bank_Status
    00009104   _Page_Pointer
    00009106   _Sector_End
    00009108   _Bank_Pointer
    0000910a   _ProgStatus
    0000910e   _FlashStatus
    00009140   _Read_Buffer
    00009180   _Write_Buffer
    003ec000   _RamfuncsLoadStart
    003ecbbb   _RamfuncsLoadEnd
    003f6000   .text
    003f6000   _INT13_ISR
    003f6000   ___text__
    003f6005   _INT14_ISR
    003f600a   _DATALOG_ISR
    003f600f   _RTOSINT_ISR
    003f6014   _EMUINT_ISR
    003f6019   _NMI_ISR
    003f601e   _ILLEGAL_ISR
    003f6023   _USER1_ISR
    003f6028   _USER2_ISR
    003f602d   _USER3_ISR
    003f6032   _USER4_ISR
    003f6037   _USER5_ISR
    003f603c   _USER6_ISR
    003f6041   _USER7_ISR
    003f6046   _USER8_ISR
    003f604b   _USER9_ISR
    003f6050   _USER10_ISR
    003f6055   _USER11_ISR
    003f605a   _USER12_ISR
    003f605f   _PDPINTA_ISR
    003f6064   _PDPINTB_ISR
    003f6069   _XINT1_ISR
    003f606e   _XINT2_ISR
    003f6073   _ADCINT_ISR
    003f6078   _TINT0_ISR
    003f607d   _WAKEINT_ISR
    003f6082   _CMP1INT_ISR
    003f6087   _CMP2INT_ISR
    003f608c   _CMP3INT_ISR
    003f6091   _T1PINT_ISR
    003f6096   _T1CINT_ISR
    003f609b   _T1UFINT_ISR
    003f60a0   _T1OFINT_ISR
    003f60a5   _T2PINT_ISR
    003f60aa   _T2CINT_ISR
    003f60af   _T2UFINT_ISR
    003f60b4   _T2OFINT_ISR
    003f60b9   _CAPINT1_ISR
    003f60be   _CAPINT2_ISR
    003f60c3   _CAPINT3_ISR
    003f60c8   _CMP4INT_ISR
    003f60cd   _CMP5INT_ISR
    003f60d2   _CMP6INT_ISR
    003f60d7   _T3PINT_ISR
    003f60dc   _T3CINT_ISR
    003f60e1   _T3UFINT_ISR
    003f60e6   _T3OFINT_ISR
    003f60eb   _T4PINT_ISR
    003f60f0   _T4CINT_ISR
    003f60f5   _T4UFINT_ISR
    003f60fa   _T4OFINT_ISR
    003f60ff   _CAPINT4_ISR
    003f6104   _CAPINT5_ISR
    003f6109   _CAPINT6_ISR
    003f610e   _SPIRXINTA_ISR
    003f6113   _SPITXINTA_ISR
    003f6118   _MRINTA_ISR
    003f611d   _MXINTA_ISR
    003f6122   _SCIRXINTA_ISR
    003f6127   _SCITXINTA_ISR
    003f612c   _SCIRXINTB_ISR
    003f6131   _SCITXINTB_ISR
    003f6136   _ECAN0INTA_ISR
    003f613b   _ECAN1INTA_ISR
    003f6140   _EMPTY_ISR
    003f6145   _PIE_RESERVED
    003f614a   _rsvd_ISR
    003f614f   _Flash2812_Program
    003f61f3   _Fl28x_EraseVerify
    003f623b   _Fl28x_ErasePulse
    003f628d   _EEPROM_GetValidBank
    003f62e6   _EEPROM_Read
    003f62fb   _EEPROM_GetSinglePointer
    003f6324   _Flash2812_Erase
    003f63b5   _Fl28x_LeaveCmdMode
    003f63c2   _Fl28x_EnterCmdMode
    003f63f0   _Fl28x_FlashRegSleep
    003f640f   _Fl28x_OpenPulse
    003f6420   _Fl28x_ClosePulse
    003f6437   _Fl28x_MaskAll
    003f6442   _InitSysCtrl
    003f644a   _KickDog
    003f6454   _DisableDog
    003f645c   _InitPll
    003f6479   _InitPeripheralClocks
    003f6493   _CsmUnlock
    003f64c4   _Fl28x_ProgVerify
    003f6501   _Fl28x_ProgPulse
    003f6543   _main
    003f657a   _Init_dsp
    003f65c2   _Fl28x_CompactVerify
    003f65fc   _Fl28x_CompactPulse
    003f663f   _Fl2812_EraseSector
    003f669f   _Fl2812_CompactSector
    003f66f8   _Fl2812_Init
    003f672e   _Fl28x_WatchDogDisable
    003f6736   _Fl28x_DisableNMI
    003f673f   _Fl28x_ClearLoop
    003f6783   _c_int00
    003f67c7   _Fl2812_ClearSector
    003f6802   _InitPieCtrl
    003f6821   _EnableInterrupts
    003f682a   _InitPieVectTable
    003f684a   __args_main
    003f6865   C$$EXIT
    003f6865   _abort
    003f6867   _exit
    003f687e   _MemCopy
    003f6893   _InitAdc
    003f68a5   _InitGpio
    003f68b2   _Fl28x_Delay
    003f68bf   __register_unlock
    003f68c3   __register_lock
    003f68c7   __nop
    003f68d0   _Fl28x_DisableInt
    003f68d4   _Fl28x_RestoreInt
    003f68d7   _InitEv
    003f68d8   ___cinit__
    003f68d8   ___etext__
    003f68d8   cinit
    003f68d8   etext
    003f6bbe   _costable
    003f6cc4   _PieVectTableInit
    003f7ff8   _CsmPwl
    ffffffff   ___binit__
    ffffffff   ___c_args__
    ffffffff   ___pinit__
    ffffffff   binit
    ffffffff   pinit
    
    [392 symbols]
    

  • The FlashAPI functions should take care of disabling interrupts and getting the device ready to be erased/programmed, so you can leave all the extra code out.  You should be able to just call your EEPROM function without worry.

    I took a look at your map file and the flashAPI functions are in fact being linked into the normal .text section which gets placed into flash.  This is no good, as the FlashAPI functions must be run from RAM.

    I'm quickly running out of ideas, as the code in your linker command file should work.  The only difference I see is I have brackets around my "-l" library include and you don't.  Try updating your code generation tools to the latest version and toss this in your linker command file:

        GROUP
        {
            ramfuncs
            { -l F021_API_CortexM3_LE.lib}
         
        } LOAD = FLASHLOAD, RUN = C0,
          LOAD_START(RamfuncsLoadStart),
          LOAD_SIZE(RamfuncsLoadSize),
          RUN_START(RamfuncsRunStart),
          PAGE = 0
      

    Go ahead and change out the library for the 28x flash library you are using, as well as changing out the load and run addresses with something appropriate for your application.

    Trey

  • OK. I am putting that in my .cmd file, but I am not sure how to format it with the ramfuncs code already there. Should I replace both API and ramfuncs with the section you gave me, like this:

    SECTIONS
    {
     
     
        {
            ramfuncs
            { -lFlash2812_API_V210.lib()}
         
        } LOAD = FLASHA, RUN = RAML0,
          LOAD_START(RamfuncsLoadStart),
          LOAD_SIZE(RamfuncsLoadSize),
          RUN_START(RamfuncsRunStart),
          PAGE = 0
       /* Allocate program areas: */
       .cinit              : > FLASHA      PAGE = 0
       .pinit              : > FLASHA      PAGE = 0

    .

    .

    .

    }

    And then, I only use one memcopy() function in my .c file like this: MemCopy(&RamfuncsLoadStart,&RamfuncsLoadEnd,&RamfuncsRunStart);

    When I run it like I mentioned above, it compiles and everything fine. It runs and seems to get stuck somewhere. I then pause it and then select "Rude Retry" when it says it is executing nondebuggable code. I then click play and then pause again and I wind up stopped in this function. This was before updates. I am updating now.

    interrupt void ILLEGAL_ISR(void)   // Illegal operation TRAP
    {
      // Insert ISR Code here

      // Next two lines //for debug only to halt the processor here
      // Remove after inserting ISR Code
     // //asm("          ESTOP0");
     // //for(;;);

    }

  • Hey Trey,

    I have updated my CCstudio files. It is having the same problem. I have uploaded my .cmd file as a .txt so you can see how I was running it. Any more ideas?

    /*
    // TI File $Revision: /main/2 $
    // Checkin $Date: April 28, 2005   15:19:56 $
    //###########################################################################
    //
    // FILE:	F2812.cmd
    //
    // TITLE:	Linker Command File For F2812 Device
    //
    //###########################################################################
    // $TI Release: DSP281x Header Files V1.11 $
    // $Release Date: September 26, 2007 $
    //###########################################################################
    */
    
    /* ======================================================
    // For Code Composer Studio V2.2 and later
    // ---------------------------------------
    // In addition to this memory linker command file, 
    // add the header linker command file directly to the project. 
    // The header linker command file is required to link the
    // peripheral structures to the proper locations within 
    // the memory map.
    //
    // The header linker files are found in <base>\DSP281x_Headers\cmd
    //   
    // For BIOS applications add:      DSP281x_Headers_nonBIOS.cmd
    // For nonBIOS applications add:   DSP281x_Headers_nonBIOS.cmd    
    ========================================================= */
    
    /* ======================================================
    // For Code Composer Studio prior to V2.2
    // --------------------------------------
    // 1) Use one of the following -l statements to include the 
    // header linker command file in the project. The header linker
    // file is required to link the peripheral structures to the proper 
    // locations within the memory map                                    */
    
    /* Uncomment this line to include file only for non-BIOS applications */
    /* -l DSP281x_Headers_nonBIOS.cmd */
    
    /* Uncomment this line to include file only for BIOS applications */
    /* -l DSP281x_Headers_BIOS.cmd */
    
    /* 2) In your project add the path to <base>\DSP281x_headers\cmd to the
       library search path under project->build options, linker tab, 
       library search path (-i).
    /*========================================================= */
    
    /* Define the memory block start/length for the F2812  
       PAGE 0 will be used to organize program sections
       PAGE 1 will be used to organize data sections
    
       Notes: 
             Memory blocks on F2812 are uniform (ie same
             physical memory) in both PAGE 0 and PAGE 1.  
             That is the same memory region should not be
             defined for both PAGE 0 and PAGE 1.
             Doing so will result in corruption of program 
             and/or data. 
    */
    
    MEMORY
    {
    PAGE 0:    /* Program Memory */
               /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE1 for data allocation */
    
       ZONE0       : origin = 0x002000, length = 0x002000     /* XINTF zone 0 */
       ZONE1       : origin = 0x004000, length = 0x002000     /* XINTF zone 1 */
       RAML0       : origin = 0x008000, length = 0x001000     /* on-chip RAM block L0 */
       ZONE2       : origin = 0x080000, length = 0x080000     /* XINTF zone 2 */
       ZONE6       : origin = 0x100000, length = 0x080000     /* XINTF zone 6 */
       OTP         : origin = 0x3D7800, length = 0x000800     /* on-chip OTP */
    /*   FLASHJ      : origin = 0x3D8000, length = 0x002000     /* on-chip FLASH */
       FLASHI      : origin = 0x3DA000, length = 0x002000     /* on-chip FLASH */
       FLASHH      : origin = 0x3DC000, length = 0x004000     /* on-chip FLASH */
       FLASHG      : origin = 0x3E0000, length = 0x004000     /* on-chip FLASH */
       FLASHF      : origin = 0x3E4000, length = 0x004000     /* on-chip FLASH */
       FLASHE      : origin = 0x3E8000, length = 0x004000     /* on-chip FLASH */
       FLASHD      : origin = 0x3EC000, length = 0x004000     /* on-chip FLASH */
       FLASHC      : origin = 0x3F0000, length = 0x004000     /* on-chip FLASH */
       FLASHB      : origin = 0x3F4000, length = 0x002000     /* on-chip FLASH */
       FLASHA      : origin = 0x3F6000, length = 0x001F80     /* on-chip FLASH */
       CSM_RSVD    : origin = 0x3F7F80, length = 0x000076     /* Part of FLASHA.  Program with all 0x0000 when CSM is in use. */
       BEGIN       : origin = 0x3F7FF6, length = 0x000002     /* Part of FLASHA.  Used for "boot to Flash" bootloader mode. */
       CSM_PWL     : origin = 0x3F7FF8, length = 0x000008     /* Part of FLASHA.  CSM password locations in FLASHA */
       
    /* ZONE7       : origin = 0x3FC000, length = 0x003FC0     /* XINTF zone 7 available if MP/MCn=1 */ 
       ROM         : origin = 0x3FF000, length = 0x000FC0     /* Boot ROM available if MP/MCn=0 */
       RESET       : origin = 0x3FFFC0, length = 0x000002     /* part of boot ROM (MP/MCn=0) or XINTF zone 7 (MP/MCn=1) */
       VECTORS     : origin = 0x3FFFC2, length = 0x00003E     /* part of boot ROM (MP/MCn=0) or XINTF zone 7 (MP/MCn=1) */
    
    PAGE 1 :   /* Data Memory */
               /* Memory (RAM/FLASH/OTP) blocks can be moved to PAGE0 for program allocation */
               /* Registers remain on PAGE1                                                  */
    
       RAMM0       : origin = 0x000000, length = 0x000400     /* on-chip RAM block M0 */
       RAMM1       : origin = 0x000400, length = 0x000400     /* on-chip RAM block M1 */
       RAML1       : origin = 0x009000, length = 0x001000     /* on-chip RAM block L1 */
       FLASHJ      : origin = 0x3D8000, length = 0x002000     /* on-chip FLASH */
     /*  FLASHI      : origin = 0x3DA000, length = 0x002000     /* on-chip FLASH */
     /*  FLASHB      : origin = 0x3F4000, length = 0x002000     /* on-chip FLASH */
       RAMH0       : origin = 0x3F8000, length = 0x002000     /* on-chip RAM block H0 */
    }
    
    /* Allocate sections to memory blocks.
       Note:
             codestart user defined section in DSP28_CodeStartBranch.asm used to redirect code 
                       execution when booting to flash
             ramfuncs  user defined section to store functions that will be copied from Flash into RAM
    */ 
     
    SECTIONS
    {
     
     
    
    
       /* Allocate program areas: */
       .cinit              : > FLASHA      PAGE = 0
       .pinit              : > FLASHA      PAGE = 0
       .text               : > FLASHA      PAGE = 0
       codestart           : > BEGIN       PAGE = 0
          ramfuncs            : LOAD = FLASHD, 
                             RUN = RAML0, 
                             LOAD_START(_RamfuncsLoadStart),
                             LOAD_END(_RamfuncsLoadEnd),
                             RUN_START(_RamfuncsRunStart),
                             PAGE = 0
       csmpasswds          : > CSM_PWL     PAGE = 0
       csm_rsvd            : > CSM_RSVD    PAGE = 0
       
       /* Allocate uninitalized data sections: */
       .stack              : > RAMM0       PAGE = 1
       .ebss               : > RAML1       PAGE = 1
       .esysmem            : > RAMH0       PAGE = 1
    
       /* Initialized sections go in Flash */
       /* For SDFlash to program these, they must be allocated to page 0 */
       .econst             : > FLASHA      PAGE = 0
       .switch             : > FLASHA      PAGE = 0      
    
       /* Allocate IQ math areas: */
       IQmath              : > FLASHA      PAGE = 0                  /* Math Code */
       IQmathTables        : > ROM         PAGE = 0, TYPE = NOLOAD   /* Math Tables In ROM */
    
       /* .reset is a standard section used by the compiler.  It contains the */ 
       /* the address of the start of _c_int00 for C Code.   /*
       /* When using the boot ROM this section and the CPU vector */
       /* table is not needed.  Thus the default type is set here to  */
       /* DSECT  */ 
       .reset              : > RESET,      PAGE = 0, TYPE = DSECT
       vectors             : > VECTORS     PAGE = 0, TYPE = DSECT
    
    }
    

    Thanks again for all you help.

  • Phew!  Things are crazy here today...

    Ok, thanks for uploading that.  I went through your file and added the entries that should give you what you want.  Give this file a shot.  If this doesn't work, go ahead and upload the Map file after compiling the project with this linker command file.

    http://e2e.ti.com/cfs-file.ashx/__key/CommunityServer-Discussions-Components-Files/171/1106.matt_5F00_lcf.cmd

    Trey

  • Hey Trey,

    I just dropped your .cmd file in the project folder and excluded the previous f2812.cmd file from build and I got the following errors. Does the name change matter?

    Severity and Description    Path    Resource    Location    Creation Time    Id
    errors encountered during linking; "Example_281xAdcSeqModeTest.out" not built        Example_281xAdcSeqModeTest    line 0    1328818130300    4203
    run placement fails for object "GROUP_1", size 0x10e6 (page 0).  Available ranges: RAML0        size: 0x1000       unused: 0x1000       max hole: 0x1000        Example_281xAdcSeqModeTest    line 0    1328818130299    4199
    unresolved symbol _RamfuncsLoadEnd, first referenced in ./mkm_solar_chrgr.obj        Example_281xAdcSeqModeTest    line 0    1328818130300    4200
    unresolved symbol _RamfuncsLoadStart, first referenced in ./mkm_solar_chrgr.obj        Example_281xAdcSeqModeTest    line 0    1328818130300    4201
    unresolved symbol _RamfuncsRunStart, first referenced in ./mkm_solar_chrgr.obj        Example_281xAdcSeqModeTest    line 0    1328818130300    4202

    I tried commenting out the memcopy() function and I still got the first error:

    Severity and Description    Path    Resource    Location    Creation Time    Id
    errors encountered during linking; "Example_281xAdcSeqModeTest.out" not built        Example_281xAdcSeqModeTest    line 0    1328818522280    4205
    run placement fails for object "GROUP_1", size 0x10dc (page 0).  Available ranges: RAML0        size: 0x1000       unused: 0x1000       max hole: 0x1000        Example_281xAdcSeqModeTest    line 0    1328818522279    4204



  • Ok try this one.  Its having trouble placing some of the run-time sections into RAM because there wasn't enough space the way it was allocated.  I took part of L1 and included it in L0.  This should give L0 enough space to fit all the code.  Once the code fits the symbols will be generated and the linker will stop complaining.

    http://e2e.ti.com/cfs-file.ashx/__key/CommunityServer-Discussions-Components-Files/171/7345.matt_5F00_lcf.cmd

  • Hey Trey,

    When I ran it with the memcopy() function there, I got these errors again.

    Severity and Description    Path    Resource    Location    Creation Time    Id
    errors encountered during linking; "Example_281xAdcSeqModeTest.out" not built        Example_281xAdcSeqModeTest    line 0    1328820304871    4221
    unresolved symbol _RamfuncsLoadEnd, first referenced in ./mkm_solar_chrgr.obj        Example_281xAdcSeqModeTest    line 0    1328820304870    4218
    unresolved symbol _RamfuncsLoadStart, first referenced in ./mkm_solar_chrgr.obj        Example_281xAdcSeqModeTest    line 0    1328820304870    4219
    unresolved symbol _RamfuncsRunStart, first referenced in ./mkm_solar_chrgr.obj        Example_281xAdcSeqModeTest    line 0    1328820304870    4220

    I commented out the memcopy and it ran with no errors. It generated this map file.

    ******************************************************************************
                 TMS320C2000 Linker PC v5.2.11                     
    ******************************************************************************
    >> Linked Thu Feb 09 14:42:24 2012
    
    OUTPUT FILE NAME:   <Example_281xAdcSeqModeTest.out>
    ENTRY POINT SYMBOL: "_c_int00"  address: 003f62d5
    
    
    MEMORY CONFIGURATION
    
             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
    PAGE 0:
      ZONE0                 00002000   00002000  00000000  00002000  RWIX
      ZONE1                 00004000   00002000  00000000  00002000  RWIX
      RAML0                 00008000   00001800  000010de  00000722  RWIX
      ZONE2                 00080000   00080000  00000000  00080000  RWIX
      ZONE6                 00100000   00080000  00000000  00080000  RWIX
      OTP                   003d7800   00000800  00000000  00000800  RWIX
      FLASHI                003da000   00002000  00000000  00002000  RWIX
      FLASHH                003dc000   00004000  00000000  00004000  RWIX
      FLASHG                003e0000   00004000  00000000  00004000  RWIX
      FLASHF                003e4000   00004000  00000000  00004000  RWIX
      FLASHE                003e8000   00004000  00000000  00004000  RWIX
      FLASHD                003ec000   00004000  000010de  00002f22  RWIX
      FLASHC                003f0000   00004000  00000000  00004000  RWIX
      FLASHB                003f4000   00002000  00000000  00002000  RWIX
      FLASHA                003f6000   00001f80  000008bd  000016c3  RWIX
      CSM_RSVD              003f7f80   00000076  00000000  00000076  RWIX
      BEGIN                 003f7ff6   00000002  00000002  00000000  RWIX
      CSM_PWL               003f7ff8   00000008  00000000  00000008  RWIX
      ROM                   003ff000   00000fc0  00000000  00000fc0  RWIX
      RESET                 003fffc0   00000002  00000000  00000002  RWIX
      VECTORS               003fffc2   0000003e  00000000  0000003e  RWIX
    
    PAGE 1:
      RAMM0                 00000000   00000400  00000400  00000000  RWIX
      RAMM1                 00000400   00000400  00000000  00000400  RWIX
      DEV_EMU               00000880   00000180  000000d0  000000b0  RWIX
      FLASH_REGS            00000a80   00000060  00000008  00000058  RWIX
      CSM                   00000ae0   00000010  00000010  00000000  RWIX
      XINTF                 00000b20   00000020  00000020  00000000  RWIX
      CPU_TIMER0            00000c00   00000008  00000008  00000000  RWIX
      CPU_TIMER1            00000c08   00000008  00000008  00000000  RWIX
      CPU_TIMER2            00000c10   00000008  00000008  00000000  RWIX
      PIE_CTRL              00000ce0   00000020  0000001a  00000006  RWIX
      PIE_VECT              00000d00   00000100  00000100  00000000  RWIX
      ECANA                 00006000   00000040  00000034  0000000c  RWIX
      ECANA_LAM             00006040   00000040  00000040  00000000  RWIX
      ECANA_MOTS            00006080   00000040  00000040  00000000  RWIX
      ECANA_MOTO            000060c0   00000040  00000040  00000000  RWIX
      ECANA_MBOX            00006100   00000100  00000100  00000000  RWIX
      SYSTEM                00007010   00000020  00000020  00000000  RWIX
      SPIA                  00007040   00000010  00000010  00000000  RWIX
      SCIA                  00007050   00000010  00000010  00000000  RWIX
      XINTRUPT              00007070   00000010  00000010  00000000  RWIX
      GPIOMUX               000070c0   00000020  00000020  00000000  RWIX
      GPIODAT               000070e0   00000020  00000020  00000000  RWIX
      ADC                   00007100   00000020  0000001a  00000006  RWIX
      EVA                   00007400   00000040  00000032  0000000e  RWIX
      EVB                   00007500   00000040  00000032  0000000e  RWIX
      SCIB                  00007750   00000010  00000010  00000000  RWIX
      MCBSPA                00007800   00000040  00000025  0000001b  RWIX
      RAML1                 00009800   00000800  000001c0  00000640  RWIX
      FLASHJ                003d8000   00002000  00000000  00002000  RWIX
      CSM_PWL               003f7ff8   00000008  00000008  00000000  RWIX
      RAMH0                 003f8000   00002000  00000000  00002000  RWIX
    
    
    SECTION ALLOCATION MAP
    
     output                                  attributes/
    section   page    origin      length       input sections
    --------  ----  ----------  ----------   ----------------
    .pinit     0    003f6000    00000000     UNINITIALIZED
    
    ramfuncs   0    003ec000    000010de     RUN ADDR = 00008000
                      003ec000    0000090f     mkm_solar_chrgr.obj (ramfuncs)
                      003ec90f    0000016e     math_mat.obj (ramfuncs)
                      003eca7d    000000be     F281x_EEPROM.obj (ramfuncs)
                      003ecb3b    0000005b     solar_chrgr_funcs.obj (ramfuncs)
                      003ecb96    00000017     DSP281x_SysCtrl.obj (ramfuncs)
                      003ecbad    00000004     DSP281x_usDelay.obj (ramfuncs)
                      003ecbb1    00000001     --HOLE-- [fill = 0]
                      003ecbb2    000000a4     Flash2812_API_V210.lib : Flash28_Prog.obj (.text)
                      003ecc56    0000009a                            : Flash28_Erase_Pulse.obj (.text)
                      003eccf0    00000091                            : Flash28_Erase.obj (.text)
                      003ecd81    0000008d                            : Flash28_Internals.obj (.text)
                      003ece0e    0000007f                            : Flash28_Prog_Pulse.obj (.text)
                      003ece8d    0000007d                            : Flash28_Compact_Pulse.obj (.text)
                      003ecf0a    00000060                            : Flash28_EraseSector.obj (.text)
                      003ecf6a    00000059                            : Flash28_CompactSector.obj (.text)
                      003ecfc3    00000047                            : Flash28_Init.obj (.text)
                      003ed00a    00000044                            : Flash28_ClearLoop.obj (.text)
                      003ed04e    0000003b                            : Flash28_ClearSector.obj (.text)
                      003ed089    00000001     --HOLE-- [fill = 0]
                      003ed08a    00000032                            : Flash28_Erase.obj (.econst)
                      003ed0bc    0000000d                            : Flash28_Delay.obj (.text)
                      003ed0c9    0000000a                            : Flash28_Globals.obj (.cinit)
                      003ed0d3    00000007                            : Flash28_DisInt.obj (.text)
                      003ed0da    00000004                            : Flash28_Globals.obj (.ebss) [fill = 0]
    
    .text      0    003f6000    000003db     
                      003f6000    0000014f     DSP281x_DefaultIsr.obj (.text)
                      003f614f    00000097     F281x_EEPROM.obj (.text)
                      003f61e6    00000082     DSP281x_SysCtrl.obj (.text)
                      003f6268    0000006d     mkm_solar_chrgr.obj (.text)
                      003f62d5    00000044     rts2800_ml.lib : boot.obj (.text)
                      003f6319    00000028     DSP281x_PieCtrl.obj (.text)
                      003f6341    00000020     DSP281x_PieVect.obj (.text)
                      003f6361    0000001b     rts2800_ml.lib : args_main.obj (.text)
                      003f637c    00000019                    : exit.obj (.text)
                      003f6395    00000015     DSP281x_MemCopy.obj (.text)
                      003f63aa    00000012     DSP281x_Adc.obj (.text)
                      003f63bc    0000000d     DSP281x_Gpio.obj (.text)
                      003f63c9    00000009     rts2800_ml.lib : _lock.obj (.text)
                      003f63d2    00000008     DSP281x_CodeStartBranch.obj (.text)
                      003f63da    00000001     DSP281x_Ev.obj (.text)
    
    .cinit     0    003f63db    000002dc     
                      003f63db    000002b6     mkm_solar_chrgr.obj (.cinit)
                      003f6691    00000010     F281x_EEPROM.obj (.cinit)
                      003f66a1    0000000a     rts2800_ml.lib : _lock.obj (.cinit)
                      003f66ab    0000000a                    : exit.obj (.cinit)
                      003f66b5    00000002     --HOLE-- [fill = 0]
    
    .econst    0    003f66b8    00000206     
                      003f66b8    00000106     math_mat.obj (.econst:_costable)
                      003f67be    00000100     DSP281x_PieVect.obj (.econst)
    
    codestart 
    *          0    003f7ff6    00000002     
                      003f7ff6    00000002     DSP281x_CodeStartBranch.obj (codestart)
    
    .reset     0    003fffc0    00000002     DSECT
                      003fffc0    00000002     rts2800_ml.lib : boot.obj (.reset)
    
    vectors    0    003fffc2    00000000     DSECT
    
    .stack     1    00000000    00000400     UNINITIALIZED
                      00000000    00000400     --HOLE--
    
    DevEmuRegsFile 
    *          1    00000880    000000d0     UNINITIALIZED
                      00000880    000000d0     DSP281x_GlobalVariableDefs.obj (DevEmuRegsFile)
    
    FlashRegsFile 
    *          1    00000a80    00000008     UNINITIALIZED
                      00000a80    00000008     DSP281x_GlobalVariableDefs.obj (FlashRegsFile)
    
    CsmRegsFile 
    *          1    00000ae0    00000010     UNINITIALIZED
                      00000ae0    00000010     DSP281x_GlobalVariableDefs.obj (CsmRegsFile)
    
    XintfRegsFile 
    *          1    00000b20    00000020     UNINITIALIZED
                      00000b20    00000020     DSP281x_GlobalVariableDefs.obj (XintfRegsFile)
    
    CpuTimer0RegsFile 
    *          1    00000c00    00000008     UNINITIALIZED
                      00000c00    00000008     DSP281x_GlobalVariableDefs.obj (CpuTimer0RegsFile)
    
    CpuTimer1RegsFile 
    *          1    00000c08    00000008     UNINITIALIZED
                      00000c08    00000008     DSP281x_GlobalVariableDefs.obj (CpuTimer1RegsFile)
    
    CpuTimer2RegsFile 
    *          1    00000c10    00000008     UNINITIALIZED
                      00000c10    00000008     DSP281x_GlobalVariableDefs.obj (CpuTimer2RegsFile)
    
    PieCtrlRegsFile 
    *          1    00000ce0    0000001a     UNINITIALIZED
                      00000ce0    0000001a     DSP281x_GlobalVariableDefs.obj (PieCtrlRegsFile)
    
    PieVectTableFile 
    *          1    00000d00    00000100     UNINITIALIZED
                      00000d00    00000100     DSP281x_GlobalVariableDefs.obj (PieVectTableFile)
    
    ECanaRegsFile 
    *          1    00006000    00000034     UNINITIALIZED
                      00006000    00000034     DSP281x_GlobalVariableDefs.obj (ECanaRegsFile)
    
    ECanaLAMRegsFile 
    *          1    00006040    00000040     UNINITIALIZED
                      00006040    00000040     DSP281x_GlobalVariableDefs.obj (ECanaLAMRegsFile)
    
    ECanaMOTSRegsFile 
    *          1    00006080    00000040     UNINITIALIZED
                      00006080    00000040     DSP281x_GlobalVariableDefs.obj (ECanaMOTSRegsFile)
    
    ECanaMOTORegsFile 
    *          1    000060c0    00000040     UNINITIALIZED
                      000060c0    00000040     DSP281x_GlobalVariableDefs.obj (ECanaMOTORegsFile)
    
    ECanaMboxesFile 
    *          1    00006100    00000100     UNINITIALIZED
                      00006100    00000100     DSP281x_GlobalVariableDefs.obj (ECanaMboxesFile)
    
    SysCtrlRegsFile 
    *          1    00007010    00000020     UNINITIALIZED
                      00007010    00000020     DSP281x_GlobalVariableDefs.obj (SysCtrlRegsFile)
    
    SpiaRegsFile 
    *          1    00007040    00000010     UNINITIALIZED
                      00007040    00000010     DSP281x_GlobalVariableDefs.obj (SpiaRegsFile)
    
    SciaRegsFile 
    *          1    00007050    00000010     UNINITIALIZED
                      00007050    00000010     DSP281x_GlobalVariableDefs.obj (SciaRegsFile)
    
    XIntruptRegsFile 
    *          1    00007070    00000010     UNINITIALIZED
                      00007070    00000010     DSP281x_GlobalVariableDefs.obj (XIntruptRegsFile)
    
    GpioMuxRegsFile 
    *          1    000070c0    00000020     UNINITIALIZED
                      000070c0    00000020     DSP281x_GlobalVariableDefs.obj (GpioMuxRegsFile)
    
    GpioDataRegsFile 
    *          1    000070e0    00000020     UNINITIALIZED
                      000070e0    00000020     DSP281x_GlobalVariableDefs.obj (GpioDataRegsFile)
    
    AdcRegsFile 
    *          1    00007100    0000001a     UNINITIALIZED
                      00007100    0000001a     DSP281x_GlobalVariableDefs.obj (AdcRegsFile)
    
    EvaRegsFile 
    *          1    00007400    00000032     UNINITIALIZED
                      00007400    00000032     DSP281x_GlobalVariableDefs.obj (EvaRegsFile)
    
    EvbRegsFile 
    *          1    00007500    00000032     UNINITIALIZED
                      00007500    00000032     DSP281x_GlobalVariableDefs.obj (EvbRegsFile)
    
    ScibRegsFile 
    *          1    00007750    00000010     UNINITIALIZED
                      00007750    00000010     DSP281x_GlobalVariableDefs.obj (ScibRegsFile)
    
    McbspaRegsFile 
    *          1    00007800    00000025     UNINITIALIZED
                      00007800    00000025     DSP281x_GlobalVariableDefs.obj (McbspaRegsFile)
    
    .ebss      1    00009800    000001c0     UNINITIALIZED
                      00009800    000000c4     mkm_solar_chrgr.obj (.ebss)
                      000098c4    00000008     math_mat.obj (.ebss)
                      000098cc    00000004     rts2800_ml.lib : _lock.obj (.ebss)
                      000098d0    00000004                    : exit.obj (.ebss)
                      000098d4    0000002c     --HOLE--
                      00009900    000000c0     F281x_EEPROM.obj (.ebss)
    
    CsmPwlFile 
    *          1    003f7ff8    00000008     UNINITIALIZED
                      003f7ff8    00000008     DSP281x_GlobalVariableDefs.obj (CsmPwlFile)
    
    
    GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 
    
    address    name
    --------   ----
    003f6000   .text
    003f637c   C$$EXIT
    003ed0de   RamfuncsLoadEnd
    003ec000   RamfuncsLoadStart
    00008000   RamfuncsRunStart
    003f6073   _ADCINT_ISR
    00007100   _AdcRegs
    000080de   _Adc_isr
    00008462   _Average_Value
    00008a59   _BUTT1
    00009901   _Bank_Counter
    00009908   _Bank_Pointer
    00009903   _Bank_Status
    000083a0   _Butt_Safety
    000080bd   _Bypass_SU
    00009861   _C0_cntr
    0000985f   _C1_cntr
    00009860   _C2_cntr
    003f60b9   _CAPINT1_ISR
    003f60be   _CAPINT2_ISR
    003f60c3   _CAPINT3_ISR
    003f60ff   _CAPINT4_ISR
    003f6104   _CAPINT5_ISR
    003f6109   _CAPINT6_ISR
    003f6082   _CMP1INT_ISR
    003f6087   _CMP2INT_ISR
    003f608c   _CMP3INT_ISR
    003f60c8   _CMP4INT_ISR
    003f60cd   _CMP5INT_ISR
    003f60d2   _CMP6INT_ISR
    00000c00   _CpuTimer0Regs
    00000c08   _CpuTimer1Regs
    00000c10   _CpuTimer2Regs
    003f7ff8   _CsmPwl
    00000ae0   _CsmRegs
    003f6237   _CsmUnlock
    00009858   _D
    003f600a   _DATALOG_ISR
    0000981e   _DCIDmax
    0000986f   _DIbatt
    00009898   _DIbatt_long
    0000981a   _DIgrid
    00009813   _DIgrid3
    00009816   _DIgrid3_1
    00009815   _DIgrid3_2
    00009820   _DIgrid3_lsb
    00009806   _DIgrid3_lsb_1
    00009817   _DIgrid5
    00009821   _DIgrid5_1
    00009824   _DIgrid5_2
    00009805   _DIgrid5_lsb
    00009808   _DIgrid5_lsb_1
    00009823   _DIgrid9
    00009825   _DIgrid9_1
    0000981d   _DIgrid9_2
    00009807   _DIgrid9_lsb
    0000980f   _DIgrid9_lsb_1
    00009822   _DIgrid_1
    00009814   _DIgrid_2
    0000981c   _DIgrid_lsb
    0000981f   _DIgrid_lsb_1
    00008bad   _DSP28x_usDelay
    00009879   _DVDCbus
    0000989e   _DVDCbus_long
    0000987c   _DVcar1
    000098a8   _DVcar1_long
    0000987b   _DVcar2
    0000989c   _DVcar2_long
    0000989a   _D_long
    0000986b   _Dcar1
    000098a0   _Dcar1_long
    0000986e   _Dcar2
    00009896   _Dcar2_long
    00008000   _DelayUs
    00000880   _DevEmuRegs
    003f61f8   _DisableDog
    0000986d   _Dsolar
    000098c0   _Dsolar_long
    003f6136   _ECAN0INTA_ISR
    003f613b   _ECAN1INTA_ISR
    00006040   _ECanaLAMRegs
    000060c0   _ECanaMOTORegs
    00006080   _ECanaMOTSRegs
    00006100   _ECanaMboxes
    00006000   _ECanaRegs
    00008a7d   _EEPROM_Erase
    003f61bd   _EEPROM_GetSinglePointer
    003f614f   _EEPROM_GetValidBank
    00008b20   _EEPROM_ProgramSingleByte
    003f61a8   _EEPROM_Read
    00008ab5   _EEPROM_UpdateBankStatus
    00008b00   _EEPROM_UpdatePageStatus
    00008a8b   _EEPROM_Write
    003f6140   _EMPTY_ISR
    003f6014   _EMUINT_ISR
    003f6338   _EnableInterrupts
    00009856   _Err
    0000987f   _Err_Ibatt
    00009881   _Err_VDCbus
    00009880   _Err_Vcar1
    0000988d   _Err_Vcar2
    0000987e   _Err_car1
    0000987d   _Err_car2
    0000988c   _Err_grid
    00009887   _Err_grid3
    00009889   _Err_grid3_1
    0000988b   _Err_grid3_2
    0000988a   _Err_grid5
    00009871   _Err_grid5_1
    00009870   _Err_grid5_2
    00009873   _Err_grid9
    00009872   _Err_grid9_1
    0000987a   _Err_grid9_2
    0000988e   _Err_grid_1
    00009888   _Err_grid_2
    00007400   _EvaRegs
    00007500   _EvbRegs
    00009839   _FirstCall
    0000904e   _Fl2812_ClearSector
    00008f6a   _Fl2812_CompactSector
    00008f0a   _Fl2812_EraseSector
    00008fc3   _Fl2812_Init
    0000900a   _Fl28x_ClearLoop
    00008dec   _Fl28x_ClosePulse
    00008ec7   _Fl28x_CompactPulse
    00008e8d   _Fl28x_CompactVerify
    000090bc   _Fl28x_Delay
    000090d3   _Fl28x_DisableInt
    00009001   _Fl28x_DisableNMI
    00008d8e   _Fl28x_EnterCmdMode
    00008c9e   _Fl28x_ErasePulse
    00008c56   _Fl28x_EraseVerify
    00008dbc   _Fl28x_FlashRegSleep
    00008d81   _Fl28x_LeaveCmdMode
    00008e03   _Fl28x_MaskAll
    00008ddb   _Fl28x_OpenPulse
    00008e4b   _Fl28x_ProgPulse
    00008e0e   _Fl28x_ProgVerify
    000090d7   _Fl28x_RestoreInt
    00008ff9   _Fl28x_WatchDogDisable
    00008cf0   _Flash2812_Erase
    00008bb2   _Flash2812_Program
    00000a80   _FlashRegs
    0000990e   _FlashStatus
    000090dc   _Flash_CPUScaleFactor
    000090da   _Flash_CallbackPtr
    000070e0   _GpioDataRegs
    000070c0   _GpioMuxRegs
    000088c2   _Grid_Angle
    00009846   _IC1_1
    0000982c   _IC1_butt
    00009844   _IC1_butt_temp
    00009842   _IC2_1
    00009845   _IC2_butt
    00009843   _IC2_butt_temp
    003f601e   _ILLEGAL_ISR
    003f6000   _INT13_ISR
    003f6005   _INT14_ISR
    00009859   _Ibatt
    00009830   _Ibatt_1
    00009838   _Ibatt_butt
    0000982f   _Ibatt_butt_temp
    00009883   _Ibatt_max
    0000988f   _Ibatt_ref
    00009867   _Icar1
    0000985b   _Icar2
    00009855   _Igrid
    00009876   _Igrid_1
    00009819   _Igrid_butt
    00009877   _Igrid_butt_temp
    00009864   _Igrid_max_peak
    00009863   _Igrid_max_rms
    000098a2   _Igrid_ref
    003f63aa   _InitAdc
    003f63da   _InitEv
    00008b96   _InitFlash
    003f63bc   _InitGpio
    003f621d   _InitPeripheralClocks
    003f6319   _InitPieCtrl
    003f6341   _InitPieVectTable
    003f6200   _InitPll
    003f61e6   _InitSysCtrl
    00008048   _Init_ADC
    000080b6   _Init_ADC_int
    0000800f   _Init_Gpio
    0000802b   _Init_SCI
    0000807c   _Init_Timer_PWM
    003f629a   _Init_dsp
    000098ba   _Iref_car1_temp
    000098a6   _Iref_car2_temp
    000098a4   _Iref_grid_temp
    0000985c   _Isolar
    00009850   _Isolar_1
    00009853   _Isolar_butt
    00009851   _Isolar_butt_temp
    0000984f   _Ispare
    003f61ee   _KickDog
    003f6118   _MRINTA_ISR
    003f611d   _MXINTA_ISR
    00007800   _McbspaRegs
    003f6395   _MemCopy
    003f6019   _NMI_ISR
    003f605f   _PDPINTA_ISR
    003f6064   _PDPINTB_ISR
    000089a6   _PI
    003f6145   _PIE_RESERVED
    000098bc   _P_n_1
    00009900   _Page_Counter
    00009904   _Page_Pointer
    00009902   _Page_Status
    00000ce0   _PieCtrlRegs
    00000d00   _PieVectTable
    003f67be   _PieVectTableInit
    000098c2   _Pnew
    0000990a   _ProgStatus
    0000986a   _Psolar_1
    00009865   _Psolar_butt
    000089e9   _RES
    003f600f   _RTOSINT_ISR
    00009940   _Read_Buffer
    00008216   _Read_Value
    0000985e   _ReceivedChar
    003f6122   _SCIRXINTA_ISR
    003f612c   _SCIRXINTB_ISR
    003f6127   _SCITXINTA_ISR
    003f6131   _SCITXINTB_ISR
    003f610e   _SPIRXINTA_ISR
    003f6113   _SPITXINTA_ISR
    00008349   _Safety
    00007050   _SciaRegs
    00007750   _ScibRegs
    00009906   _Sector_End
    00008802   _Solar_P_O
    00007040   _SpiaRegs
    00007010   _SysCtrlRegs
    003f6096   _T1CINT_ISR
    003f60a0   _T1OFINT_ISR
    003f6091   _T1PINT_ISR
    003f609b   _T1UFINT_ISR
    003f60aa   _T2CINT_ISR
    003f60b4   _T2OFINT_ISR
    003f60a5   _T2PINT_ISR
    003f60af   _T2UFINT_ISR
    003f60dc   _T3CINT_ISR
    003f60e6   _T3OFINT_ISR
    003f60d7   _T3PINT_ISR
    003f60e1   _T3UFINT_ISR
    003f60f0   _T4CINT_ISR
    003f60fa   _T4OFINT_ISR
    003f60eb   _T4PINT_ISR
    003f60f5   _T4UFINT_ISR
    003f6078   _TINT0_ISR
    000098c8   _Temp_long
    003f6050   _USER10_ISR
    003f6055   _USER11_ISR
    003f605a   _USER12_ISR
    003f6023   _USER1_ISR
    003f6028   _USER2_ISR
    003f602d   _USER3_ISR
    003f6032   _USER4_ISR
    003f6037   _USER5_ISR
    003f603c   _USER6_ISR
    003f6041   _USER7_ISR
    003f6046   _USER8_ISR
    003f604b   _USER9_ISR
    000098ca   _U_Temp_long
    00009831   _VC1_1
    00009832   _VC1_butt
    00009833   _VC1_butt_temp
    00009802   _VC2_1
    00009878   _VC2_butt
    00009803   _VC2_butt_temp
    00009829   _VDC_butt
    0000982a   _VDC_butt_temp
    0000984d   _VDCbus
    00009828   _VDCbus_1
    0000984c   _Vbatt
    00009837   _Vbatt_1
    0000983a   _Vbatt_Flag
    00009834   _Vbatt_butt
    00009836   _Vbatt_butt_temp
    00009854   _Vbb
    0000984b   _Vcar1
    0000984e   _Vcar2
    00009852   _Vgrid
    00009801   _Vgrid_1
    00009800   _Vgrid_butt
    0000981b   _Vgrid_butt_temp
    00009818   _Vgrid_butt_tempf
    0000985a   _Vsolar
    00009875   _Vsolar_1
    00009874   _Vsolar_butt
    0000986c   _Vsolar_butt_temp
    003f607d   _WAKEINT_ISR
    00009892   _WriteCounter
    00009980   _Write_Buffer
    003f6069   _XINT1_ISR
    003f606e   _XINT2_ISR
    00007070   _XIntruptRegs
    00000b20   _XintfRegs
    000083dd   _Zig_Rx
    000083e9   _Zig_Tx
    00000400   __STACK_END
    00000400   __STACK_SIZE
    00000001   __TI_args_main
    ffffffff   ___binit__
    ffffffff   ___c_args__
    003f63db   ___cinit__
    003f63db   ___etext__
    ffffffff   ___pinit__
    003f6000   ___text__
    003f6361   __args_main
    000098d0   __cleanup_ptr
    000098d2   __dtors_ptr
    000098ce   __lock
    003f63d1   __nop
    003f63cd   __register_lock
    003f63c9   __register_unlock
    00000000   __stack
    000098cc   __unlock
    00009869   _a
    003f637c   _abort
    00009882   _adc_cnt
    00009884   _adc_cnt2
    00009885   _adc_flag
    00009886   _adc_peripheral
    00009804   _alpha
    0000980b   _batt_on
    0000980a   _butt_flag
    003f62d5   _c_int00
    0000980d   _car1_on
    0000983c   _car1state
    0000983f   _car2_on
    0000983b   _car2state
    0000890f   _cosp
    003f66b8   _costable
    00008406   _currentctrl
    00009862   _data
    00009841   _default_on
    003f637e   _exit
    0000887b   _fgrid
    0000825f   _filterctrl
    00008b3b   _fsrc
    00009835   _gcntr1
    00009827   _gcntr2
    00009826   _gcntr3
    00009848   _grid_avail
    0000982e   _grid_cntr
    00009840   _grid_on
    0000980e   _ibattflag
    00009810   _icar1flag
    00009811   _icar2flag
    00009812   _igridflag
    0000982b   _inv_cntr
    00009847   _inv_state
    0000980c   _locked_flag
    003f6268   _main
    000098c6   _out_cos1
    000098c7   _out_sin1
    000085f0   _pis
    003f614a   _rsvd_ISR
    00008959   _sinp
    000098b2   _slr_PO_cntr
    0000984a   _slr_step
    0000983e   _solar_on
    000087a5   _solarctrl
    0000985d   _solarflag
    0000983d   _solarstate
    000098be   _solcntr
    000098b0   _solcntr2
    0000982d   _stability_ctr
    00009809   _stable_flag
    00009849   _state
    00009894   _temp1
    00009890   _tempI
    00009866   _tempVDCref
    000098c4   _tempd
    000098c5   _tempd1
    00009868   _tempsolar
    00009857   _test_flag
    0000855d   _turnoff_pwm
    00008463   _turnon_pwm
    000098ae   _vc1cntr
    000098b4   _vc1cntr2
    000098b6   _vc1wfcnt
    000098aa   _vc2cntr
    000098ac   _vc2cntr2
    000098b8   _vc2wfcnt
    ffffffff   binit
    003f63db   cinit
    003f63db   etext
    ffffffff   pinit
    
    
    GLOBAL SYMBOLS: SORTED BY Symbol Address 
    
    address    name
    --------   ----
    00000000   __stack
    00000001   __TI_args_main
    00000400   __STACK_END
    00000400   __STACK_SIZE
    00000880   _DevEmuRegs
    00000a80   _FlashRegs
    00000ae0   _CsmRegs
    00000b20   _XintfRegs
    00000c00   _CpuTimer0Regs
    00000c08   _CpuTimer1Regs
    00000c10   _CpuTimer2Regs
    00000ce0   _PieCtrlRegs
    00000d00   _PieVectTable
    00006000   _ECanaRegs
    00006040   _ECanaLAMRegs
    00006080   _ECanaMOTSRegs
    000060c0   _ECanaMOTORegs
    00006100   _ECanaMboxes
    00007010   _SysCtrlRegs
    00007040   _SpiaRegs
    00007050   _SciaRegs
    00007070   _XIntruptRegs
    000070c0   _GpioMuxRegs
    000070e0   _GpioDataRegs
    00007100   _AdcRegs
    00007400   _EvaRegs
    00007500   _EvbRegs
    00007750   _ScibRegs
    00007800   _McbspaRegs
    00008000   RamfuncsRunStart
    00008000   _DelayUs
    0000800f   _Init_Gpio
    0000802b   _Init_SCI
    00008048   _Init_ADC
    0000807c   _Init_Timer_PWM
    000080b6   _Init_ADC_int
    000080bd   _Bypass_SU
    000080de   _Adc_isr
    00008216   _Read_Value
    0000825f   _filterctrl
    00008349   _Safety
    000083a0   _Butt_Safety
    000083dd   _Zig_Rx
    000083e9   _Zig_Tx
    00008406   _currentctrl
    00008462   _Average_Value
    00008463   _turnon_pwm
    0000855d   _turnoff_pwm
    000085f0   _pis
    000087a5   _solarctrl
    00008802   _Solar_P_O
    0000887b   _fgrid
    000088c2   _Grid_Angle
    0000890f   _cosp
    00008959   _sinp
    000089a6   _PI
    000089e9   _RES
    00008a59   _BUTT1
    00008a7d   _EEPROM_Erase
    00008a8b   _EEPROM_Write
    00008ab5   _EEPROM_UpdateBankStatus
    00008b00   _EEPROM_UpdatePageStatus
    00008b20   _EEPROM_ProgramSingleByte
    00008b3b   _fsrc
    00008b96   _InitFlash
    00008bad   _DSP28x_usDelay
    00008bb2   _Flash2812_Program
    00008c56   _Fl28x_EraseVerify
    00008c9e   _Fl28x_ErasePulse
    00008cf0   _Flash2812_Erase
    00008d81   _Fl28x_LeaveCmdMode
    00008d8e   _Fl28x_EnterCmdMode
    00008dbc   _Fl28x_FlashRegSleep
    00008ddb   _Fl28x_OpenPulse
    00008dec   _Fl28x_ClosePulse
    00008e03   _Fl28x_MaskAll
    00008e0e   _Fl28x_ProgVerify
    00008e4b   _Fl28x_ProgPulse
    00008e8d   _Fl28x_CompactVerify
    00008ec7   _Fl28x_CompactPulse
    00008f0a   _Fl2812_EraseSector
    00008f6a   _Fl2812_CompactSector
    00008fc3   _Fl2812_Init
    00008ff9   _Fl28x_WatchDogDisable
    00009001   _Fl28x_DisableNMI
    0000900a   _Fl28x_ClearLoop
    0000904e   _Fl2812_ClearSector
    000090bc   _Fl28x_Delay
    000090d3   _Fl28x_DisableInt
    000090d7   _Fl28x_RestoreInt
    000090da   _Flash_CallbackPtr
    000090dc   _Flash_CPUScaleFactor
    00009800   _Vgrid_butt
    00009801   _Vgrid_1
    00009802   _VC2_1
    00009803   _VC2_butt_temp
    00009804   _alpha
    00009805   _DIgrid5_lsb
    00009806   _DIgrid3_lsb_1
    00009807   _DIgrid9_lsb
    00009808   _DIgrid5_lsb_1
    00009809   _stable_flag
    0000980a   _butt_flag
    0000980b   _batt_on
    0000980c   _locked_flag
    0000980d   _car1_on
    0000980e   _ibattflag
    0000980f   _DIgrid9_lsb_1
    00009810   _icar1flag
    00009811   _icar2flag
    00009812   _igridflag
    00009813   _DIgrid3
    00009814   _DIgrid_2
    00009815   _DIgrid3_2
    00009816   _DIgrid3_1
    00009817   _DIgrid5
    00009818   _Vgrid_butt_tempf
    00009819   _Igrid_butt
    0000981a   _DIgrid
    0000981b   _Vgrid_butt_temp
    0000981c   _DIgrid_lsb
    0000981d   _DIgrid9_2
    0000981e   _DCIDmax
    0000981f   _DIgrid_lsb_1
    00009820   _DIgrid3_lsb
    00009821   _DIgrid5_1
    00009822   _DIgrid_1
    00009823   _DIgrid9
    00009824   _DIgrid5_2
    00009825   _DIgrid9_1
    00009826   _gcntr3
    00009827   _gcntr2
    00009828   _VDCbus_1
    00009829   _VDC_butt
    0000982a   _VDC_butt_temp
    0000982b   _inv_cntr
    0000982c   _IC1_butt
    0000982d   _stability_ctr
    0000982e   _grid_cntr
    0000982f   _Ibatt_butt_temp
    00009830   _Ibatt_1
    00009831   _VC1_1
    00009832   _VC1_butt
    00009833   _VC1_butt_temp
    00009834   _Vbatt_butt
    00009835   _gcntr1
    00009836   _Vbatt_butt_temp
    00009837   _Vbatt_1
    00009838   _Ibatt_butt
    00009839   _FirstCall
    0000983a   _Vbatt_Flag
    0000983b   _car2state
    0000983c   _car1state
    0000983d   _solarstate
    0000983e   _solar_on
    0000983f   _car2_on
    00009840   _grid_on
    00009841   _default_on
    00009842   _IC2_1
    00009843   _IC2_butt_temp
    00009844   _IC1_butt_temp
    00009845   _IC2_butt
    00009846   _IC1_1
    00009847   _inv_state
    00009848   _grid_avail
    00009849   _state
    0000984a   _slr_step
    0000984b   _Vcar1
    0000984c   _Vbatt
    0000984d   _VDCbus
    0000984e   _Vcar2
    0000984f   _Ispare
    00009850   _Isolar_1
    00009851   _Isolar_butt_temp
    00009852   _Vgrid
    00009853   _Isolar_butt
    00009854   _Vbb
    00009855   _Igrid
    00009856   _Err
    00009857   _test_flag
    00009858   _D
    00009859   _Ibatt
    0000985a   _Vsolar
    0000985b   _Icar2
    0000985c   _Isolar
    0000985d   _solarflag
    0000985e   _ReceivedChar
    0000985f   _C1_cntr
    00009860   _C2_cntr
    00009861   _C0_cntr
    00009862   _data
    00009863   _Igrid_max_rms
    00009864   _Igrid_max_peak
    00009865   _Psolar_butt
    00009866   _tempVDCref
    00009867   _Icar1
    00009868   _tempsolar
    00009869   _a
    0000986a   _Psolar_1
    0000986b   _Dcar1
    0000986c   _Vsolar_butt_temp
    0000986d   _Dsolar
    0000986e   _Dcar2
    0000986f   _DIbatt
    00009870   _Err_grid5_2
    00009871   _Err_grid5_1
    00009872   _Err_grid9_1
    00009873   _Err_grid9
    00009874   _Vsolar_butt
    00009875   _Vsolar_1
    00009876   _Igrid_1
    00009877   _Igrid_butt_temp
    00009878   _VC2_butt
    00009879   _DVDCbus
    0000987a   _Err_grid9_2
    0000987b   _DVcar2
    0000987c   _DVcar1
    0000987d   _Err_car2
    0000987e   _Err_car1
    0000987f   _Err_Ibatt
    00009880   _Err_Vcar1
    00009881   _Err_VDCbus
    00009882   _adc_cnt
    00009883   _Ibatt_max
    00009884   _adc_cnt2
    00009885   _adc_flag
    00009886   _adc_peripheral
    00009887   _Err_grid3
    00009888   _Err_grid_2
    00009889   _Err_grid3_1
    0000988a   _Err_grid5
    0000988b   _Err_grid3_2
    0000988c   _Err_grid
    0000988d   _Err_Vcar2
    0000988e   _Err_grid_1
    0000988f   _Ibatt_ref
    00009890   _tempI
    00009892   _WriteCounter
    00009894   _temp1
    00009896   _Dcar2_long
    00009898   _DIbatt_long
    0000989a   _D_long
    0000989c   _DVcar2_long
    0000989e   _DVDCbus_long
    000098a0   _Dcar1_long
    000098a2   _Igrid_ref
    000098a4   _Iref_grid_temp
    000098a6   _Iref_car2_temp
    000098a8   _DVcar1_long
    000098aa   _vc2cntr
    000098ac   _vc2cntr2
    000098ae   _vc1cntr
    000098b0   _solcntr2
    000098b2   _slr_PO_cntr
    000098b4   _vc1cntr2
    000098b6   _vc1wfcnt
    000098b8   _vc2wfcnt
    000098ba   _Iref_car1_temp
    000098bc   _P_n_1
    000098be   _solcntr
    000098c0   _Dsolar_long
    000098c2   _Pnew
    000098c4   _tempd
    000098c5   _tempd1
    000098c6   _out_cos1
    000098c7   _out_sin1
    000098c8   _Temp_long
    000098ca   _U_Temp_long
    000098cc   __unlock
    000098ce   __lock
    000098d0   __cleanup_ptr
    000098d2   __dtors_ptr
    00009900   _Page_Counter
    00009901   _Bank_Counter
    00009902   _Page_Status
    00009903   _Bank_Status
    00009904   _Page_Pointer
    00009906   _Sector_End
    00009908   _Bank_Pointer
    0000990a   _ProgStatus
    0000990e   _FlashStatus
    00009940   _Read_Buffer
    00009980   _Write_Buffer
    003ec000   RamfuncsLoadStart
    003ed0de   RamfuncsLoadEnd
    003f6000   .text
    003f6000   _INT13_ISR
    003f6000   ___text__
    003f6005   _INT14_ISR
    003f600a   _DATALOG_ISR
    003f600f   _RTOSINT_ISR
    003f6014   _EMUINT_ISR
    003f6019   _NMI_ISR
    003f601e   _ILLEGAL_ISR
    003f6023   _USER1_ISR
    003f6028   _USER2_ISR
    003f602d   _USER3_ISR
    003f6032   _USER4_ISR
    003f6037   _USER5_ISR
    003f603c   _USER6_ISR
    003f6041   _USER7_ISR
    003f6046   _USER8_ISR
    003f604b   _USER9_ISR
    003f6050   _USER10_ISR
    003f6055   _USER11_ISR
    003f605a   _USER12_ISR
    003f605f   _PDPINTA_ISR
    003f6064   _PDPINTB_ISR
    003f6069   _XINT1_ISR
    003f606e   _XINT2_ISR
    003f6073   _ADCINT_ISR
    003f6078   _TINT0_ISR
    003f607d   _WAKEINT_ISR
    003f6082   _CMP1INT_ISR
    003f6087   _CMP2INT_ISR
    003f608c   _CMP3INT_ISR
    003f6091   _T1PINT_ISR
    003f6096   _T1CINT_ISR
    003f609b   _T1UFINT_ISR
    003f60a0   _T1OFINT_ISR
    003f60a5   _T2PINT_ISR
    003f60aa   _T2CINT_ISR
    003f60af   _T2UFINT_ISR
    003f60b4   _T2OFINT_ISR
    003f60b9   _CAPINT1_ISR
    003f60be   _CAPINT2_ISR
    003f60c3   _CAPINT3_ISR
    003f60c8   _CMP4INT_ISR
    003f60cd   _CMP5INT_ISR
    003f60d2   _CMP6INT_ISR
    003f60d7   _T3PINT_ISR
    003f60dc   _T3CINT_ISR
    003f60e1   _T3UFINT_ISR
    003f60e6   _T3OFINT_ISR
    003f60eb   _T4PINT_ISR
    003f60f0   _T4CINT_ISR
    003f60f5   _T4UFINT_ISR
    003f60fa   _T4OFINT_ISR
    003f60ff   _CAPINT4_ISR
    003f6104   _CAPINT5_ISR
    003f6109   _CAPINT6_ISR
    003f610e   _SPIRXINTA_ISR
    003f6113   _SPITXINTA_ISR
    003f6118   _MRINTA_ISR
    003f611d   _MXINTA_ISR
    003f6122   _SCIRXINTA_ISR
    003f6127   _SCITXINTA_ISR
    003f612c   _SCIRXINTB_ISR
    003f6131   _SCITXINTB_ISR
    003f6136   _ECAN0INTA_ISR
    003f613b   _ECAN1INTA_ISR
    003f6140   _EMPTY_ISR
    003f6145   _PIE_RESERVED
    003f614a   _rsvd_ISR
    003f614f   _EEPROM_GetValidBank
    003f61a8   _EEPROM_Read
    003f61bd   _EEPROM_GetSinglePointer
    003f61e6   _InitSysCtrl
    003f61ee   _KickDog
    003f61f8   _DisableDog
    003f6200   _InitPll
    003f621d   _InitPeripheralClocks
    003f6237   _CsmUnlock
    003f6268   _main
    003f629a   _Init_dsp
    003f62d5   _c_int00
    003f6319   _InitPieCtrl
    003f6338   _EnableInterrupts
    003f6341   _InitPieVectTable
    003f6361   __args_main
    003f637c   C$$EXIT
    003f637c   _abort
    003f637e   _exit
    003f6395   _MemCopy
    003f63aa   _InitAdc
    003f63bc   _InitGpio
    003f63c9   __register_unlock
    003f63cd   __register_lock
    003f63d1   __nop
    003f63da   _InitEv
    003f63db   ___cinit__
    003f63db   ___etext__
    003f63db   cinit
    003f63db   etext
    003f66b8   _costable
    003f67be   _PieVectTableInit
    003f7ff8   _CsmPwl
    ffffffff   ___binit__
    ffffffff   ___c_args__
    ffffffff   ___pinit__
    ffffffff   binit
    ffffffff   pinit
    
    [392 symbols]
    


  • Matthew,

    The linker is indeed linking the sections correctly and is also generating those symbols!  Take a look at line 263 in the map file.  Clearly these symbols are being generated.  Try adding the underscore to the symbol names in the linker command file.  If that doesn't do it...I'm jumping off a bridge :-P

    Trey

  • It worked!!!!!!

    Now if I need to be able simulate EEPROM in sector I and J then I just need to comment out Flash I in Page 0, and remove the comment notation from Flash I in Page 1?

    Thanks again for all your help Trey!

  • You got it buddy!

    Sorry it took so long to figure out, normally I get to the bottom of things a little quicker.  This should have been wayyy easier.

    Happy to help anytime,
    Trey