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.

[参考译文] TMS320F280025:从引导加载程序跳转到所选的应用程序

Guru**** 2554840 points
Other Parts Discussed in Thread: C2000WARE, TIDM-02011

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1223268/tms320f280025-jumping-to-selected-application-from-bootloader

器件型号:TMS320F280025
主题中讨论的其他器件:C2000WARETIDM-02011

您好!

我 在闪存存储器中有两个应用程序,一个从闪    存扇区3-8闪存,另一个从闪存扇区9-14闪存。 我的引导加载程序代码(位于 Flash 0中)负责选择应用程序和跳转到   所选应用程序的 main。

您能告诉我如何执行以下步骤吗?

1.如何 在选择应用一时加载闪存扇区3-8 或   为应用二加载闪存扇区9-14。  

2.加载后如何跳转到所选应用的主页  

下面 是我的 链接器文件  

MEMORY
{

   BOOT_RSVD		: origin = 0x00000002, length = 0x00000126
   RAMM0           	: origin = 0x00000128, length = 0x000002D8
   RAMM1            : origin = 0x00000400, length = 0x000003F8     /* on-chip RAM block M1 */
// RAMM1_RSVD       : origin = 0x000007F8, length = 0x00000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */

/* RAMLS4           : origin = 0x0000A000, length = 0x00000800
   RAMLS5           : origin = 0x0000A800, length = 0x00000800
   RAMLS6           : origin = 0x0000B000, length = 0x00000800
   RAMLS7           : origin = 0x0000B800, length = 0x00000800 */

   /* Combining all the LS RAMs */
   RAMLS4567        : origin = 0x0000A000, length = 0x00002000
   RAMGS0           : origin = 0x0000C000, length = 0x000007F8
// RAMGS0_RSVD      : origin = 0x0000C7F8, length = 0x00000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
   RESET            : origin = 0x003FFFC0, length = 0x00000002


   BOOTROM          : origin = 0x003F0000, length = 0x00008000
   BOOTROM_EXT      : origin = 0x003F8000, length = 0x00007FC0

#ifdef __TI_COMPILER_VERSION__
   #if __TI_COMPILER_VERSION__ >= 20012000
GROUP {      /* GROUP memory ranges for crc/checksum of entire flash */
   #endif
#endif
   BEGIN           	: origin = 0x080000, length = 0x000002
   /* Flash sectors */
   /* BANK 0 */
// FLASHBANK0       : origin = 0x00080000, length = 0x0000FFF0
   FLASH_BANK0_SEC0  : origin = 0x080002, length = 0x000FFE	/* on-chip Flash */
   FLASH_BANK0_SEC1  : origin = 0x081000, length = 0x001000	/* on-chip Flash */
   FLASH_BANK0_SEC2  : origin = 0x082000, length = 0x001000	/* on-chip Flash */
   FLASH_BANK0_SEC3  : origin = 0x083000, length = 0x001000	/* on-chip Flash */
   FLASH_BANK0_SEC4  : origin = 0x084000, length = 0x001000	/* on-chip Flash */
   FLASH_BANK0_SEC5  : origin = 0x085000, length = 0x001000	/* on-chip Flash */
   FLASH_BANK0_SEC6  : origin = 0x086000, length = 0x001000	/* on-chip Flash */
   FLASH_BANK0_SEC7  : origin = 0x087000, length = 0x001000	/* on-chip Flash */
   FLASH_BANK0_SEC8  : origin = 0x088000, length = 0x001000	/* on-chip Flash */
   FLASH_BANK0_SEC9  : origin = 0x089000, length = 0x001000	/* on-chip Flash */
   FLASH_BANK0_SEC10 : origin = 0x08A000, length = 0x001000	/* on-chip Flash */
   FLASH_BANK0_SEC11 : origin = 0x08B000, length = 0x001000	/* on-chip Flash */
   FLASH_BANK0_SEC12 : origin = 0x08C000, length = 0x001000	/* on-chip Flash */
   FLASH_BANK0_SEC13 : origin = 0x08D000, length = 0x001000	/* on-chip Flash */
   FLASH_BANK0_SEC14 : origin = 0x08E000, length = 0x001000	/* on-chip Flash */
   FLASH_BANK0_SEC15 : origin = 0x08F000, length = 0x000FF0	/* on-chip Flash */
   FLASH_BANK0_SEC15_DO_NOT_USE     : origin = 0x08FFF0, length = 0x000010  /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
#ifdef __TI_COMPILER_VERSION__
  #if __TI_COMPILER_VERSION__ >= 20012000
}  crc(_ccs_flash_checksum, algorithm=C28_CHECKSUM_16)
  #endif
#endif

}


SECTIONS
{


   codestart        : > BEGIN, ALIGN(8)
   .boot            : > FLASH_BANK0_SEC0, ALIGN(8)
   .text            : >> FLASH_BANK0_SEC3 | FLASH_BANK0_SEC4 | FLASH_BANK0_SEC5| FLASH_BANK0_SEC6 | FLASH_BANK0_SEC7,   ALIGN(8)
   .cinit           : > FLASH_BANK0_SEC15,  ALIGN(8)
   .switch          : > FLASH_BANK0_SEC15,  ALIGN(8)
   .reset           : > RESET,                  TYPE = DSECT /* not used, */

   .stack           : > RAMM1

   .init_array      : > FLASH_BANK0_SEC15,  ALIGN(8)
   .bss             : > RAMLS4567
   .bss:output      : > RAMLS4567
   .bss:cio         : > RAMGS0
   .const           : > FLASH_BANK0_SEC15,  ALIGN(8)
   .data            : > RAMLS4567
   .sysmem          : > RAMLS4567

    ramgs0 : > RAMGS0

    /*  Allocate IQ math areas: */
   IQmath           : > RAMLS4567
   IQmathTables     : > RAMLS4567

  .TI.ramfunc      : LOAD = FLASH_BANK0_SEC15,
                  RUN = RAMGS0,
                  LOAD_START(RamfuncsLoadStart),
                  LOAD_SIZE(RamfuncsLoadSize),
                  LOAD_END(RamfuncsLoadEnd),
                  RUN_START(RamfuncsRunStart),
                  RUN_SIZE(RamfuncsRunSize),
                  RUN_END(RamfuncsRunEnd),
                  ALIGN(8)

   /* crc/checksum section configured as COPY section to avoid including in executable */
   .TI.memcrc          : type = COPY

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

以及我的引导加载程序代码

void _c_int00(void)
{

    //Read selected Application slot
    if( Application slot 2)
    {
       //Load Application 2 from Flash sector 3 to 9
       //Jump to main of application 2
    }
    else
    {
       //Load Application 1 from Flash sector 3 to 9
       //Jump to main of application 1
    }

}

谢谢,

Revathi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Revathi:

    您可以使用 以下代码


    EntryAddr =(uint32_t) FLASH_BANK0_SEC3;

    ((void (*)(void)) EntryAddr)();  


    您还可以参考我们的闪存内核和启动代码示例、以了解我们是如何实现的。 在 C2000Ware https://www.ti.com/tool/C2000WARE?keyMatch=C2000%20WARE 中查找相关信息

    此致、

    拉杰什怀特

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Rajeshwarm:

    我已经 尝试过您建议的方法,不会进入选定应用程序的主要部分 ,  以及如何确保我的其他应用程序未加载??

    谢谢。

    Revathi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Revathi:

    我将向引导 ROM 团队的专家重新分配此主题。

    此致、

    拉杰什怀特

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    有人能帮我解决这个问题吗?

    谢谢。

    Revathi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Revathi。

    给我几天时间,我会回来。

    此致、
    凯达

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、 Kedar、

    你是否找到任何其他解决方案.

    Thanls,

    Revathi。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Revathi:

    其他两个应用程序是否也链接了 C 运行时? 如果是这样,他们会有一个_c_int00()。 对于每个应用程序,均为入口点,除非您用自己的入口点子例程将其覆盖。

    在任何情况下、对于其他两个应用程序、您都需要调用入口点函数。 根据您的应用的构建(链接)方式、入口点现在可能位于闪存引导扇区的开头。  

    您能否通过引用某个应用程序的映射文件并使用 Rajeshwright 建议的函数指针从您的应用程序选择函数调用入口点函数来尝试测试该应用程序?

    此致、
    凯达

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Kedar、

    您能解释一下以下问题吗?

    如何 根据所选的应用加载扇区。  我想要跳转到 存储器扇区9至15中下载的升级固件的 main。就像我对  Rajeshwife 说的那样   , 跳转到特定地址没有问题,我在跳转到 所选固件的 main 时遇到问题。

    2.我不想 加载先前固件的内存,即扇区3到8是否有解决方案可实现?

    3.如果没有解决方案、如果我加载整个闪存、并考虑到我将有两个相同函数名的副本、微控制器的行为将是怎样的。

    我的扇区0到2有处理跳转的引导加载程序代码。 请告诉我,是否有任何解决方案可用,感谢您的帮助。  

    谢谢。

    Revathi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、 Kedar、


    我们的应用包含通用链接器文件和引导加载程序部分。 我 已将闪存分为三个部分第一个分区专用于引导加载程序。 另外两个插槽保留用于当前固件和固件更新。

    下面是我们的应用处理器的

    -在闪存中
       分区1:引导加载程序代码和引导信息
       -分区2&3:保留当前固件和固件更新

    应用流程如下

    ->在启动或重新启动时->执行启动加载程序->读取启动信息->根据启动信息跳转到所选固件

    因此、当下载新固件时。 我们 正在将活动时隙移至下载位置。 例如,如果我当前的活动插槽是分区 3,并且新的固件已 下载    到分区2。然后,下次重置时,它应该跳到分区。  2.我尝试了很多建议,但没有  找到 合适的解决方案。 能 帮我解决吗?

    谢谢。

    Revathi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Revathi:

    1.您需要跳转到需要跳转到的应用程序的_c_init00()。 如果闪存中有两个应用程序,则有两个_c_init00()位置,前提是两个应用程序都是单独编译的。

    2.参考第1点

    3.这是一个很常见的用例。 我看到的基本问题可能与了解应用程序的编译方式及其入口点有关。

    此致、
    凯达

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、 Kedar、

    在我的应用程序中   ,我使用 pragma 代码段强制将_c_init00()的位置置于扇区零,这正是我所说的维护 常用 引导加载程序( _c_init00())的含义。   您能帮助我说明一下如何从中导航吗?因为如果我加载整个闪存以进行存储器访问、那么我会为每个函数使用两个实例、我 对 程序的行为会有何不同

    谢谢。

    Revathi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Revathi

    我想我不清楚应用程序是如何构建的、因此请帮助回答以下问题:

    1.是否使用相同的链接器命令脚本分别编译引导加载程序、App1和 App2?
    2.是否可以共享 App1和 App2的映射文件?
    3.如果您不构建单独的应用程序,您能帮助我了解您的构建过程吗?

    -Kedar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Kedar、

    我们将像您提到的那样使用相同的链接器文件单独构建应用。

    以下是两个应用程序的地图文件

    应用1:

    ******************************************************************************
                 TMS320C2000 Linker PC v22.6.0                     
    ******************************************************************************
    >> Linked Tue May 16 13:00:49 2023
    
    OUTPUT FILE NAME:   <app.out>
    ENTRY POINT SYMBOL: "_c_int00"  address: 0008c7f4
    
    
    MEMORY CONFIGURATION
    
             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      BOOT_RSVD             00000002   00000126  00000000  00000126  RWIX
      RAMM0                 00000128   000002d8  00000000  000002d8  RWIX
      RAMM1                 00000400   000003f8  00000200  000001f8  RWIX
      RAMLS4567             0000a000   00002000  000001a3  00001e5d  RWIX
      RAMGS0                0000c000   000007f8  00000183  00000675  RWIX
      BEGIN                 00080000   00000002  00000002  00000000  RWIX
      FLASH_BANK0_SEC0      00080002   00000ffe  00000000  00000ffe  RWIX
      FLASH_BANK0_SEC1      00081000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC2      00082000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC3      00083000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC4      00084000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC5      00085000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC6      00086000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC7      00087000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC8      00088000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC9      00089000   00001000  00001000  00000000  RWIX
      FLASH_BANK0_SEC10     0008a000   00001000  00001000  00000000  RWIX
      FLASH_BANK0_SEC11     0008b000   00001000  00001000  00000000  RWIX
      FLASH_BANK0_SEC12     0008c000   00001000  00000e30  000001d0  RWIX
      FLASH_BANK0_SEC13     0008d000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC14     0008e000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC15     0008f000   00000ff0  0000027b  00000d75  RWIX
      FLASH_BANK0_SEC15_DO_ 0008fff0   00000010  00000000  00000010  RWIX
      BOOTROM               003f0000   00008000  00000000  00008000  RWIX
      BOOTROM_EXT           003f8000   00007fc0  00000000  00007fc0  RWIX
      RESET                 003fffc0   00000002  00000000  00000002  RWIX
    
    
    SECTION ALLOCATION MAP
    
     output                                  attributes/
    section   page    origin      length       input sections
    --------  ----  ----------  ----------   ----------------
    codestart 
    *          0    00080000    00000002     
                      00080000    00000002     f28002x_codestartbranch.obj (codestart)
    
    .data      0    0000a170    00000034     UNINITIALIZED
                      0000a170    00000007     rtc.obj (.data)
                      0000a177    00000006     CAN.obj (.data:CAN_COMMAND_ID)
                      0000a17d    00000006     CAN.obj (.data:CAN_RESPONSE_ID)
                      0000a183    00000001     --HOLE--
                      0000a184    00000006     board.obj (.data)
                      0000a18a    00000006     rts2800_fpu32_eabi.lib : exit.c.obj (.data)
                      0000a190    00000005     Battery.obj (.data:BatteryBank_Channel)
                      0000a195    00000005     Battery.obj (.data:Battery_en_relay_gpio)
                      0000a19a    00000003     EEPROM.obj (.data)
                      0000a19d    00000001     --HOLE--
                      0000a19e    00000002     Flash.obj (.data)
                      0000a1a0    00000002     rts2800_fpu32_eabi.lib : _lock.c.obj (.data:_lock)
                      0000a1a2    00000002                            : _lock.c.obj (.data:_unlock)
    
    .switch    0    0008f210    00000034     
                      0008f210    0000001a     CAN.obj (.switch:CAN_packet_byte_stream)
                      0008f22a    0000001a     CAN_communication_handler.obj (.switch:Can_data_packet_parser)
    
    .cinit     0    0008f248    0000003c     
                      0008f248    00000027     (.cinit..data.load) [load image, compression = lzss]
                      0008f26f    00000001     --HOLE-- [fill = 0]
                      0008f270    00000006     (__TI_handler_table)
                      0008f276    00000004     (.cinit..bss.load) [load image, compression = zero_init]
                      0008f27a    00000002     --HOLE-- [fill = 0]
                      0008f27c    00000008     (__TI_cinit_table)
    
    .reset     0    003fffc0    00000000     DSECT
    
    .stack     0    00000400    00000200     UNINITIALIZED
                      00000400    00000200     --HOLE--
    
    .init_array 
    *          0    0008f000    00000000     UNINITIALIZED
    
    .bss       0    0000a000    0000016f     UNINITIALIZED
                      0000a000    0000007e     Battery_monitor_handler.obj (.bss)
                      0000a07e    00000042     EEPROM.obj (.bss:RX_MsgBuffer)
                      0000a0c0    00000042     EEPROM.obj (.bss:TX_MsgBuffer)
                      0000a102    00000018     EEPROM.obj (.bss)
                      0000a11a    00000016     rtc.obj (.bss)
                      0000a130    00000010     Flash.obj (.bss:Buffer)
                      0000a140    00000010     CAN_communication_handler.obj (.bss)
                      0000a150    0000000e     Flash.obj (.bss)
                      0000a15e    00000006     FlashAPI_F28002x_FPU32.lib : Init.obj (.bss)
                      0000a164    00000006     board.obj (.bss:rxMsgData)
                      0000a16a    00000002     CAN.obj (.bss)
                      0000a16c    00000002     i2cLib_FIFO_polling.obj (.bss)
                      0000a16e    00000001     board.obj (.bss)
    
    .const     0    0008f188    00000088     
                      0008f188    00000020     Flash.obj (.const:secAddress)
                      0008f1a8    00000010     Battery.obj (.const)
                      0008f1b8    0000000c     EEPROM.obj (.const)
                      0008f1c4    0000000c     i2cLib_FIFO_polling.obj (.const)
                      0008f1d0    0000000c     rtc.obj (.const)
                      0008f1dc    0000000c     Battery_monitor_handler.obj (.const:st_Battery_monitor_state)
                      0008f1e8    0000000c     CAN_communication_handler.obj (.const:st_CAN_communication_state)
                      0008f1f4    0000000b     EEPROM.obj (.const:.string)
                      0008f1ff    00000001     --HOLE-- [fill = 0]
                      0008f200    00000008     temperature.obj (.const)
                      0008f208    00000004     Flash.obj (.const:$P$T0$1)
                      0008f20c    00000004     main.obj (.const:stState)
    
    .TI.ramfunc 
    *          0    0008f000    00000183     RUN ADDR = 0000c000
                      0008f000    00000082     Flash.obj (.TI.ramfunc:FlashErase)
                      0008f082    00000044     Flash.obj (.TI.ramfunc:FlashWrite)
                      0008f0c6    00000023     flash.obj (.TI.ramfunc:Flash_initModule)
                      0008f0e9    00000022     flash.obj (.TI.ramfunc:Flash_setBankPowerMode)
                      0008f10b    00000013     flash.obj (.TI.ramfunc:Flash_setPumpPowerMode)
                      0008f11e    00000011     flash.obj (.TI.ramfunc:Flash_setWaitstates)
                      0008f12f    0000000e     flash.obj (.TI.ramfunc:Flash_disableCache)
                      0008f13d    0000000e     flash.obj (.TI.ramfunc:Flash_disablePrefetch)
                      0008f14b    0000000e     Flash.obj (.TI.ramfunc:Flashinit)
                      0008f159    0000000d     flash.obj (.TI.ramfunc:Flash_enableCache)
                      0008f166    0000000d     flash.obj (.TI.ramfunc:Flash_enablePrefetch)
                      0008f173    0000000c     flash.obj (.TI.ramfunc:Flash_enableECC)
                      0008f17f    00000004     sysctl.obj (.TI.ramfunc)
    
    .TI.memcrc 
    *          0    00000000    00000072     COPY SECTION
                      00000000    00000072     (.TI.memcrc:_ccs_flash_checksum)
    
    .text.1    0    00089000    00001000     
                      00089000    00000340     EEPROM.obj (.text:eeprom_write)
                      00089340    000002f6     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:_Fapi_setupFlashStateMachine)
                      00089636    00000274     Battery_monitor_handler.obj (.text:Battery_monitor_event_handler)
                      000898aa    00000246     EEPROM.obj (.text:eeprom_read)
                      00089af0    000001ab     FlashAPI_F28002x_FPU32.lib : Program.obj (.text:Fapi_issueProgrammingCommand)
                      00089c9b    000001a7     CAN_communication_handler.obj (.text:Can_firmware_data_packet_parser)
                      00089e42    0000019a     CAN.obj (.text:CAN_packet_byte_stream)
                      00089fdc    00000024     board.obj (.text:ADC_setInterruptSOCTrigger)
    
    .text.2    0    0008a000    00001000     
                      0008a000    00000146     i2cLib_FIFO_polling.obj (.text:I2C_MasterTransmitter)
                      0008a146    0000013e     i2cLib_FIFO_polling.obj (.text:I2C_MasterReceiver)
                      0008a284    00000114     CAN_communication_handler.obj (.text:Can_data_packet_parser)
                      0008a398    0000010f     sysctl.obj (.text:SysCtl_isPLLValid)
                      0008a4a7    0000010c     sysctl.obj (.text:SysCtl_setClock)
                      0008a5b3    00000107     i2cLib_FIFO_polling.obj (.text:I2C_TransmitSlaveAddress_ControlBytes)
                      0008a6ba    000000c2     board.obj (.text:GPIO_init)
                      0008a77c    000000ba     Battery.obj (.text:relay_fault_detect_test)
                      0008a836    000000b8     can.obj (.text:CAN_setupMessageObject)
                      0008a8ee    000000b5     EEPROM.obj (.text:eeprom_erase)
                      0008a9a3    000000b3     Battery.obj (.text:Battery_relay_Diagnostic_test)
                      0008aa56    000000b3     CAN.obj (.text:canISR)
                      0008ab09    000000a9     spi.obj (.text:SPI_pollingFIFOTransaction)
                      0008abb2    000000a1     can.obj (.text:CAN_setBitRate)
                      0008ac53    0000009c     rts2800_fpu32_eabi.lib : fd_add28.asm.obj (.text)
                      0008acef    0000009a     device.obj (.text:Device_enableAllPeripherals)
                      0008ad89    00000093     EEPROM.obj (.text:eeprom_write_read_verify)
                      0008ae1c    0000008c     EEPROM.obj (.text:read_last_stored_address)
                      0008aea8    0000008b     rts2800_fpu32_eabi.lib : fd_div28.asm.obj (.text)
                      0008af33    0000008a     Battery.obj (.text:read_battery_discharge_current)
                      0008afbd    00000042     board.obj (.text:initCPUTimers)
                      0008afff    00000001     rts2800_fpu32_eabi.lib : startup.c.obj (.text)
    
    .text.3    0    0008b000    00001000     
                      0008b000    00000083     rts2800_fpu32_eabi.lib : fd_mpy28.asm.obj (.text)
                      0008b083    00000082     FlashAPI_F28002x_FPU32.lib : BlankCheck.obj (.text:Fapi_doBlankCheck)
                      0008b105    00000082     rtc.obj (.text:Read_RTC_time)
                      0008b187    00000082     rtc.obj (.text:Set_RTC_time)
                      0008b209    0000007e     FlashAPI_F28002x_FPU32.lib : Read.obj (.text:_Fapi_checkRegionForValue)
                      0008b287    0000007c     CAN_communication_handler.obj (.text:CAN_Command_handler)
                      0008b303    0000007c     i2c.obj (.text:I2C_initMaster)
                      0008b37f    0000007a     Battery.obj (.text:Battery_bank_Diagnostic_test)
                      0008b3f9    00000074     CAN.obj (.text:CAN_init)
                      0008b46d    00000070     FlashAPI_F28002x_FPU32.lib : Read.obj (.text:_Fapi_loopRegionForValue)
                      0008b4dd    0000006c     gpio.obj (.text:GPIO_setQualificationMode)
                      0008b549    00000068     Battery.obj (.text:Read_Battery_Remaining_Charge)
                      0008b5b1    00000066     gpio.obj (.text:GPIO_setPadConfig)
                      0008b617    00000065     board.obj (.text:ADC_init)
                      0008b67c    00000065     CAN_communication_handler.obj (.text:Firmware_update_handler)
                      0008b6e1    00000065     CAN.obj (.text:Init_CAN_Identifier)
                      0008b746    00000065     EEPROM.obj (.text:update_address)
                      0008b7ab    00000063     rtc.obj (.text:extract_time)
                      0008b80e    0000005f     Battery_monitor_handler.obj (.text:Battery_self_diagno_event_handler)
                      0008b86d    0000005d     Battery.obj (.text:battery_bank_fault_check)
                      0008b8ca    00000057     temperature.obj (.text:read_temperature)
                      0008b921    00000053     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:_Fapi_issueFsmCommand)
                      0008b974    00000052     can.obj (.text:CAN_readMessage)
                      0008b9c6    00000052     board.obj (.text:PinMux_init)
                      0008ba18    00000052     rtc.obj (.text:disable_RTC_oscillator)
                      0008ba6a    00000051     board.obj (.text:I2Cinit)
                      0008babb    0000004f     rtc.obj (.text:enable_RTC_oscillator)
                      0008bb0a    0000004e     board.obj (.text:SPI_init)
                      0008bb58    0000004d     main.obj (.text:cpuTimer1ISR)
                      0008bba5    0000004d     CAN.obj (.text:memory_copy)
                      0008bbf2    0000004a     FlashAPI_F28002x_FPU32.lib : Init.obj (.text:Fapi_initializeAPI)
                      0008bc3c    0000004a     main.obj (.text:main)
                      0008bc86    00000047     can.obj (.text:CAN_sendMessage)
                      0008bccd    00000045     gpio.obj (.text:GPIO_setAnalogMode)
                      0008bd12    00000045     gpio.obj (.text:GPIO_setDirectionMode)
                      0008bd57    00000041     Battery.obj (.text:External_ADC_Selftest)
                      0008bd98    0000003f     EEPROM.obj (.text:is_epprom_write_exceeding_the_page)
                      0008bdd7    0000003f     CAN.obj (.text:verify_crc)
                      0008be16    0000003e     rtc.obj (.text:convertToBcd)
                      0008be54    0000003d     interrupt.obj (.text:Interrupt_initModule)
                      0008be91    0000003c     hsm.obj (.text:event_handler)
                      0008becd    0000003a     Battery.obj (.text:GPIO_writePin)
                      0008bf07    0000003a     board.obj (.text:GPIO_writePin)
                      0008bf41    0000003a     Battery.obj (.text:read_Vdig_supply)
                      0008bf7b    00000039     Battery.obj (.text:SPI_write_read)
                      0008bfb4    00000038     can.obj (.text:CAN_setBitTiming)
                      0008bfec    00000014     sysctl.obj (.text:DCC_setCounter0ClkSource)
    
    .text.4    0    0008c000    00000e30     
                      0008c000    00000038     FlashAPI_F28002x_FPU32.lib : Async.obj (.text:Fapi_issueAsyncCommandWithAddress)
                      0008c038    00000037     gpio.obj (.text:GPIO_setPinConfig)
                      0008c06f    00000037     Flash.obj (.text:read_imageinfo)
                      0008c0a6    00000036     rtc.obj (.text:RTC_self_test)
                      0008c0dc    00000035     CAN.obj (.text:validate_firmware_update_request)
                      0008c111    00000034     interrupt.obj (.text:Interrupt_enable)
                      0008c145    00000033     spi.obj (.text:SPI_setConfig)
                      0008c178    00000033     board.obj (.text:configCPUTimer)
                      0008c1ab    00000032     CAN.obj (.text:GPIO_readPin)
                      0008c1dd    00000031     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_setupBankSectorEnable)
                      0008c20e    0000002f     sysctl.obj (.text:DCC_setCounterSeeds)
                      0008c23d    0000002f     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_setActiveFlashBank)
                      0008c26c    0000002e     can.obj (.text:CAN_clearInterruptStatus)
                      0008c29a    0000002e     rts2800_fpu32_eabi.lib : copy_decompress_lzss.c.obj (.text:decompress:lzss)
                      0008c2c8    0000002d     spi.obj (.text:SPI_clearInterruptStatus)
                      0008c2f5    0000002d     Battery.obj (.text:read_pressure_pad)
                      0008c322    0000002c     FlashAPI_F28002x_FPU32.lib : Utilities.obj (.text:Fapi_calculateFletcherChecksum)
                      0008c34e    0000002b     sysctl.obj (.text:SysCtl_selectOscSource)
                      0008c379    0000002b     sysctl.obj (.text:SysCtl_selectXTAL)
                      0008c3a4    0000002b     rts2800_fpu32_eabi.lib : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit)
                      0008c3cf    0000002a     FlashAPI_F28002x_FPU32.lib : Utilities.obj (.text:_Fapi_divideUnsignedLong)
                      0008c3f9    00000029     rts2800_fpu32_eabi.lib : exit.c.obj (.text)
                      0008c422    00000029     Flash.obj (.text:write_Bootinfo)
                      0008c44b    00000027     Battery.obj (.text:read_battery_Bank)
                      0008c472    00000026     spi.obj (.text:SPI_enableInterrupt)
                      0008c498    00000025     Flash.obj (.text:select_image_slot)
                      0008c4bd    00000024     Battery.obj (.text:Check_battery_channel_low_chagre_status)
                      0008c4e1    00000024     device.obj (.text:Device_init)
                      0008c505    00000023     sysctl.obj (.text:SysCtl_pollX1Counter)
                      0008c528    00000023     board.obj (.text:timers_init)
                      0008c54b    00000022     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_isAddressEcc)
                      0008c56d    00000022     i2c.obj (.text:I2C_enableInterrupt)
                      0008c58f    00000021     EEPROM.obj (.text:verifyEEPROMRead)
                      0008c5b0    00000020     adc.obj (.text:ADC_setOffsetTrimAll)
                      0008c5d0    00000020     board.obj (.text:ADC_setupSOC)
                      0008c5f0    00000020     Flash.obj (.text:FlashErasebootinfo)
                      0008c610    0000001e     interrupt.obj (.text:Interrupt_initVectorTable)
                      0008c62e    0000001e     Battery.obj (.text:bitExtract)
                      0008c64c    0000001e     hsm.obj (.text:traverse_state)
                      0008c66a    0000001d     rts2800_fpu32_eabi.lib : memcpy.c.obj (.text)
                      0008c687    0000001c     board.obj (.text:ADC_setInterruptSource)
                      0008c6a3    0000001c     board.obj (.text:I2C_setFIFOInterruptLevel)
                      0008c6bf    0000001c     i2cLib_FIFO_polling.obj (.text:I2C_setFIFOInterruptLevel)
                      0008c6db    0000001c     board.obj (.text:SPI_setFIFOInterruptLevel)
                      0008c6f7    0000001c     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:_Fapi_setupSectorsForWrite)
                      0008c713    0000001b     can.obj (.text:CAN_readDataReg)
                      0008c72e    0000001b     rts2800_fpu32_eabi.lib : fd_toul28.asm.obj (.text)
                      0008c749    0000001a     can.obj (.text:CAN_writeDataReg)
                      0008c763    0000001a     sysctl.obj (.text:DCC_enableSingleShotMode)
                      0008c77d    0000001a     sysctl.obj (.text:SysCtl_selectXTALSingleEnded)
                      0008c797    00000018     i2c.obj (.text:I2C_clearInterruptStatus)
                      0008c7af    00000017     board.obj (.text:ADC_disableContinuousMode)
                      0008c7c6    00000017     device.obj (.text:SysCtl_enablePeripheral)
                      0008c7dd    00000017     sysctl.obj (.text:SysCtl_enablePeripheral)
                      0008c7f4    00000017     rts2800_fpu32_eabi.lib : boot28.asm.obj (.text)
                      0008c80b    00000017                            : u_tofd28.asm.obj (.text)
                      0008c822    00000016     board.obj (.text:ADC_enableInterrupt)
                      0008c838    00000016     main.obj (.text:SysCtl_setWatchdogMode)
                      0008c84e    00000016     rts2800_fpu32_eabi.lib : ul_tofd28.asm.obj (.text)
                      0008c864    00000015     FlashAPI_F28002x_FPU32.lib : Read.obj (.text:Fapi_flushPipeline)
                      0008c879    00000015     device.obj (.text:GPIO_unlockPortConfig)
                      0008c88e    00000014     sysctl.obj (.text:DCC_setCounter1ClkSource)
                      0008c8a2    00000014     i2cLib_FIFO_polling.obj (.text:I2C_isBusBusy)
                      0008c8b6    00000014     i2cLib_FIFO_polling.obj (.text:checkBusStatus)
                      0008c8ca    00000014     EEPROM.obj (.text:init_eeprom)
                      0008c8de    00000014     rtc.obj (.text:init_rtc_parameters)
                      0008c8f2    00000013     Battery.obj (.text:ADC_getInterruptStatus)
                      0008c905    00000013     temperature.obj (.text:ADC_getInterruptStatus)
                      0008c918    00000013     can.obj (.text:CAN_initModule)
                      0008c92b    00000013     i2cLib_FIFO_polling.obj (.text:handleNACK)
                      0008c93e    00000012     board.obj (.text:ADC_setSOCPriority)
                      0008c950    00000012     CAN.obj (.text:CAN_enableTestMode)
                      0008c962    00000011     board.obj (.text:Board_init)
                      0008c973    00000011     spi.obj (.text:SPI_setcharLength)
                      0008c984    00000010     can.obj (.text:CAN_initRAM)
                      0008c994    00000010     board.obj (.text:CPUTimer_startTimer)
                      0008c9a4    00000010     device.obj (.text:Device_initGPIO)
                      0008c9b4    00000010     i2cLib_FIFO_polling.obj (.text:I2C_getStopConditionStatus)
                      0008c9c4    00000010     board.obj (.text:I2C_setAddressMode)
                      0008c9d4    00000010     i2cLib_FIFO_polling.obj (.text:I2C_setAddressMode)
                      0008c9e4    00000010     board.obj (.text:I2C_setBitCount)
                      0008c9f4    00000010     board.obj (.text:I2C_setConfig)
                      0008ca04    00000010     i2cLib_FIFO_polling.obj (.text:I2C_setConfig)
                      0008ca14    00000010     board.obj (.text:I2C_setEmulationMode)
                      0008ca24    00000010     board.obj (.text:SPI_setEmulationMode)
                      0008ca34    0000000f     FlashAPI_F28002x_FPU32.lib : Verify.obj (.text:Fapi_doVerify)
                      0008ca43    0000000f     CAN.obj (.text:Interrupt_register)
                      0008ca52    0000000f     board.obj (.text:Interrupt_register)
                      0008ca61    0000000f     spi.obj (.text:SPI_writeDataBlockingFIFO)
                      0008ca70    0000000f     rtc.obj (.text:convertFromBcd)
                      0008ca7f    0000000f     main.obj (.text:verify_firmware)
                      0008ca8e    0000000e     Battery_monitor_handler.obj (.text:Battery_monitor_entry_handler)
                      0008ca9c    0000000e     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_checkFsmForReady)
                      0008caaa    0000000e     i2cLib_FIFO_polling.obj (.text:I2C_disableFIFO)
                      0008cab8    0000000e     board.obj (.text:I2C_enableFIFO)
                      0008cac6    0000000e     i2cLib_FIFO_polling.obj (.text:I2C_enableFIFO)
                      0008cad4    0000000e     interrupt.obj (.text:Interrupt_defaultHandler)
                      0008cae2    0000000e     spi.obj (.text:SPI_disableFIFO)
                      0008caf0    0000000e     board.obj (.text:SPI_enableFIFO)
                      0008cafe    0000000e     spi.obj (.text:SPI_enableFIFO)
                      0008cb0c    0000000e     Battery_monitor_handler.obj (.text:init_Battery_monitor)
                      0008cb1a    0000000e     rts2800_fpu32_eabi.lib : fd_sub28.asm.obj (.text)
                      0008cb28    0000000d     CAN.obj (.text:CAN_send_data)
                      0008cb35    0000000d     board.obj (.text:CPUTimer_setPreScaler)
                      0008cb42    0000000d     interrupt.obj (.text:Interrupt_disableMaster)
                      0008cb4f    0000000d     interrupt.obj (.text:Interrupt_enableMaster)
                      0008cb5c    0000000d     device.obj (.text:SysCtl_setLowSpeedClock)
                      0008cb69    0000000d     rts2800_fpu32_eabi.lib : copy_zero_init.c.obj (.text:decompress:ZI:__TI_zero_init_nomemset)
                      0008cb76    0000000c     board.obj (.text:ADC_setInterruptPulseMode)
                      0008cb82    0000000c     board.obj (.text:ADC_setPrescaler)
                      0008cb8e    0000000c     board.obj (.text:CPUTimer_enableInterrupt)
                      0008cb9a    0000000c     sysctl.obj (.text:DCC_disableDoneSignal)
                      0008cba6    0000000c     sysctl.obj (.text:SysCtl_setPLLSysClk)
                      0008cbb2    0000000c     rts2800_fpu32_eabi.lib : args_main.c.obj (.text)
                      0008cbbe    0000000b     board.obj (.text:ADC_disableBurstMode)
                      0008cbc9    0000000b     CAN.obj (.text:CAN_enableInterrupt)
                      0008cbd4    0000000b     board.obj (.text:CPUTimer_reloadTimerCounter)
                      0008cbdf    0000000b     board.obj (.text:CPUTimer_stopTimer)
                      0008cbea    0000000b     sysctl.obj (.text:DCC_clearDoneFlag)
                      0008cbf5    0000000b     sysctl.obj (.text:DCC_clearErrorFlag)
                      0008cc00    0000000b     sysctl.obj (.text:DCC_disableErrorSignal)
                      0008cc0b    0000000b     sysctl.obj (.text:DCC_disableModule)
                      0008cc16    0000000b     sysctl.obj (.text:DCC_enableModule)
                      0008cc21    0000000b     i2cLib_FIFO_polling.obj (.text:I2C_getRxFIFOStatus)
                      0008cc2c    0000000b     i2cLib_FIFO_polling.obj (.text:I2C_getTxFIFOStatus)
                      0008cc37    0000000b     spi.obj (.text:SPI_readDataBlockingFIFO)
                      0008cc42    0000000b     sysctl.obj (.text:SysCtl_isMCDClockFailureDetected)
                      0008cc4d    0000000b     FlashAPI_F28002x_FPU32.lib : Utilities.obj (.text:_Fapi_calculateOtpChecksum)
                      0008cc58    0000000b                                : Utilities.obj (.text:_Fapi_scaleCycleValues)
                      0008cc63    0000000a     Battery.obj (.text:ADC_clearInterruptStatus)
                      0008cc6d    0000000a     board.obj (.text:ADC_clearInterruptStatus)
                      0008cc77    0000000a     temperature.obj (.text:ADC_clearInterruptStatus)
                      0008cc81    0000000a     Battery.obj (.text:ADC_forceMultipleSOC)
                      0008cc8b    0000000a     temperature.obj (.text:ADC_forceMultipleSOC)
                      0008cc95    0000000a     CAN.obj (.text:CAN_clearGlobalInterruptStatus)
                      0008cc9f    0000000a     CAN.obj (.text:CAN_clear_interrupt)
                      0008cca9    0000000a     CAN.obj (.text:CAN_enableGlobalInterrupt)
                      0008ccb3    0000000a     cputimer.obj (.text:CPUTimer_setEmulationMode)
                      0008ccbd    0000000a     i2cLib_FIFO_polling.obj (.text:I2C_putData)
                      0008ccc7    0000000a     spi.obj (.text:SPI_getRxFIFOStatus)
                      0008ccd1    0000000a     spi.obj (.text:SPI_getTxFIFOStatus)
                      0008ccdb    0000000a     spi.obj (.text:SPI_setTxFifoTransmitDelay)
                      0008cce5    0000000a     main.obj (.text:SysCtl_enableWatchdog)
                      0008ccef    0000000a     CAN_communication_handler.obj (.text:init_CAN_Communication_handler)
                      0008ccf9    00000009     board.obj (.text:ADC_enableConverter)
                      0008cd02    00000009     board.obj (.text:ASysCtl_setAnalogReferenceExternal)
                      0008cd0b    00000009     Battery_monitor_handler.obj (.text:Battery_self_diagno_entry_handler)
                      0008cd14    00000009     board.obj (.text:I2C_disableLoopback)
                      0008cd1d    00000009     board.obj (.text:I2C_disableModule)
                      0008cd26    00000009     board.obj (.text:I2C_enableModule)
                      0008cd2f    00000009     i2cLib_FIFO_polling.obj (.text:I2C_sendStartCondition)
                      0008cd38    00000009     i2cLib_FIFO_polling.obj (.text:I2C_sendStopCondition)
                      0008cd41    00000009     main.obj (.text:SysCtl_serviceWatchdog)
                      0008cd4a    00000009     rts2800_fpu32_eabi.lib : _lock.c.obj (.text)
                      0008cd53    00000008     Battery.obj (.text:ADC_readResult)
                      0008cd5b    00000008     temperature.obj (.text:ADC_readResult)
                      0008cd63    00000008     CAN.obj (.text:CAN_getInterruptCause)
                      0008cd6b    00000008     i2cLib_FIFO_polling.obj (.text:I2C_clearStatus)
                      0008cd73    00000008     board.obj (.text:I2C_setDataCount)
                      0008cd7b    00000008     i2cLib_FIFO_polling.obj (.text:I2C_setDataCount)
                      0008cd83    00000008     board.obj (.text:I2C_setOwnSlaveAddress)
                      0008cd8b    00000008     i2cLib_FIFO_polling.obj (.text:I2C_setSlaveAddress)
                      0008cd93    00000008     device.obj (.text:SysCtl_disableWatchdog)
                      0008cd9b    00000008     main.obj (.text:SysCtl_disableWatchdog)
                      0008cda3    00000008     rts2800_fpu32_eabi.lib : copy_decompress_none.c.obj (.text:decompress:none)
                      0008cdab    00000008     f28002x_codestartbranch.obj (.text)
                      0008cdb3    00000007     board.obj (.text:ASysCtl_disableTemperatureSensor)
                      0008cdba    00000007     device.obj (.text:ASysCtl_lockVREG)
                      0008cdc1    00000007     CAN.obj (.text:CAN_startModule)
                      0008cdc8    00000007     board.obj (.text:CPUTimer_setPeriod)
                      0008cdcf    00000007     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_getFsmStatus)
                      0008cdd6    00000007     board.obj (.text:SPI_disableLoopback)
                      0008cddd    00000007     board.obj (.text:SPI_disableModule)
                      0008cde4    00000007     spi.obj (.text:SPI_disableModule)
                      0008cdeb    00000007     board.obj (.text:SPI_enableModule)
                      0008cdf2    00000007     spi.obj (.text:SPI_enableModule)
                      0008cdf9    00000007     sysctl.obj (.text:SysCtl_resetMCD)
                      0008ce00    00000006     board.obj (.text:ASYSCTL_init)
                      0008ce06    00000006     CAN.obj (.text:CAN_getStatus)
                      0008ce0c    00000006     i2cLib_FIFO_polling.obj (.text:I2C_getData)
                      0008ce12    00000006     EEPROM.obj (.text:I2C_getStatus)
                      0008ce18    00000006     i2cLib_FIFO_polling.obj (.text:I2C_getStatus)
                      0008ce1e    00000006     CAN.obj (.text:Interrupt_clearACKGroup)
                      0008ce24    00000006     main.obj (.text:Interrupt_clearACKGroup)
                      0008ce2a    00000002     interrupt.obj (.text:Interrupt_illegalOperationHandler)
                      0008ce2c    00000002     interrupt.obj (.text:Interrupt_nmiHandler)
                      0008ce2e    00000002     rts2800_fpu32_eabi.lib : pre_init.c.obj (.text)
    
    MODULE SUMMARY
    
           Module                          code    ro data   rw data
           ------                          ----    -------   -------
        .\device\
           device.obj                      278     0         0      
           f28002x_codestartbranch.obj     10      0         0      
        +--+-------------------------------+-------+---------+---------+
           Total:                          288     0         0      
                                                                    
        .\device\driverlib\
           sysctl.obj                      927     0         0      
           can.obj                         688     0         0      
           spi.obj                         418     0         0      
           gpio.obj                        403     0         0      
           flash.obj                       342     0         0      
           interrupt.obj                   187     0         0      
           i2c.obj                         182     0         0      
           adc.obj                         32      0         0      
           cputimer.obj                    10      0         0      
        +--+-------------------------------+-------+---------+---------+
           Total:                          3189    0         0      
                                                                    
        .\src\apps\
           CAN_communication_handler.obj   934     38        16     
           Battery_monitor_handler.obj     760     12        126    
           main.obj                        221     4         0      
        +--+-------------------------------+-------+---------+---------+
           Total:                          1915    54        142    
                                                                    
        .\src\drivers\
           EEPROM.obj                      2105    23        159    
           board.obj                       1311    0         13     
           Battery.obj                     1257    16        10     
           CAN.obj                         1163    26        14     
           i2cLib_FIFO_polling.obj         1156    12        2      
           rtc.obj                         671     12        29     
           Flash.obj                       589     36        32     
           temperature.obj                 134     8         0      
        +--+-------------------------------+-------+---------+---------+
           Total:                          8386    133       259    
                                                                    
        .\src\service\
           hsm.obj                         90      0         0      
        +--+-------------------------------+-------+---------+---------+
           Total:                          90      0         0      
                                                                    
        ../src/lib/Flash_API/lib/FlashAPI_F28002x_FPU32.lib
           FlashStateMachine.obj           1020    0         0      
           Program.obj                     427     0         0      
           Read.obj                        259     0         0      
           BlankCheck.obj                  130     0         0      
           Utilities.obj                   108     0         0      
           Init.obj                        74      0         6      
           Async.obj                       56      0         0      
           Verify.obj                      15      0         0      
        +--+-------------------------------+-------+---------+---------+
           Total:                          2089    0         6      
                                                                    
        C:\ti\ccs1210\ccs\tools\compiler\ti-cgt-c2000_22.6.0.LTS\lib\rts2800_fpu32_eabi.lib
           fd_add28.asm.obj                156     0         0      
           fd_div28.asm.obj                139     0         0      
           fd_mpy28.asm.obj                131     0         0      
           exit.c.obj                      41      0         6      
           copy_decompress_lzss.c.obj      46      0         0      
           autoinit.c.obj                  43      0         0      
           memcpy.c.obj                    29      0         0      
           fd_toul28.asm.obj               27      0         0      
           boot28.asm.obj                  23      0         0      
           u_tofd28.asm.obj                23      0         0      
           ul_tofd28.asm.obj               22      0         0      
           fd_sub28.asm.obj                14      0         0      
           _lock.c.obj                     9       0         4      
           copy_zero_init.c.obj            13      0         0      
           args_main.c.obj                 12      0         0      
           copy_decompress_none.c.obj      8       0         0      
           pre_init.c.obj                  2       0         0      
           startup.c.obj                   1       0         0      
        +--+-------------------------------+-------+---------+---------+
           Total:                          739     0         10     
                                                                    
           Stack:                          0       0         512    
           Linker Generated:               0       57        0      
        +--+-------------------------------+-------+---------+---------+
           Grand Total:                    16696   244       929    
    
    
    LINKER GENERATED COPY TABLES
    
    __TI_cinit_table @ 0008f27c records: 2, size/record: 4, table size: 8
    	.data: load addr=0008f248, load size=00000027 bytes, run addr=0000a170, run size=00000034 bytes, compression=lzss
    	.bss: load addr=0008f276, load size=00000004 bytes, run addr=0000a000, run size=0000016f bytes, compression=zero_init
    
    
    LINKER GENERATED HANDLER TABLE
    
    __TI_handler_table @ 0008f270 records: 3, size/record: 2, table size: 6
    	index: 0, handler: __TI_zero_init
    	index: 1, handler: __TI_decompress_lzss
    	index: 2, handler: __TI_decompress_none
    
    
    LINKER GENERATED MEMRANGE CRC TABLES
    
    _ccs_flash_checksum @ 00000000 records: 18, size/record: 6, table size: 114, algorithm=C28_CHECKSUM_16(ID=13), CRC: 0000525e
    	BEGIN: page=0, load addr=00080000, size=00000002
    	FLASH_BANK0_SEC0: page=0, load addr=00080002, size=00000ffe
    	FLASH_BANK0_SEC1: page=0, load addr=00081000, size=00001000
    	FLASH_BANK0_SEC2: page=0, load addr=00082000, size=00001000
    	FLASH_BANK0_SEC3: page=0, load addr=00083000, size=00001000
    	FLASH_BANK0_SEC4: page=0, load addr=00084000, size=00001000
    	FLASH_BANK0_SEC5: page=0, load addr=00085000, size=00001000
    	FLASH_BANK0_SEC6: page=0, load addr=00086000, size=00001000
    	FLASH_BANK0_SEC7: page=0, load addr=00087000, size=00001000
    	FLASH_BANK0_SEC8: page=0, load addr=00088000, size=00001000
    	FLASH_BANK0_SEC9: page=0, load addr=00089000, size=00001000
    	FLASH_BANK0_SEC10: page=0, load addr=0008a000, size=00001000
    	FLASH_BANK0_SEC11: page=0, load addr=0008b000, size=00001000
    	FLASH_BANK0_SEC12: page=0, load addr=0008c000, size=00001000
    	FLASH_BANK0_SEC13: page=0, load addr=0008d000, size=00001000
    	FLASH_BANK0_SEC14: page=0, load addr=0008e000, size=00001000
    	FLASH_BANK0_SEC15: page=0, load addr=0008f000, size=00000ff0
    	FLASH_BANK0_SEC15_DO_NOT_USE: page=0, load addr=0008fff0, size=00000010
    
    
    GLOBAL DATA SYMBOLS: SORTED BY DATA PAGE
    
    address     data page           name
    --------    ----------------    ----
    00000400      10 (00000400)     __stack
    
    0000a000     280 (0000a000)     stMapDischageCurrent
    0000a003     280 (0000a000)     StDeltaBatteryDischarge
    
    0000a040     281 (0000a040)     stBatteryMonitorHandler
    0000a07e     281 (0000a040)     RX_MsgBuffer
    
    0000a0c0     283 (0000a0c0)     TX_MsgBuffer
    
    0000a102     284 (0000a100)     ControlAddr
    0000a104     284 (0000a100)     EEPROM
    0000a11a     284 (0000a100)     RTCC
    0000a130     284 (0000a100)     Buffer
    
    0000a140     285 (0000a140)     stCanCommHandler
    0000a150     285 (0000a140)     StFirmwareBootInfo
    0000a156     285 (0000a140)     StFirmwareUpgradeFlashAddress
    0000a15e     285 (0000a140)     Fapi_GlobalInit
    0000a164     285 (0000a140)     rxMsgData
    0000a16a     285 (0000a140)     StCanIDaddress
    0000a16c     285 (0000a140)     currentResponderPtr
    0000a16e     285 (0000a140)     cpuTimer1IntCount
    0000a170     285 (0000a140)     StRTCtime
    0000a177     285 (0000a140)     CAN_COMMAND_ID
    0000a17d     285 (0000a140)     CAN_RESPONSE_ID
    
    0000a184     286 (0000a180)     txMsgCount
    0000a186     286 (0000a180)     rxMsgCount
    0000a188     286 (0000a180)     errorFlag
    0000a18a     286 (0000a180)     __TI_enable_exit_profile_output
    0000a18c     286 (0000a180)     __TI_cleanup_ptr
    0000a18e     286 (0000a180)     __TI_dtors_ptr
    0000a190     286 (0000a180)     BatteryBank_Channel
    0000a195     286 (0000a180)     Battery_en_relay_gpio
    0000a19a     286 (0000a180)     passCount
    0000a19b     286 (0000a180)     failCount
    0000a19c     286 (0000a180)     status
    0000a19e     286 (0000a180)     Buffer32
    0000a1a0     286 (0000a180)     _lock
    0000a1a2     286 (0000a180)     _unlock
    
    0008f188    23c6 (0008f180)     secAddress
    
    
    GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 
    
    page  address   name                                   
    ----  -------   ----                                   
    0     0008b617  ADC_init                               
    0     0008c5b0  ADC_setOffsetTrimAll                   
    0     0008ce00  ASYSCTL_init                           
    0     0000a190  BatteryBank_Channel                    
    0     0008b37f  Battery_bank_Diagnostic_test           
    0     0000a195  Battery_en_relay_gpio                  
    0     0008a9a3  Battery_relay_Diagnostic_test          
    0     0008c962  Board_init                             
    0     0000a130  Buffer                                 
    0     0000a19e  Buffer32                               
    0     0008c3f9  C$$EXIT                                
    0     0000a177  CAN_COMMAND_ID                         
    0     0000a17d  CAN_RESPONSE_ID                        
    0     0008c26c  CAN_clearInterruptStatus               
    0     0008cc9f  CAN_clear_interrupt                    
    0     0008b3f9  CAN_init                               
    0     0008c918  CAN_initModule                         
    0     00089e42  CAN_packet_byte_stream                 
    0     0008b974  CAN_readMessage                        
    0     0008bc86  CAN_sendMessage                        
    0     0008cb28  CAN_send_data                          
    0     0008abb2  CAN_setBitRate                         
    0     0008bfb4  CAN_setBitTiming                       
    0     0008a836  CAN_setupMessageObject                 
    0     0008ccb3  CPUTimer_setEmulationMode              
    0     0008a284  Can_data_packet_parser                 
    0     00089c9b  Can_firmware_data_packet_parser        
    0     0008c4bd  Check_battery_channel_low_chagre_status
    0     0000a102  ControlAddr                            
    0     0008acef  Device_enableAllPeripherals            
    0     0008c4e1  Device_init                            
    0     0008c9a4  Device_initGPIO                        
    0     0000a104  EEPROM                                 
    0     0008bd57  External_ADC_Selftest                  
    0     0000a15e  Fapi_GlobalInit                        
    0     0008c322  Fapi_calculateFletcherChecksum         
    0     0008ca9c  Fapi_checkFsmForReady                  
    0     0008b083  Fapi_doBlankCheck                      
    0     0008ca34  Fapi_doVerify                          
    0     0008c864  Fapi_flushPipeline                     
    0     0008cdcf  Fapi_getFsmStatus                      
    0     0008bbf2  Fapi_initializeAPI                     
    0     0008c54b  Fapi_isAddressEcc                      
    0     0008c000  Fapi_issueAsyncCommandWithAddress      
    0     00089af0  Fapi_issueProgrammingCommand           
    0     0008c23d  Fapi_setActiveFlashBank                
    0     0008c1dd  Fapi_setupBankSectorEnable             
    0     0000c000  FlashErase                             
    0     0008c5f0  FlashErasebootinfo                     
    0     0000c082  FlashWrite                             
    0     0000c0c6  Flash_initModule                       
    0     0000c14b  Flashinit                              
    0     0008a6ba  GPIO_init                              
    0     0008bccd  GPIO_setAnalogMode                     
    0     0008bd12  GPIO_setDirectionMode                  
    0     0008b5b1  GPIO_setPadConfig                      
    0     0008c038  GPIO_setPinConfig                      
    0     0008b4dd  GPIO_setQualificationMode              
    0     0008a146  I2C_MasterReceiver                     
    0     0008a000  I2C_MasterTransmitter                  
    0     0008a5b3  I2C_TransmitSlaveAddress_ControlBytes  
    0     0008c797  I2C_clearInterruptStatus               
    0     0008c56d  I2C_enableInterrupt                    
    0     0008b303  I2C_initMaster                         
    0     0008ba6a  I2Cinit                                
    0     0008b6e1  Init_CAN_Identifier                    
    0     0008c111  Interrupt_enable                       
    0     0008be54  Interrupt_initModule                   
    0     0008c610  Interrupt_initVectorTable              
    0     0008b9c6  PinMux_init                            
    0     0000a11a  RTCC                                   
    0     0008c0a6  RTC_self_test                          
    0     0000a07e  RX_MsgBuffer                           
    0     0008f183  RamfuncsLoadEnd                        
    abs   00000183  RamfuncsLoadSize                       
    0     0008f000  RamfuncsLoadStart                      
    0     0000c183  RamfuncsRunEnd                         
    abs   00000183  RamfuncsRunSize                        
    0     0000c000  RamfuncsRunStart                       
    0     0008b549  Read_Battery_Remaining_Charge          
    0     0008b105  Read_RTC_time                          
    0     0008c2c8  SPI_clearInterruptStatus               
    0     0008c472  SPI_enableInterrupt                    
    0     0008bb0a  SPI_init                               
    0     0008ab09  SPI_pollingFIFOTransaction             
    0     0008c145  SPI_setConfig                          
    0     0008bf7b  SPI_write_read                         
    0     0008b187  Set_RTC_time                           
    0     0000a16a  StCanIDaddress                         
    0     0000a003  StDeltaBatteryDischarge                
    0     0000a150  StFirmwareBootInfo                     
    0     0000a156  StFirmwareUpgradeFlashAddress          
    0     0000a170  StRTCtime                              
    0     0000c17f  SysCtl_delay                           
    0     0008a398  SysCtl_isPLLValid                      
    0     0008c34e  SysCtl_selectOscSource                 
    0     0008c379  SysCtl_selectXTAL                      
    0     0008c77d  SysCtl_selectXTALSingleEnded           
    0     0008a4a7  SysCtl_setClock                        
    0     0000a0c0  TX_MsgBuffer                           
    0     0008cc4d  _Fapi_calculateOtpChecksum             
    0     0008b209  _Fapi_checkRegionForValue              
    0     0008c3cf  _Fapi_divideUnsignedLong               
    0     0008b921  _Fapi_issueFsmCommand                  
    0     0008b46d  _Fapi_loopRegionForValue               
    0     0008cc58  _Fapi_scaleCycleValues                 
    0     0008c6f7  _Fapi_setupSectorsForWrite             
    0     0008f27c  __TI_CINIT_Base                        
    0     0008f284  __TI_CINIT_Limit                       
    0     0008f284  __TI_CINIT_Warm                        
    0     0008f270  __TI_Handler_Table_Base                
    0     0008f276  __TI_Handler_Table_Limit               
    0     00000000  __TI_MEMRANGE_CRC__ccs_flash_checksum  
    0     00000600  __TI_STACK_END                         
    abs   00000200  __TI_STACK_SIZE                        
    0     0008c3a4  __TI_auto_init_nobinit_nopinit         
    0     0000a18c  __TI_cleanup_ptr                       
    0     0008c29a  __TI_decompress_lzss                   
    0     0008cda3  __TI_decompress_none                   
    0     0000a18e  __TI_dtors_ptr                         
    0     0000a18a  __TI_enable_exit_profile_output        
    abs   ffffffff  __TI_pprof_out_hndl                    
    abs   ffffffff  __TI_prof_data_size                    
    abs   ffffffff  __TI_prof_data_start                   
    0     0008cb69  __TI_zero_init_nomemset                
    0     0008ac53  __c28xabi_addd                         
    0     0008aea8  __c28xabi_divd                         
    0     0008c72e  __c28xabi_dtoul                        
    0     0008b000  __c28xabi_mpyd                         
    0     0008cb1a  __c28xabi_subd                         
    0     0008c84e  __c28xabi_ultod                        
    0     0008c80b  __c28xabi_utod                         
    n/a   UNDEFED   __c_args__                             
    0     00000400  __stack                                
    0     0008cbb2  _args_main                             
    0     0008c7f4  _c_int00                               
    0     00000000  _ccs_flash_checksum                    
    0     0000a1a0  _lock                                  
    0     0008cd52  _nop                                   
    0     0008cd4e  _register_lock                         
    0     0008cd4a  _register_unlock                       
    0     0008afff  _system_post_cinit                     
    0     0008ce2e  _system_pre_init                       
    0     0000a1a2  _unlock                                
    0     0008c3f9  abort                                  
    0     0008b86d  battery_bank_fault_check               
    0     0008c62e  bitExtract                             
    0     0008aa56  canISR                                 
    0     0008c8b6  checkBusStatus                         
    0     00080000  code_start                             
    0     0008c178  configCPUTimer                         
    0     0008ca70  convertFromBcd                         
    0     0008be16  convertToBcd                           
    0     0008bb58  cpuTimer1ISR                           
    0     0000a16e  cpuTimer1IntCount                      
    0     0000a16c  currentResponderPtr                    
    0     0008ba18  disable_RTC_oscillator                 
    0     0008a8ee  eeprom_erase                           
    0     000898aa  eeprom_read                            
    0     00089000  eeprom_write                           
    0     0008ad89  eeprom_write_read_verify               
    0     0008babb  enable_RTC_oscillator                  
    0     0000a188  errorFlag                              
    0     0008be91  event_handler                          
    0     0008c3fb  exit                                   
    0     0008b7ab  extract_time                           
    0     0000a19b  failCount                              
    0     0008c92b  handleNACK                             
    0     0008afbd  initCPUTimers                          
    0     0008cb0c  init_Battery_monitor                   
    0     0008ccef  init_CAN_Communication_handler         
    0     0008c8ca  init_eeprom                            
    0     0008c8de  init_rtc_parameters                    
    0     0008bd98  is_epprom_write_exceeding_the_page     
    0     0008bc3c  main                                   
    0     0008c66a  memcpy                                 
    0     0008bba5  memory_copy                            
    0     0000a19a  passCount                              
    0     0008bf41  read_Vdig_supply                       
    0     0008c44b  read_battery_Bank                      
    0     0008af33  read_battery_discharge_current         
    0     0008c06f  read_imageinfo                         
    0     0008ae1c  read_last_stored_address               
    0     0008c2f5  read_pressure_pad                      
    0     0008b8ca  read_temperature                       
    0     0008a77c  relay_fault_detect_test                
    0     0000a186  rxMsgCount                             
    0     0000a164  rxMsgData                              
    0     0008f188  secAddress                             
    0     0008c498  select_image_slot                      
    0     0000a040  stBatteryMonitorHandler                
    0     0000a140  stCanCommHandler                       
    0     0000a000  stMapDischageCurrent                   
    0     0000a19c  status                                 
    0     0008c528  timers_init                            
    0     0008c64c  traverse_state                         
    0     0000a184  txMsgCount                             
    0     0008b746  update_address                         
    0     0008c0dc  validate_firmware_update_request       
    0     0008c58f  verifyEEPROMRead                       
    0     0008bdd7  verify_crc                             
    0     0008ca7f  verify_firmware                        
    0     0008c422  write_Bootinfo                         
    
    
    GLOBAL SYMBOLS: SORTED BY Symbol Address 
    
    page  address   name                                   
    ----  -------   ----                                   
    0     00000000  __TI_MEMRANGE_CRC__ccs_flash_checksum  
    0     00000000  _ccs_flash_checksum                    
    0     00000400  __stack                                
    0     00000600  __TI_STACK_END                         
    0     0000a000  stMapDischageCurrent                   
    0     0000a003  StDeltaBatteryDischarge                
    0     0000a040  stBatteryMonitorHandler                
    0     0000a07e  RX_MsgBuffer                           
    0     0000a0c0  TX_MsgBuffer                           
    0     0000a102  ControlAddr                            
    0     0000a104  EEPROM                                 
    0     0000a11a  RTCC                                   
    0     0000a130  Buffer                                 
    0     0000a140  stCanCommHandler                       
    0     0000a150  StFirmwareBootInfo                     
    0     0000a156  StFirmwareUpgradeFlashAddress          
    0     0000a15e  Fapi_GlobalInit                        
    0     0000a164  rxMsgData                              
    0     0000a16a  StCanIDaddress                         
    0     0000a16c  currentResponderPtr                    
    0     0000a16e  cpuTimer1IntCount                      
    0     0000a170  StRTCtime                              
    0     0000a177  CAN_COMMAND_ID                         
    0     0000a17d  CAN_RESPONSE_ID                        
    0     0000a184  txMsgCount                             
    0     0000a186  rxMsgCount                             
    0     0000a188  errorFlag                              
    0     0000a18a  __TI_enable_exit_profile_output        
    0     0000a18c  __TI_cleanup_ptr                       
    0     0000a18e  __TI_dtors_ptr                         
    0     0000a190  BatteryBank_Channel                    
    0     0000a195  Battery_en_relay_gpio                  
    0     0000a19a  passCount                              
    0     0000a19b  failCount                              
    0     0000a19c  status                                 
    0     0000a19e  Buffer32                               
    0     0000a1a0  _lock                                  
    0     0000a1a2  _unlock                                
    0     0000c000  FlashErase                             
    0     0000c000  RamfuncsRunStart                       
    0     0000c082  FlashWrite                             
    0     0000c0c6  Flash_initModule                       
    0     0000c14b  Flashinit                              
    0     0000c17f  SysCtl_delay                           
    0     0000c183  RamfuncsRunEnd                         
    0     00080000  code_start                             
    0     00089000  eeprom_write                           
    0     000898aa  eeprom_read                            
    0     00089af0  Fapi_issueProgrammingCommand           
    0     00089c9b  Can_firmware_data_packet_parser        
    0     00089e42  CAN_packet_byte_stream                 
    0     0008a000  I2C_MasterTransmitter                  
    0     0008a146  I2C_MasterReceiver                     
    0     0008a284  Can_data_packet_parser                 
    0     0008a398  SysCtl_isPLLValid                      
    0     0008a4a7  SysCtl_setClock                        
    0     0008a5b3  I2C_TransmitSlaveAddress_ControlBytes  
    0     0008a6ba  GPIO_init                              
    0     0008a77c  relay_fault_detect_test                
    0     0008a836  CAN_setupMessageObject                 
    0     0008a8ee  eeprom_erase                           
    0     0008a9a3  Battery_relay_Diagnostic_test          
    0     0008aa56  canISR                                 
    0     0008ab09  SPI_pollingFIFOTransaction             
    0     0008abb2  CAN_setBitRate                         
    0     0008ac53  __c28xabi_addd                         
    0     0008acef  Device_enableAllPeripherals            
    0     0008ad89  eeprom_write_read_verify               
    0     0008ae1c  read_last_stored_address               
    0     0008aea8  __c28xabi_divd                         
    0     0008af33  read_battery_discharge_current         
    0     0008afbd  initCPUTimers                          
    0     0008afff  _system_post_cinit                     
    0     0008b000  __c28xabi_mpyd                         
    0     0008b083  Fapi_doBlankCheck                      
    0     0008b105  Read_RTC_time                          
    0     0008b187  Set_RTC_time                           
    0     0008b209  _Fapi_checkRegionForValue              
    0     0008b303  I2C_initMaster                         
    0     0008b37f  Battery_bank_Diagnostic_test           
    0     0008b3f9  CAN_init                               
    0     0008b46d  _Fapi_loopRegionForValue               
    0     0008b4dd  GPIO_setQualificationMode              
    0     0008b549  Read_Battery_Remaining_Charge          
    0     0008b5b1  GPIO_setPadConfig                      
    0     0008b617  ADC_init                               
    0     0008b6e1  Init_CAN_Identifier                    
    0     0008b746  update_address                         
    0     0008b7ab  extract_time                           
    0     0008b86d  battery_bank_fault_check               
    0     0008b8ca  read_temperature                       
    0     0008b921  _Fapi_issueFsmCommand                  
    0     0008b974  CAN_readMessage                        
    0     0008b9c6  PinMux_init                            
    0     0008ba18  disable_RTC_oscillator                 
    0     0008ba6a  I2Cinit                                
    0     0008babb  enable_RTC_oscillator                  
    0     0008bb0a  SPI_init                               
    0     0008bb58  cpuTimer1ISR                           
    0     0008bba5  memory_copy                            
    0     0008bbf2  Fapi_initializeAPI                     
    0     0008bc3c  main                                   
    0     0008bc86  CAN_sendMessage                        
    0     0008bccd  GPIO_setAnalogMode                     
    0     0008bd12  GPIO_setDirectionMode                  
    0     0008bd57  External_ADC_Selftest                  
    0     0008bd98  is_epprom_write_exceeding_the_page     
    0     0008bdd7  verify_crc                             
    0     0008be16  convertToBcd                           
    0     0008be54  Interrupt_initModule                   
    0     0008be91  event_handler                          
    0     0008bf41  read_Vdig_supply                       
    0     0008bf7b  SPI_write_read                         
    0     0008bfb4  CAN_setBitTiming                       
    0     0008c000  Fapi_issueAsyncCommandWithAddress      
    0     0008c038  GPIO_setPinConfig                      
    0     0008c06f  read_imageinfo                         
    0     0008c0a6  RTC_self_test                          
    0     0008c0dc  validate_firmware_update_request       
    0     0008c111  Interrupt_enable                       
    0     0008c145  SPI_setConfig                          
    0     0008c178  configCPUTimer                         
    0     0008c1dd  Fapi_setupBankSectorEnable             
    0     0008c23d  Fapi_setActiveFlashBank                
    0     0008c26c  CAN_clearInterruptStatus               
    0     0008c29a  __TI_decompress_lzss                   
    0     0008c2c8  SPI_clearInterruptStatus               
    0     0008c2f5  read_pressure_pad                      
    0     0008c322  Fapi_calculateFletcherChecksum         
    0     0008c34e  SysCtl_selectOscSource                 
    0     0008c379  SysCtl_selectXTAL                      
    0     0008c3a4  __TI_auto_init_nobinit_nopinit         
    0     0008c3cf  _Fapi_divideUnsignedLong               
    0     0008c3f9  C$$EXIT                                
    0     0008c3f9  abort                                  
    0     0008c3fb  exit                                   
    0     0008c422  write_Bootinfo                         
    0     0008c44b  read_battery_Bank                      
    0     0008c472  SPI_enableInterrupt                    
    0     0008c498  select_image_slot                      
    0     0008c4bd  Check_battery_channel_low_chagre_status
    0     0008c4e1  Device_init                            
    0     0008c528  timers_init                            
    0     0008c54b  Fapi_isAddressEcc                      
    0     0008c56d  I2C_enableInterrupt                    
    0     0008c58f  verifyEEPROMRead                       
    0     0008c5b0  ADC_setOffsetTrimAll                   
    0     0008c5f0  FlashErasebootinfo                     
    0     0008c610  Interrupt_initVectorTable              
    0     0008c62e  bitExtract                             
    0     0008c64c  traverse_state                         
    0     0008c66a  memcpy                                 
    0     0008c6f7  _Fapi_setupSectorsForWrite             
    0     0008c72e  __c28xabi_dtoul                        
    0     0008c77d  SysCtl_selectXTALSingleEnded           
    0     0008c797  I2C_clearInterruptStatus               
    0     0008c7f4  _c_int00                               
    0     0008c80b  __c28xabi_utod                         
    0     0008c84e  __c28xabi_ultod                        
    0     0008c864  Fapi_flushPipeline                     
    0     0008c8b6  checkBusStatus                         
    0     0008c8ca  init_eeprom                            
    0     0008c8de  init_rtc_parameters                    
    0     0008c918  CAN_initModule                         
    0     0008c92b  handleNACK                             
    0     0008c962  Board_init                             
    0     0008c9a4  Device_initGPIO                        
    0     0008ca34  Fapi_doVerify                          
    0     0008ca70  convertFromBcd                         
    0     0008ca7f  verify_firmware                        
    0     0008ca9c  Fapi_checkFsmForReady                  
    0     0008cb0c  init_Battery_monitor                   
    0     0008cb1a  __c28xabi_subd                         
    0     0008cb28  CAN_send_data                          
    0     0008cb69  __TI_zero_init_nomemset                
    0     0008cbb2  _args_main                             
    0     0008cc4d  _Fapi_calculateOtpChecksum             
    0     0008cc58  _Fapi_scaleCycleValues                 
    0     0008cc9f  CAN_clear_interrupt                    
    0     0008ccb3  CPUTimer_setEmulationMode              
    0     0008ccef  init_CAN_Communication_handler         
    0     0008cd4a  _register_unlock                       
    0     0008cd4e  _register_lock                         
    0     0008cd52  _nop                                   
    0     0008cda3  __TI_decompress_none                   
    0     0008cdcf  Fapi_getFsmStatus                      
    0     0008ce00  ASYSCTL_init                           
    0     0008ce2e  _system_pre_init                       
    0     0008f000  RamfuncsLoadStart                      
    0     0008f183  RamfuncsLoadEnd                        
    0     0008f188  secAddress                             
    0     0008f270  __TI_Handler_Table_Base                
    0     0008f276  __TI_Handler_Table_Limit               
    0     0008f27c  __TI_CINIT_Base                        
    0     0008f284  __TI_CINIT_Limit                       
    0     0008f284  __TI_CINIT_Warm                        
    abs   00000183  RamfuncsLoadSize                       
    abs   00000183  RamfuncsRunSize                        
    abs   00000200  __TI_STACK_SIZE                        
    abs   ffffffff  __TI_pprof_out_hndl                    
    abs   ffffffff  __TI_prof_data_size                    
    abs   ffffffff  __TI_prof_data_start                   
    n/a   UNDEFED   __c_args__                             
    
    [203 symbols]
    

    应用2:

    ******************************************************************************
                 TMS320C2000 Linker PC v22.6.0                     
    ******************************************************************************
    >> Linked Tue May 16 13:07:38 2023
    
    OUTPUT FILE NAME:   <app.out>
    ENTRY POINT SYMBOL: "_c_int00"  address: 000867f4
    
    
    MEMORY CONFIGURATION
    
             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      BOOT_RSVD             00000002   00000126  00000000  00000126  RWIX
      RAMM0                 00000128   000002d8  00000000  000002d8  RWIX
      RAMM1                 00000400   000003f8  00000200  000001f8  RWIX
      RAMLS4567             0000a000   00002000  000001a3  00001e5d  RWIX
      RAMGS0                0000c000   000007f8  00000183  00000675  RWIX
      BEGIN                 00080000   00000002  00000002  00000000  RWIX
      FLASH_BANK0_SEC0      00080002   00000ffe  00000000  00000ffe  RWIX
      FLASH_BANK0_SEC1      00081000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC2      00082000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC3      00083000   00001000  00001000  00000000  RWIX
      FLASH_BANK0_SEC4      00084000   00001000  00001000  00000000  RWIX
      FLASH_BANK0_SEC5      00085000   00001000  00001000  00000000  RWIX
      FLASH_BANK0_SEC6      00086000   00001000  00000e30  000001d0  RWIX
      FLASH_BANK0_SEC7      00087000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC8      00088000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC9      00089000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC10     0008a000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC11     0008b000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC12     0008c000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC13     0008d000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC14     0008e000   00001000  00000000  00001000  RWIX
      FLASH_BANK0_SEC15     0008f000   00000ff0  0000027b  00000d75  RWIX
      FLASH_BANK0_SEC15_DO_ 0008fff0   00000010  00000000  00000010  RWIX
      BOOTROM               003f0000   00008000  00000000  00008000  RWIX
      BOOTROM_EXT           003f8000   00007fc0  00000000  00007fc0  RWIX
      RESET                 003fffc0   00000002  00000000  00000002  RWIX
    
    
    SECTION ALLOCATION MAP
    
     output                                  attributes/
    section   page    origin      length       input sections
    --------  ----  ----------  ----------   ----------------
    codestart 
    *          0    00080000    00000002     
                      00080000    00000002     f28002x_codestartbranch.obj (codestart)
    
    .data      0    0000a170    00000034     UNINITIALIZED
                      0000a170    00000007     rtc.obj (.data)
                      0000a177    00000006     CAN.obj (.data:CAN_COMMAND_ID)
                      0000a17d    00000006     CAN.obj (.data:CAN_RESPONSE_ID)
                      0000a183    00000001     --HOLE--
                      0000a184    00000006     board.obj (.data)
                      0000a18a    00000006     rts2800_fpu32_eabi.lib : exit.c.obj (.data)
                      0000a190    00000005     Battery.obj (.data:BatteryBank_Channel)
                      0000a195    00000005     Battery.obj (.data:Battery_en_relay_gpio)
                      0000a19a    00000003     EEPROM.obj (.data)
                      0000a19d    00000001     --HOLE--
                      0000a19e    00000002     Flash.obj (.data)
                      0000a1a0    00000002     rts2800_fpu32_eabi.lib : _lock.c.obj (.data:_lock)
                      0000a1a2    00000002                            : _lock.c.obj (.data:_unlock)
    
    .switch    0    0008f210    00000034     
                      0008f210    0000001a     CAN.obj (.switch:CAN_packet_byte_stream)
                      0008f22a    0000001a     CAN_communication_handler.obj (.switch:Can_data_packet_parser)
    
    .cinit     0    0008f248    0000003c     
                      0008f248    00000027     (.cinit..data.load) [load image, compression = lzss]
                      0008f26f    00000001     --HOLE-- [fill = 0]
                      0008f270    00000006     (__TI_handler_table)
                      0008f276    00000004     (.cinit..bss.load) [load image, compression = zero_init]
                      0008f27a    00000002     --HOLE-- [fill = 0]
                      0008f27c    00000008     (__TI_cinit_table)
    
    .reset     0    003fffc0    00000000     DSECT
    
    .stack     0    00000400    00000200     UNINITIALIZED
                      00000400    00000200     --HOLE--
    
    .init_array 
    *          0    0008f000    00000000     UNINITIALIZED
    
    .bss       0    0000a000    0000016f     UNINITIALIZED
                      0000a000    0000007e     Battery_monitor_handler.obj (.bss)
                      0000a07e    00000042     EEPROM.obj (.bss:RX_MsgBuffer)
                      0000a0c0    00000042     EEPROM.obj (.bss:TX_MsgBuffer)
                      0000a102    00000018     EEPROM.obj (.bss)
                      0000a11a    00000016     rtc.obj (.bss)
                      0000a130    00000010     Flash.obj (.bss:Buffer)
                      0000a140    00000010     CAN_communication_handler.obj (.bss)
                      0000a150    0000000e     Flash.obj (.bss)
                      0000a15e    00000006     FlashAPI_F28002x_FPU32.lib : Init.obj (.bss)
                      0000a164    00000006     board.obj (.bss:rxMsgData)
                      0000a16a    00000002     CAN.obj (.bss)
                      0000a16c    00000002     i2cLib_FIFO_polling.obj (.bss)
                      0000a16e    00000001     board.obj (.bss)
    
    .const     0    0008f188    00000088     
                      0008f188    00000020     Flash.obj (.const:secAddress)
                      0008f1a8    00000010     Battery.obj (.const)
                      0008f1b8    0000000c     EEPROM.obj (.const)
                      0008f1c4    0000000c     i2cLib_FIFO_polling.obj (.const)
                      0008f1d0    0000000c     rtc.obj (.const)
                      0008f1dc    0000000c     Battery_monitor_handler.obj (.const:st_Battery_monitor_state)
                      0008f1e8    0000000c     CAN_communication_handler.obj (.const:st_CAN_communication_state)
                      0008f1f4    0000000b     EEPROM.obj (.const:.string)
                      0008f1ff    00000001     --HOLE-- [fill = 0]
                      0008f200    00000008     temperature.obj (.const)
                      0008f208    00000004     Flash.obj (.const:$P$T0$1)
                      0008f20c    00000004     main.obj (.const:stState)
    
    .TI.ramfunc 
    *          0    0008f000    00000183     RUN ADDR = 0000c000
                      0008f000    00000082     Flash.obj (.TI.ramfunc:FlashErase)
                      0008f082    00000044     Flash.obj (.TI.ramfunc:FlashWrite)
                      0008f0c6    00000023     flash.obj (.TI.ramfunc:Flash_initModule)
                      0008f0e9    00000022     flash.obj (.TI.ramfunc:Flash_setBankPowerMode)
                      0008f10b    00000013     flash.obj (.TI.ramfunc:Flash_setPumpPowerMode)
                      0008f11e    00000011     flash.obj (.TI.ramfunc:Flash_setWaitstates)
                      0008f12f    0000000e     flash.obj (.TI.ramfunc:Flash_disableCache)
                      0008f13d    0000000e     flash.obj (.TI.ramfunc:Flash_disablePrefetch)
                      0008f14b    0000000e     Flash.obj (.TI.ramfunc:Flashinit)
                      0008f159    0000000d     flash.obj (.TI.ramfunc:Flash_enableCache)
                      0008f166    0000000d     flash.obj (.TI.ramfunc:Flash_enablePrefetch)
                      0008f173    0000000c     flash.obj (.TI.ramfunc:Flash_enableECC)
                      0008f17f    00000004     sysctl.obj (.TI.ramfunc)
    
    .TI.memcrc 
    *          0    00000000    00000072     COPY SECTION
                      00000000    00000072     (.TI.memcrc:_ccs_flash_checksum)
    
    .text.1    0    00083000    00001000     
                      00083000    00000340     EEPROM.obj (.text:eeprom_write)
                      00083340    000002f6     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:_Fapi_setupFlashStateMachine)
                      00083636    00000274     Battery_monitor_handler.obj (.text:Battery_monitor_event_handler)
                      000838aa    00000246     EEPROM.obj (.text:eeprom_read)
                      00083af0    000001ab     FlashAPI_F28002x_FPU32.lib : Program.obj (.text:Fapi_issueProgrammingCommand)
                      00083c9b    000001a7     CAN_communication_handler.obj (.text:Can_firmware_data_packet_parser)
                      00083e42    0000019a     CAN.obj (.text:CAN_packet_byte_stream)
                      00083fdc    00000024     board.obj (.text:ADC_setInterruptSOCTrigger)
    
    .text.2    0    00084000    00001000     
                      00084000    00000146     i2cLib_FIFO_polling.obj (.text:I2C_MasterTransmitter)
                      00084146    0000013e     i2cLib_FIFO_polling.obj (.text:I2C_MasterReceiver)
                      00084284    00000114     CAN_communication_handler.obj (.text:Can_data_packet_parser)
                      00084398    0000010f     sysctl.obj (.text:SysCtl_isPLLValid)
                      000844a7    0000010c     sysctl.obj (.text:SysCtl_setClock)
                      000845b3    00000107     i2cLib_FIFO_polling.obj (.text:I2C_TransmitSlaveAddress_ControlBytes)
                      000846ba    000000c2     board.obj (.text:GPIO_init)
                      0008477c    000000ba     Battery.obj (.text:relay_fault_detect_test)
                      00084836    000000b8     can.obj (.text:CAN_setupMessageObject)
                      000848ee    000000b5     EEPROM.obj (.text:eeprom_erase)
                      000849a3    000000b3     Battery.obj (.text:Battery_relay_Diagnostic_test)
                      00084a56    000000b3     CAN.obj (.text:canISR)
                      00084b09    000000a9     spi.obj (.text:SPI_pollingFIFOTransaction)
                      00084bb2    000000a1     can.obj (.text:CAN_setBitRate)
                      00084c53    0000009c     rts2800_fpu32_eabi.lib : fd_add28.asm.obj (.text)
                      00084cef    0000009a     device.obj (.text:Device_enableAllPeripherals)
                      00084d89    00000093     EEPROM.obj (.text:eeprom_write_read_verify)
                      00084e1c    0000008c     EEPROM.obj (.text:read_last_stored_address)
                      00084ea8    0000008b     rts2800_fpu32_eabi.lib : fd_div28.asm.obj (.text)
                      00084f33    0000008a     Battery.obj (.text:read_battery_discharge_current)
                      00084fbd    00000042     board.obj (.text:initCPUTimers)
                      00084fff    00000001     rts2800_fpu32_eabi.lib : startup.c.obj (.text)
    
    .text.3    0    00085000    00001000     
                      00085000    00000083     rts2800_fpu32_eabi.lib : fd_mpy28.asm.obj (.text)
                      00085083    00000082     FlashAPI_F28002x_FPU32.lib : BlankCheck.obj (.text:Fapi_doBlankCheck)
                      00085105    00000082     rtc.obj (.text:Read_RTC_time)
                      00085187    00000082     rtc.obj (.text:Set_RTC_time)
                      00085209    0000007e     FlashAPI_F28002x_FPU32.lib : Read.obj (.text:_Fapi_checkRegionForValue)
                      00085287    0000007c     CAN_communication_handler.obj (.text:CAN_Command_handler)
                      00085303    0000007c     i2c.obj (.text:I2C_initMaster)
                      0008537f    0000007a     Battery.obj (.text:Battery_bank_Diagnostic_test)
                      000853f9    00000074     CAN.obj (.text:CAN_init)
                      0008546d    00000070     FlashAPI_F28002x_FPU32.lib : Read.obj (.text:_Fapi_loopRegionForValue)
                      000854dd    0000006c     gpio.obj (.text:GPIO_setQualificationMode)
                      00085549    00000068     Battery.obj (.text:Read_Battery_Remaining_Charge)
                      000855b1    00000066     gpio.obj (.text:GPIO_setPadConfig)
                      00085617    00000065     board.obj (.text:ADC_init)
                      0008567c    00000065     CAN_communication_handler.obj (.text:Firmware_update_handler)
                      000856e1    00000065     CAN.obj (.text:Init_CAN_Identifier)
                      00085746    00000065     EEPROM.obj (.text:update_address)
                      000857ab    00000063     rtc.obj (.text:extract_time)
                      0008580e    0000005f     Battery_monitor_handler.obj (.text:Battery_self_diagno_event_handler)
                      0008586d    0000005d     Battery.obj (.text:battery_bank_fault_check)
                      000858ca    00000057     temperature.obj (.text:read_temperature)
                      00085921    00000053     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:_Fapi_issueFsmCommand)
                      00085974    00000052     can.obj (.text:CAN_readMessage)
                      000859c6    00000052     board.obj (.text:PinMux_init)
                      00085a18    00000052     rtc.obj (.text:disable_RTC_oscillator)
                      00085a6a    00000051     board.obj (.text:I2Cinit)
                      00085abb    0000004f     rtc.obj (.text:enable_RTC_oscillator)
                      00085b0a    0000004e     board.obj (.text:SPI_init)
                      00085b58    0000004d     main.obj (.text:cpuTimer1ISR)
                      00085ba5    0000004d     CAN.obj (.text:memory_copy)
                      00085bf2    0000004a     FlashAPI_F28002x_FPU32.lib : Init.obj (.text:Fapi_initializeAPI)
                      00085c3c    0000004a     main.obj (.text:main)
                      00085c86    00000047     can.obj (.text:CAN_sendMessage)
                      00085ccd    00000045     gpio.obj (.text:GPIO_setAnalogMode)
                      00085d12    00000045     gpio.obj (.text:GPIO_setDirectionMode)
                      00085d57    00000041     Battery.obj (.text:External_ADC_Selftest)
                      00085d98    0000003f     EEPROM.obj (.text:is_epprom_write_exceeding_the_page)
                      00085dd7    0000003f     CAN.obj (.text:verify_crc)
                      00085e16    0000003e     rtc.obj (.text:convertToBcd)
                      00085e54    0000003d     interrupt.obj (.text:Interrupt_initModule)
                      00085e91    0000003c     hsm.obj (.text:event_handler)
                      00085ecd    0000003a     Battery.obj (.text:GPIO_writePin)
                      00085f07    0000003a     board.obj (.text:GPIO_writePin)
                      00085f41    0000003a     Battery.obj (.text:read_Vdig_supply)
                      00085f7b    00000039     Battery.obj (.text:SPI_write_read)
                      00085fb4    00000038     can.obj (.text:CAN_setBitTiming)
                      00085fec    00000014     sysctl.obj (.text:DCC_setCounter0ClkSource)
    
    .text.4    0    00086000    00000e30     
                      00086000    00000038     FlashAPI_F28002x_FPU32.lib : Async.obj (.text:Fapi_issueAsyncCommandWithAddress)
                      00086038    00000037     gpio.obj (.text:GPIO_setPinConfig)
                      0008606f    00000037     Flash.obj (.text:read_imageinfo)
                      000860a6    00000036     rtc.obj (.text:RTC_self_test)
                      000860dc    00000035     CAN.obj (.text:validate_firmware_update_request)
                      00086111    00000034     interrupt.obj (.text:Interrupt_enable)
                      00086145    00000033     spi.obj (.text:SPI_setConfig)
                      00086178    00000033     board.obj (.text:configCPUTimer)
                      000861ab    00000032     CAN.obj (.text:GPIO_readPin)
                      000861dd    00000031     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_setupBankSectorEnable)
                      0008620e    0000002f     sysctl.obj (.text:DCC_setCounterSeeds)
                      0008623d    0000002f     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_setActiveFlashBank)
                      0008626c    0000002e     can.obj (.text:CAN_clearInterruptStatus)
                      0008629a    0000002e     rts2800_fpu32_eabi.lib : copy_decompress_lzss.c.obj (.text:decompress:lzss)
                      000862c8    0000002d     spi.obj (.text:SPI_clearInterruptStatus)
                      000862f5    0000002d     Battery.obj (.text:read_pressure_pad)
                      00086322    0000002c     FlashAPI_F28002x_FPU32.lib : Utilities.obj (.text:Fapi_calculateFletcherChecksum)
                      0008634e    0000002b     sysctl.obj (.text:SysCtl_selectOscSource)
                      00086379    0000002b     sysctl.obj (.text:SysCtl_selectXTAL)
                      000863a4    0000002b     rts2800_fpu32_eabi.lib : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit)
                      000863cf    0000002a     FlashAPI_F28002x_FPU32.lib : Utilities.obj (.text:_Fapi_divideUnsignedLong)
                      000863f9    00000029     rts2800_fpu32_eabi.lib : exit.c.obj (.text)
                      00086422    00000029     Flash.obj (.text:write_Bootinfo)
                      0008644b    00000027     Battery.obj (.text:read_battery_Bank)
                      00086472    00000026     spi.obj (.text:SPI_enableInterrupt)
                      00086498    00000025     Flash.obj (.text:select_image_slot)
                      000864bd    00000024     Battery.obj (.text:Check_battery_channel_low_chagre_status)
                      000864e1    00000024     device.obj (.text:Device_init)
                      00086505    00000023     sysctl.obj (.text:SysCtl_pollX1Counter)
                      00086528    00000023     board.obj (.text:timers_init)
                      0008654b    00000022     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_isAddressEcc)
                      0008656d    00000022     i2c.obj (.text:I2C_enableInterrupt)
                      0008658f    00000021     EEPROM.obj (.text:verifyEEPROMRead)
                      000865b0    00000020     adc.obj (.text:ADC_setOffsetTrimAll)
                      000865d0    00000020     board.obj (.text:ADC_setupSOC)
                      000865f0    00000020     Flash.obj (.text:FlashErasebootinfo)
                      00086610    0000001e     interrupt.obj (.text:Interrupt_initVectorTable)
                      0008662e    0000001e     Battery.obj (.text:bitExtract)
                      0008664c    0000001e     hsm.obj (.text:traverse_state)
                      0008666a    0000001d     rts2800_fpu32_eabi.lib : memcpy.c.obj (.text)
                      00086687    0000001c     board.obj (.text:ADC_setInterruptSource)
                      000866a3    0000001c     board.obj (.text:I2C_setFIFOInterruptLevel)
                      000866bf    0000001c     i2cLib_FIFO_polling.obj (.text:I2C_setFIFOInterruptLevel)
                      000866db    0000001c     board.obj (.text:SPI_setFIFOInterruptLevel)
                      000866f7    0000001c     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:_Fapi_setupSectorsForWrite)
                      00086713    0000001b     can.obj (.text:CAN_readDataReg)
                      0008672e    0000001b     rts2800_fpu32_eabi.lib : fd_toul28.asm.obj (.text)
                      00086749    0000001a     can.obj (.text:CAN_writeDataReg)
                      00086763    0000001a     sysctl.obj (.text:DCC_enableSingleShotMode)
                      0008677d    0000001a     sysctl.obj (.text:SysCtl_selectXTALSingleEnded)
                      00086797    00000018     i2c.obj (.text:I2C_clearInterruptStatus)
                      000867af    00000017     board.obj (.text:ADC_disableContinuousMode)
                      000867c6    00000017     device.obj (.text:SysCtl_enablePeripheral)
                      000867dd    00000017     sysctl.obj (.text:SysCtl_enablePeripheral)
                      000867f4    00000017     rts2800_fpu32_eabi.lib : boot28.asm.obj (.text)
                      0008680b    00000017                            : u_tofd28.asm.obj (.text)
                      00086822    00000016     board.obj (.text:ADC_enableInterrupt)
                      00086838    00000016     main.obj (.text:SysCtl_setWatchdogMode)
                      0008684e    00000016     rts2800_fpu32_eabi.lib : ul_tofd28.asm.obj (.text)
                      00086864    00000015     FlashAPI_F28002x_FPU32.lib : Read.obj (.text:Fapi_flushPipeline)
                      00086879    00000015     device.obj (.text:GPIO_unlockPortConfig)
                      0008688e    00000014     sysctl.obj (.text:DCC_setCounter1ClkSource)
                      000868a2    00000014     i2cLib_FIFO_polling.obj (.text:I2C_isBusBusy)
                      000868b6    00000014     i2cLib_FIFO_polling.obj (.text:checkBusStatus)
                      000868ca    00000014     EEPROM.obj (.text:init_eeprom)
                      000868de    00000014     rtc.obj (.text:init_rtc_parameters)
                      000868f2    00000013     Battery.obj (.text:ADC_getInterruptStatus)
                      00086905    00000013     temperature.obj (.text:ADC_getInterruptStatus)
                      00086918    00000013     can.obj (.text:CAN_initModule)
                      0008692b    00000013     i2cLib_FIFO_polling.obj (.text:handleNACK)
                      0008693e    00000012     board.obj (.text:ADC_setSOCPriority)
                      00086950    00000012     CAN.obj (.text:CAN_enableTestMode)
                      00086962    00000011     board.obj (.text:Board_init)
                      00086973    00000011     spi.obj (.text:SPI_setcharLength)
                      00086984    00000010     can.obj (.text:CAN_initRAM)
                      00086994    00000010     board.obj (.text:CPUTimer_startTimer)
                      000869a4    00000010     device.obj (.text:Device_initGPIO)
                      000869b4    00000010     i2cLib_FIFO_polling.obj (.text:I2C_getStopConditionStatus)
                      000869c4    00000010     board.obj (.text:I2C_setAddressMode)
                      000869d4    00000010     i2cLib_FIFO_polling.obj (.text:I2C_setAddressMode)
                      000869e4    00000010     board.obj (.text:I2C_setBitCount)
                      000869f4    00000010     board.obj (.text:I2C_setConfig)
                      00086a04    00000010     i2cLib_FIFO_polling.obj (.text:I2C_setConfig)
                      00086a14    00000010     board.obj (.text:I2C_setEmulationMode)
                      00086a24    00000010     board.obj (.text:SPI_setEmulationMode)
                      00086a34    0000000f     FlashAPI_F28002x_FPU32.lib : Verify.obj (.text:Fapi_doVerify)
                      00086a43    0000000f     CAN.obj (.text:Interrupt_register)
                      00086a52    0000000f     board.obj (.text:Interrupt_register)
                      00086a61    0000000f     spi.obj (.text:SPI_writeDataBlockingFIFO)
                      00086a70    0000000f     rtc.obj (.text:convertFromBcd)
                      00086a7f    0000000f     main.obj (.text:verify_firmware)
                      00086a8e    0000000e     Battery_monitor_handler.obj (.text:Battery_monitor_entry_handler)
                      00086a9c    0000000e     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_checkFsmForReady)
                      00086aaa    0000000e     i2cLib_FIFO_polling.obj (.text:I2C_disableFIFO)
                      00086ab8    0000000e     board.obj (.text:I2C_enableFIFO)
                      00086ac6    0000000e     i2cLib_FIFO_polling.obj (.text:I2C_enableFIFO)
                      00086ad4    0000000e     interrupt.obj (.text:Interrupt_defaultHandler)
                      00086ae2    0000000e     spi.obj (.text:SPI_disableFIFO)
                      00086af0    0000000e     board.obj (.text:SPI_enableFIFO)
                      00086afe    0000000e     spi.obj (.text:SPI_enableFIFO)
                      00086b0c    0000000e     Battery_monitor_handler.obj (.text:init_Battery_monitor)
                      00086b1a    0000000e     rts2800_fpu32_eabi.lib : fd_sub28.asm.obj (.text)
                      00086b28    0000000d     CAN.obj (.text:CAN_send_data)
                      00086b35    0000000d     board.obj (.text:CPUTimer_setPreScaler)
                      00086b42    0000000d     interrupt.obj (.text:Interrupt_disableMaster)
                      00086b4f    0000000d     interrupt.obj (.text:Interrupt_enableMaster)
                      00086b5c    0000000d     device.obj (.text:SysCtl_setLowSpeedClock)
                      00086b69    0000000d     rts2800_fpu32_eabi.lib : copy_zero_init.c.obj (.text:decompress:ZI:__TI_zero_init_nomemset)
                      00086b76    0000000c     board.obj (.text:ADC_setInterruptPulseMode)
                      00086b82    0000000c     board.obj (.text:ADC_setPrescaler)
                      00086b8e    0000000c     board.obj (.text:CPUTimer_enableInterrupt)
                      00086b9a    0000000c     sysctl.obj (.text:DCC_disableDoneSignal)
                      00086ba6    0000000c     sysctl.obj (.text:SysCtl_setPLLSysClk)
                      00086bb2    0000000c     rts2800_fpu32_eabi.lib : args_main.c.obj (.text)
                      00086bbe    0000000b     board.obj (.text:ADC_disableBurstMode)
                      00086bc9    0000000b     CAN.obj (.text:CAN_enableInterrupt)
                      00086bd4    0000000b     board.obj (.text:CPUTimer_reloadTimerCounter)
                      00086bdf    0000000b     board.obj (.text:CPUTimer_stopTimer)
                      00086bea    0000000b     sysctl.obj (.text:DCC_clearDoneFlag)
                      00086bf5    0000000b     sysctl.obj (.text:DCC_clearErrorFlag)
                      00086c00    0000000b     sysctl.obj (.text:DCC_disableErrorSignal)
                      00086c0b    0000000b     sysctl.obj (.text:DCC_disableModule)
                      00086c16    0000000b     sysctl.obj (.text:DCC_enableModule)
                      00086c21    0000000b     i2cLib_FIFO_polling.obj (.text:I2C_getRxFIFOStatus)
                      00086c2c    0000000b     i2cLib_FIFO_polling.obj (.text:I2C_getTxFIFOStatus)
                      00086c37    0000000b     spi.obj (.text:SPI_readDataBlockingFIFO)
                      00086c42    0000000b     sysctl.obj (.text:SysCtl_isMCDClockFailureDetected)
                      00086c4d    0000000b     FlashAPI_F28002x_FPU32.lib : Utilities.obj (.text:_Fapi_calculateOtpChecksum)
                      00086c58    0000000b                                : Utilities.obj (.text:_Fapi_scaleCycleValues)
                      00086c63    0000000a     Battery.obj (.text:ADC_clearInterruptStatus)
                      00086c6d    0000000a     board.obj (.text:ADC_clearInterruptStatus)
                      00086c77    0000000a     temperature.obj (.text:ADC_clearInterruptStatus)
                      00086c81    0000000a     Battery.obj (.text:ADC_forceMultipleSOC)
                      00086c8b    0000000a     temperature.obj (.text:ADC_forceMultipleSOC)
                      00086c95    0000000a     CAN.obj (.text:CAN_clearGlobalInterruptStatus)
                      00086c9f    0000000a     CAN.obj (.text:CAN_clear_interrupt)
                      00086ca9    0000000a     CAN.obj (.text:CAN_enableGlobalInterrupt)
                      00086cb3    0000000a     cputimer.obj (.text:CPUTimer_setEmulationMode)
                      00086cbd    0000000a     i2cLib_FIFO_polling.obj (.text:I2C_putData)
                      00086cc7    0000000a     spi.obj (.text:SPI_getRxFIFOStatus)
                      00086cd1    0000000a     spi.obj (.text:SPI_getTxFIFOStatus)
                      00086cdb    0000000a     spi.obj (.text:SPI_setTxFifoTransmitDelay)
                      00086ce5    0000000a     main.obj (.text:SysCtl_enableWatchdog)
                      00086cef    0000000a     CAN_communication_handler.obj (.text:init_CAN_Communication_handler)
                      00086cf9    00000009     board.obj (.text:ADC_enableConverter)
                      00086d02    00000009     board.obj (.text:ASysCtl_setAnalogReferenceExternal)
                      00086d0b    00000009     Battery_monitor_handler.obj (.text:Battery_self_diagno_entry_handler)
                      00086d14    00000009     board.obj (.text:I2C_disableLoopback)
                      00086d1d    00000009     board.obj (.text:I2C_disableModule)
                      00086d26    00000009     board.obj (.text:I2C_enableModule)
                      00086d2f    00000009     i2cLib_FIFO_polling.obj (.text:I2C_sendStartCondition)
                      00086d38    00000009     i2cLib_FIFO_polling.obj (.text:I2C_sendStopCondition)
                      00086d41    00000009     main.obj (.text:SysCtl_serviceWatchdog)
                      00086d4a    00000009     rts2800_fpu32_eabi.lib : _lock.c.obj (.text)
                      00086d53    00000008     Battery.obj (.text:ADC_readResult)
                      00086d5b    00000008     temperature.obj (.text:ADC_readResult)
                      00086d63    00000008     CAN.obj (.text:CAN_getInterruptCause)
                      00086d6b    00000008     i2cLib_FIFO_polling.obj (.text:I2C_clearStatus)
                      00086d73    00000008     board.obj (.text:I2C_setDataCount)
                      00086d7b    00000008     i2cLib_FIFO_polling.obj (.text:I2C_setDataCount)
                      00086d83    00000008     board.obj (.text:I2C_setOwnSlaveAddress)
                      00086d8b    00000008     i2cLib_FIFO_polling.obj (.text:I2C_setSlaveAddress)
                      00086d93    00000008     device.obj (.text:SysCtl_disableWatchdog)
                      00086d9b    00000008     main.obj (.text:SysCtl_disableWatchdog)
                      00086da3    00000008     rts2800_fpu32_eabi.lib : copy_decompress_none.c.obj (.text:decompress:none)
                      00086dab    00000008     f28002x_codestartbranch.obj (.text)
                      00086db3    00000007     board.obj (.text:ASysCtl_disableTemperatureSensor)
                      00086dba    00000007     device.obj (.text:ASysCtl_lockVREG)
                      00086dc1    00000007     CAN.obj (.text:CAN_startModule)
                      00086dc8    00000007     board.obj (.text:CPUTimer_setPeriod)
                      00086dcf    00000007     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_getFsmStatus)
                      00086dd6    00000007     board.obj (.text:SPI_disableLoopback)
                      00086ddd    00000007     board.obj (.text:SPI_disableModule)
                      00086de4    00000007     spi.obj (.text:SPI_disableModule)
                      00086deb    00000007     board.obj (.text:SPI_enableModule)
                      00086df2    00000007     spi.obj (.text:SPI_enableModule)
                      00086df9    00000007     sysctl.obj (.text:SysCtl_resetMCD)
                      00086e00    00000006     board.obj (.text:ASYSCTL_init)
                      00086e06    00000006     CAN.obj (.text:CAN_getStatus)
                      00086e0c    00000006     i2cLib_FIFO_polling.obj (.text:I2C_getData)
                      00086e12    00000006     EEPROM.obj (.text:I2C_getStatus)
                      00086e18    00000006     i2cLib_FIFO_polling.obj (.text:I2C_getStatus)
                      00086e1e    00000006     CAN.obj (.text:Interrupt_clearACKGroup)
                      00086e24    00000006     main.obj (.text:Interrupt_clearACKGroup)
                      00086e2a    00000002     interrupt.obj (.text:Interrupt_illegalOperationHandler)
                      00086e2c    00000002     interrupt.obj (.text:Interrupt_nmiHandler)
                      00086e2e    00000002     rts2800_fpu32_eabi.lib : pre_init.c.obj (.text)
    
    MODULE SUMMARY
    
           Module                          code    ro data   rw data
           ------                          ----    -------   -------
        .\device\
           device.obj                      278     0         0      
           f28002x_codestartbranch.obj     10      0         0      
        +--+-------------------------------+-------+---------+---------+
           Total:                          288     0         0      
                                                                    
        .\device\driverlib\
           sysctl.obj                      927     0         0      
           can.obj                         688     0         0      
           spi.obj                         418     0         0      
           gpio.obj                        403     0         0      
           flash.obj                       342     0         0      
           interrupt.obj                   187     0         0      
           i2c.obj                         182     0         0      
           adc.obj                         32      0         0      
           cputimer.obj                    10      0         0      
        +--+-------------------------------+-------+---------+---------+
           Total:                          3189    0         0      
                                                                    
        .\src\apps\
           CAN_communication_handler.obj   934     38        16     
           Battery_monitor_handler.obj     760     12        126    
           main.obj                        221     4         0      
        +--+-------------------------------+-------+---------+---------+
           Total:                          1915    54        142    
                                                                    
        .\src\drivers\
           EEPROM.obj                      2105    23        159    
           board.obj                       1311    0         13     
           Battery.obj                     1257    16        10     
           CAN.obj                         1163    26        14     
           i2cLib_FIFO_polling.obj         1156    12        2      
           rtc.obj                         671     12        29     
           Flash.obj                       589     36        32     
           temperature.obj                 134     8         0      
        +--+-------------------------------+-------+---------+---------+
           Total:                          8386    133       259    
                                                                    
        .\src\service\
           hsm.obj                         90      0         0      
        +--+-------------------------------+-------+---------+---------+
           Total:                          90      0         0      
                                                                    
        ../src/lib/Flash_API/lib/FlashAPI_F28002x_FPU32.lib
           FlashStateMachine.obj           1020    0         0      
           Program.obj                     427     0         0      
           Read.obj                        259     0         0      
           BlankCheck.obj                  130     0         0      
           Utilities.obj                   108     0         0      
           Init.obj                        74      0         6      
           Async.obj                       56      0         0      
           Verify.obj                      15      0         0      
        +--+-------------------------------+-------+---------+---------+
           Total:                          2089    0         6      
                                                                    
        C:\ti\ccs1210\ccs\tools\compiler\ti-cgt-c2000_22.6.0.LTS\lib\rts2800_fpu32_eabi.lib
           fd_add28.asm.obj                156     0         0      
           fd_div28.asm.obj                139     0         0      
           fd_mpy28.asm.obj                131     0         0      
           exit.c.obj                      41      0         6      
           copy_decompress_lzss.c.obj      46      0         0      
           autoinit.c.obj                  43      0         0      
           memcpy.c.obj                    29      0         0      
           fd_toul28.asm.obj               27      0         0      
           boot28.asm.obj                  23      0         0      
           u_tofd28.asm.obj                23      0         0      
           ul_tofd28.asm.obj               22      0         0      
           fd_sub28.asm.obj                14      0         0      
           _lock.c.obj                     9       0         4      
           copy_zero_init.c.obj            13      0         0      
           args_main.c.obj                 12      0         0      
           copy_decompress_none.c.obj      8       0         0      
           pre_init.c.obj                  2       0         0      
           startup.c.obj                   1       0         0      
        +--+-------------------------------+-------+---------+---------+
           Total:                          739     0         10     
                                                                    
           Stack:                          0       0         512    
           Linker Generated:               0       57        0      
        +--+-------------------------------+-------+---------+---------+
           Grand Total:                    16696   244       929    
    
    
    LINKER GENERATED COPY TABLES
    
    __TI_cinit_table @ 0008f27c records: 2, size/record: 4, table size: 8
    	.data: load addr=0008f248, load size=00000027 bytes, run addr=0000a170, run size=00000034 bytes, compression=lzss
    	.bss: load addr=0008f276, load size=00000004 bytes, run addr=0000a000, run size=0000016f bytes, compression=zero_init
    
    
    LINKER GENERATED HANDLER TABLE
    
    __TI_handler_table @ 0008f270 records: 3, size/record: 2, table size: 6
    	index: 0, handler: __TI_zero_init
    	index: 1, handler: __TI_decompress_lzss
    	index: 2, handler: __TI_decompress_none
    
    
    LINKER GENERATED MEMRANGE CRC TABLES
    
    _ccs_flash_checksum @ 00000000 records: 18, size/record: 6, table size: 114, algorithm=C28_CHECKSUM_16(ID=13), CRC: 0000f25e
    	BEGIN: page=0, load addr=00080000, size=00000002
    	FLASH_BANK0_SEC0: page=0, load addr=00080002, size=00000ffe
    	FLASH_BANK0_SEC1: page=0, load addr=00081000, size=00001000
    	FLASH_BANK0_SEC2: page=0, load addr=00082000, size=00001000
    	FLASH_BANK0_SEC3: page=0, load addr=00083000, size=00001000
    	FLASH_BANK0_SEC4: page=0, load addr=00084000, size=00001000
    	FLASH_BANK0_SEC5: page=0, load addr=00085000, size=00001000
    	FLASH_BANK0_SEC6: page=0, load addr=00086000, size=00001000
    	FLASH_BANK0_SEC7: page=0, load addr=00087000, size=00001000
    	FLASH_BANK0_SEC8: page=0, load addr=00088000, size=00001000
    	FLASH_BANK0_SEC9: page=0, load addr=00089000, size=00001000
    	FLASH_BANK0_SEC10: page=0, load addr=0008a000, size=00001000
    	FLASH_BANK0_SEC11: page=0, load addr=0008b000, size=00001000
    	FLASH_BANK0_SEC12: page=0, load addr=0008c000, size=00001000
    	FLASH_BANK0_SEC13: page=0, load addr=0008d000, size=00001000
    	FLASH_BANK0_SEC14: page=0, load addr=0008e000, size=00001000
    	FLASH_BANK0_SEC15: page=0, load addr=0008f000, size=00000ff0
    	FLASH_BANK0_SEC15_DO_NOT_USE: page=0, load addr=0008fff0, size=00000010
    
    
    GLOBAL DATA SYMBOLS: SORTED BY DATA PAGE
    
    address     data page           name
    --------    ----------------    ----
    00000400      10 (00000400)     __stack
    
    0000a000     280 (0000a000)     stMapDischageCurrent
    0000a003     280 (0000a000)     StDeltaBatteryDischarge
    
    0000a040     281 (0000a040)     stBatteryMonitorHandler
    0000a07e     281 (0000a040)     RX_MsgBuffer
    
    0000a0c0     283 (0000a0c0)     TX_MsgBuffer
    
    0000a102     284 (0000a100)     ControlAddr
    0000a104     284 (0000a100)     EEPROM
    0000a11a     284 (0000a100)     RTCC
    0000a130     284 (0000a100)     Buffer
    
    0000a140     285 (0000a140)     stCanCommHandler
    0000a150     285 (0000a140)     StFirmwareBootInfo
    0000a156     285 (0000a140)     StFirmwareUpgradeFlashAddress
    0000a15e     285 (0000a140)     Fapi_GlobalInit
    0000a164     285 (0000a140)     rxMsgData
    0000a16a     285 (0000a140)     StCanIDaddress
    0000a16c     285 (0000a140)     currentResponderPtr
    0000a16e     285 (0000a140)     cpuTimer1IntCount
    0000a170     285 (0000a140)     StRTCtime
    0000a177     285 (0000a140)     CAN_COMMAND_ID
    0000a17d     285 (0000a140)     CAN_RESPONSE_ID
    
    0000a184     286 (0000a180)     txMsgCount
    0000a186     286 (0000a180)     rxMsgCount
    0000a188     286 (0000a180)     errorFlag
    0000a18a     286 (0000a180)     __TI_enable_exit_profile_output
    0000a18c     286 (0000a180)     __TI_cleanup_ptr
    0000a18e     286 (0000a180)     __TI_dtors_ptr
    0000a190     286 (0000a180)     BatteryBank_Channel
    0000a195     286 (0000a180)     Battery_en_relay_gpio
    0000a19a     286 (0000a180)     passCount
    0000a19b     286 (0000a180)     failCount
    0000a19c     286 (0000a180)     status
    0000a19e     286 (0000a180)     Buffer32
    0000a1a0     286 (0000a180)     _lock
    0000a1a2     286 (0000a180)     _unlock
    
    0008f188    23c6 (0008f180)     secAddress
    
    
    GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 
    
    page  address   name                                   
    ----  -------   ----                                   
    0     00085617  ADC_init                               
    0     000865b0  ADC_setOffsetTrimAll                   
    0     00086e00  ASYSCTL_init                           
    0     0000a190  BatteryBank_Channel                    
    0     0008537f  Battery_bank_Diagnostic_test           
    0     0000a195  Battery_en_relay_gpio                  
    0     000849a3  Battery_relay_Diagnostic_test          
    0     00086962  Board_init                             
    0     0000a130  Buffer                                 
    0     0000a19e  Buffer32                               
    0     000863f9  C$$EXIT                                
    0     0000a177  CAN_COMMAND_ID                         
    0     0000a17d  CAN_RESPONSE_ID                        
    0     0008626c  CAN_clearInterruptStatus               
    0     00086c9f  CAN_clear_interrupt                    
    0     000853f9  CAN_init                               
    0     00086918  CAN_initModule                         
    0     00083e42  CAN_packet_byte_stream                 
    0     00085974  CAN_readMessage                        
    0     00085c86  CAN_sendMessage                        
    0     00086b28  CAN_send_data                          
    0     00084bb2  CAN_setBitRate                         
    0     00085fb4  CAN_setBitTiming                       
    0     00084836  CAN_setupMessageObject                 
    0     00086cb3  CPUTimer_setEmulationMode              
    0     00084284  Can_data_packet_parser                 
    0     00083c9b  Can_firmware_data_packet_parser        
    0     000864bd  Check_battery_channel_low_chagre_status
    0     0000a102  ControlAddr                            
    0     00084cef  Device_enableAllPeripherals            
    0     000864e1  Device_init                            
    0     000869a4  Device_initGPIO                        
    0     0000a104  EEPROM                                 
    0     00085d57  External_ADC_Selftest                  
    0     0000a15e  Fapi_GlobalInit                        
    0     00086322  Fapi_calculateFletcherChecksum         
    0     00086a9c  Fapi_checkFsmForReady                  
    0     00085083  Fapi_doBlankCheck                      
    0     00086a34  Fapi_doVerify                          
    0     00086864  Fapi_flushPipeline                     
    0     00086dcf  Fapi_getFsmStatus                      
    0     00085bf2  Fapi_initializeAPI                     
    0     0008654b  Fapi_isAddressEcc                      
    0     00086000  Fapi_issueAsyncCommandWithAddress      
    0     00083af0  Fapi_issueProgrammingCommand           
    0     0008623d  Fapi_setActiveFlashBank                
    0     000861dd  Fapi_setupBankSectorEnable             
    0     0000c000  FlashErase                             
    0     000865f0  FlashErasebootinfo                     
    0     0000c082  FlashWrite                             
    0     0000c0c6  Flash_initModule                       
    0     0000c14b  Flashinit                              
    0     000846ba  GPIO_init                              
    0     00085ccd  GPIO_setAnalogMode                     
    0     00085d12  GPIO_setDirectionMode                  
    0     000855b1  GPIO_setPadConfig                      
    0     00086038  GPIO_setPinConfig                      
    0     000854dd  GPIO_setQualificationMode              
    0     00084146  I2C_MasterReceiver                     
    0     00084000  I2C_MasterTransmitter                  
    0     000845b3  I2C_TransmitSlaveAddress_ControlBytes  
    0     00086797  I2C_clearInterruptStatus               
    0     0008656d  I2C_enableInterrupt                    
    0     00085303  I2C_initMaster                         
    0     00085a6a  I2Cinit                                
    0     000856e1  Init_CAN_Identifier                    
    0     00086111  Interrupt_enable                       
    0     00085e54  Interrupt_initModule                   
    0     00086610  Interrupt_initVectorTable              
    0     000859c6  PinMux_init                            
    0     0000a11a  RTCC                                   
    0     000860a6  RTC_self_test                          
    0     0000a07e  RX_MsgBuffer                           
    0     0008f183  RamfuncsLoadEnd                        
    abs   00000183  RamfuncsLoadSize                       
    0     0008f000  RamfuncsLoadStart                      
    0     0000c183  RamfuncsRunEnd                         
    abs   00000183  RamfuncsRunSize                        
    0     0000c000  RamfuncsRunStart                       
    0     00085549  Read_Battery_Remaining_Charge          
    0     00085105  Read_RTC_time                          
    0     000862c8  SPI_clearInterruptStatus               
    0     00086472  SPI_enableInterrupt                    
    0     00085b0a  SPI_init                               
    0     00084b09  SPI_pollingFIFOTransaction             
    0     00086145  SPI_setConfig                          
    0     00085f7b  SPI_write_read                         
    0     00085187  Set_RTC_time                           
    0     0000a16a  StCanIDaddress                         
    0     0000a003  StDeltaBatteryDischarge                
    0     0000a150  StFirmwareBootInfo                     
    0     0000a156  StFirmwareUpgradeFlashAddress          
    0     0000a170  StRTCtime                              
    0     0000c17f  SysCtl_delay                           
    0     00084398  SysCtl_isPLLValid                      
    0     0008634e  SysCtl_selectOscSource                 
    0     00086379  SysCtl_selectXTAL                      
    0     0008677d  SysCtl_selectXTALSingleEnded           
    0     000844a7  SysCtl_setClock                        
    0     0000a0c0  TX_MsgBuffer                           
    0     00086c4d  _Fapi_calculateOtpChecksum             
    0     00085209  _Fapi_checkRegionForValue              
    0     000863cf  _Fapi_divideUnsignedLong               
    0     00085921  _Fapi_issueFsmCommand                  
    0     0008546d  _Fapi_loopRegionForValue               
    0     00086c58  _Fapi_scaleCycleValues                 
    0     000866f7  _Fapi_setupSectorsForWrite             
    0     0008f27c  __TI_CINIT_Base                        
    0     0008f284  __TI_CINIT_Limit                       
    0     0008f284  __TI_CINIT_Warm                        
    0     0008f270  __TI_Handler_Table_Base                
    0     0008f276  __TI_Handler_Table_Limit               
    0     00000000  __TI_MEMRANGE_CRC__ccs_flash_checksum  
    0     00000600  __TI_STACK_END                         
    abs   00000200  __TI_STACK_SIZE                        
    0     000863a4  __TI_auto_init_nobinit_nopinit         
    0     0000a18c  __TI_cleanup_ptr                       
    0     0008629a  __TI_decompress_lzss                   
    0     00086da3  __TI_decompress_none                   
    0     0000a18e  __TI_dtors_ptr                         
    0     0000a18a  __TI_enable_exit_profile_output        
    abs   ffffffff  __TI_pprof_out_hndl                    
    abs   ffffffff  __TI_prof_data_size                    
    abs   ffffffff  __TI_prof_data_start                   
    0     00086b69  __TI_zero_init_nomemset                
    0     00084c53  __c28xabi_addd                         
    0     00084ea8  __c28xabi_divd                         
    0     0008672e  __c28xabi_dtoul                        
    0     00085000  __c28xabi_mpyd                         
    0     00086b1a  __c28xabi_subd                         
    0     0008684e  __c28xabi_ultod                        
    0     0008680b  __c28xabi_utod                         
    n/a   UNDEFED   __c_args__                             
    0     00000400  __stack                                
    0     00086bb2  _args_main                             
    0     000867f4  _c_int00                               
    0     00000000  _ccs_flash_checksum                    
    0     0000a1a0  _lock                                  
    0     00086d52  _nop                                   
    0     00086d4e  _register_lock                         
    0     00086d4a  _register_unlock                       
    0     00084fff  _system_post_cinit                     
    0     00086e2e  _system_pre_init                       
    0     0000a1a2  _unlock                                
    0     000863f9  abort                                  
    0     0008586d  battery_bank_fault_check               
    0     0008662e  bitExtract                             
    0     00084a56  canISR                                 
    0     000868b6  checkBusStatus                         
    0     00080000  code_start                             
    0     00086178  configCPUTimer                         
    0     00086a70  convertFromBcd                         
    0     00085e16  convertToBcd                           
    0     00085b58  cpuTimer1ISR                           
    0     0000a16e  cpuTimer1IntCount                      
    0     0000a16c  currentResponderPtr                    
    0     00085a18  disable_RTC_oscillator                 
    0     000848ee  eeprom_erase                           
    0     000838aa  eeprom_read                            
    0     00083000  eeprom_write                           
    0     00084d89  eeprom_write_read_verify               
    0     00085abb  enable_RTC_oscillator                  
    0     0000a188  errorFlag                              
    0     00085e91  event_handler                          
    0     000863fb  exit                                   
    0     000857ab  extract_time                           
    0     0000a19b  failCount                              
    0     0008692b  handleNACK                             
    0     00084fbd  initCPUTimers                          
    0     00086b0c  init_Battery_monitor                   
    0     00086cef  init_CAN_Communication_handler         
    0     000868ca  init_eeprom                            
    0     000868de  init_rtc_parameters                    
    0     00085d98  is_epprom_write_exceeding_the_page     
    0     00085c3c  main                                   
    0     0008666a  memcpy                                 
    0     00085ba5  memory_copy                            
    0     0000a19a  passCount                              
    0     00085f41  read_Vdig_supply                       
    0     0008644b  read_battery_Bank                      
    0     00084f33  read_battery_discharge_current         
    0     0008606f  read_imageinfo                         
    0     00084e1c  read_last_stored_address               
    0     000862f5  read_pressure_pad                      
    0     000858ca  read_temperature                       
    0     0008477c  relay_fault_detect_test                
    0     0000a186  rxMsgCount                             
    0     0000a164  rxMsgData                              
    0     0008f188  secAddress                             
    0     00086498  select_image_slot                      
    0     0000a040  stBatteryMonitorHandler                
    0     0000a140  stCanCommHandler                       
    0     0000a000  stMapDischageCurrent                   
    0     0000a19c  status                                 
    0     00086528  timers_init                            
    0     0008664c  traverse_state                         
    0     0000a184  txMsgCount                             
    0     00085746  update_address                         
    0     000860dc  validate_firmware_update_request       
    0     0008658f  verifyEEPROMRead                       
    0     00085dd7  verify_crc                             
    0     00086a7f  verify_firmware                        
    0     00086422  write_Bootinfo                         
    
    
    GLOBAL SYMBOLS: SORTED BY Symbol Address 
    
    page  address   name                                   
    ----  -------   ----                                   
    0     00000000  __TI_MEMRANGE_CRC__ccs_flash_checksum  
    0     00000000  _ccs_flash_checksum                    
    0     00000400  __stack                                
    0     00000600  __TI_STACK_END                         
    0     0000a000  stMapDischageCurrent                   
    0     0000a003  StDeltaBatteryDischarge                
    0     0000a040  stBatteryMonitorHandler                
    0     0000a07e  RX_MsgBuffer                           
    0     0000a0c0  TX_MsgBuffer                           
    0     0000a102  ControlAddr                            
    0     0000a104  EEPROM                                 
    0     0000a11a  RTCC                                   
    0     0000a130  Buffer                                 
    0     0000a140  stCanCommHandler                       
    0     0000a150  StFirmwareBootInfo                     
    0     0000a156  StFirmwareUpgradeFlashAddress          
    0     0000a15e  Fapi_GlobalInit                        
    0     0000a164  rxMsgData                              
    0     0000a16a  StCanIDaddress                         
    0     0000a16c  currentResponderPtr                    
    0     0000a16e  cpuTimer1IntCount                      
    0     0000a170  StRTCtime                              
    0     0000a177  CAN_COMMAND_ID                         
    0     0000a17d  CAN_RESPONSE_ID                        
    0     0000a184  txMsgCount                             
    0     0000a186  rxMsgCount                             
    0     0000a188  errorFlag                              
    0     0000a18a  __TI_enable_exit_profile_output        
    0     0000a18c  __TI_cleanup_ptr                       
    0     0000a18e  __TI_dtors_ptr                         
    0     0000a190  BatteryBank_Channel                    
    0     0000a195  Battery_en_relay_gpio                  
    0     0000a19a  passCount                              
    0     0000a19b  failCount                              
    0     0000a19c  status                                 
    0     0000a19e  Buffer32                               
    0     0000a1a0  _lock                                  
    0     0000a1a2  _unlock                                
    0     0000c000  FlashErase                             
    0     0000c000  RamfuncsRunStart                       
    0     0000c082  FlashWrite                             
    0     0000c0c6  Flash_initModule                       
    0     0000c14b  Flashinit                              
    0     0000c17f  SysCtl_delay                           
    0     0000c183  RamfuncsRunEnd                         
    0     00080000  code_start                             
    0     00083000  eeprom_write                           
    0     000838aa  eeprom_read                            
    0     00083af0  Fapi_issueProgrammingCommand           
    0     00083c9b  Can_firmware_data_packet_parser        
    0     00083e42  CAN_packet_byte_stream                 
    0     00084000  I2C_MasterTransmitter                  
    0     00084146  I2C_MasterReceiver                     
    0     00084284  Can_data_packet_parser                 
    0     00084398  SysCtl_isPLLValid                      
    0     000844a7  SysCtl_setClock                        
    0     000845b3  I2C_TransmitSlaveAddress_ControlBytes  
    0     000846ba  GPIO_init                              
    0     0008477c  relay_fault_detect_test                
    0     00084836  CAN_setupMessageObject                 
    0     000848ee  eeprom_erase                           
    0     000849a3  Battery_relay_Diagnostic_test          
    0     00084a56  canISR                                 
    0     00084b09  SPI_pollingFIFOTransaction             
    0     00084bb2  CAN_setBitRate                         
    0     00084c53  __c28xabi_addd                         
    0     00084cef  Device_enableAllPeripherals            
    0     00084d89  eeprom_write_read_verify               
    0     00084e1c  read_last_stored_address               
    0     00084ea8  __c28xabi_divd                         
    0     00084f33  read_battery_discharge_current         
    0     00084fbd  initCPUTimers                          
    0     00084fff  _system_post_cinit                     
    0     00085000  __c28xabi_mpyd                         
    0     00085083  Fapi_doBlankCheck                      
    0     00085105  Read_RTC_time                          
    0     00085187  Set_RTC_time                           
    0     00085209  _Fapi_checkRegionForValue              
    0     00085303  I2C_initMaster                         
    0     0008537f  Battery_bank_Diagnostic_test           
    0     000853f9  CAN_init                               
    0     0008546d  _Fapi_loopRegionForValue               
    0     000854dd  GPIO_setQualificationMode              
    0     00085549  Read_Battery_Remaining_Charge          
    0     000855b1  GPIO_setPadConfig                      
    0     00085617  ADC_init                               
    0     000856e1  Init_CAN_Identifier                    
    0     00085746  update_address                         
    0     000857ab  extract_time                           
    0     0008586d  battery_bank_fault_check               
    0     000858ca  read_temperature                       
    0     00085921  _Fapi_issueFsmCommand                  
    0     00085974  CAN_readMessage                        
    0     000859c6  PinMux_init                            
    0     00085a18  disable_RTC_oscillator                 
    0     00085a6a  I2Cinit                                
    0     00085abb  enable_RTC_oscillator                  
    0     00085b0a  SPI_init                               
    0     00085b58  cpuTimer1ISR                           
    0     00085ba5  memory_copy                            
    0     00085bf2  Fapi_initializeAPI                     
    0     00085c3c  main                                   
    0     00085c86  CAN_sendMessage                        
    0     00085ccd  GPIO_setAnalogMode                     
    0     00085d12  GPIO_setDirectionMode                  
    0     00085d57  External_ADC_Selftest                  
    0     00085d98  is_epprom_write_exceeding_the_page     
    0     00085dd7  verify_crc                             
    0     00085e16  convertToBcd                           
    0     00085e54  Interrupt_initModule                   
    0     00085e91  event_handler                          
    0     00085f41  read_Vdig_supply                       
    0     00085f7b  SPI_write_read                         
    0     00085fb4  CAN_setBitTiming                       
    0     00086000  Fapi_issueAsyncCommandWithAddress      
    0     00086038  GPIO_setPinConfig                      
    0     0008606f  read_imageinfo                         
    0     000860a6  RTC_self_test                          
    0     000860dc  validate_firmware_update_request       
    0     00086111  Interrupt_enable                       
    0     00086145  SPI_setConfig                          
    0     00086178  configCPUTimer                         
    0     000861dd  Fapi_setupBankSectorEnable             
    0     0008623d  Fapi_setActiveFlashBank                
    0     0008626c  CAN_clearInterruptStatus               
    0     0008629a  __TI_decompress_lzss                   
    0     000862c8  SPI_clearInterruptStatus               
    0     000862f5  read_pressure_pad                      
    0     00086322  Fapi_calculateFletcherChecksum         
    0     0008634e  SysCtl_selectOscSource                 
    0     00086379  SysCtl_selectXTAL                      
    0     000863a4  __TI_auto_init_nobinit_nopinit         
    0     000863cf  _Fapi_divideUnsignedLong               
    0     000863f9  C$$EXIT                                
    0     000863f9  abort                                  
    0     000863fb  exit                                   
    0     00086422  write_Bootinfo                         
    0     0008644b  read_battery_Bank                      
    0     00086472  SPI_enableInterrupt                    
    0     00086498  select_image_slot                      
    0     000864bd  Check_battery_channel_low_chagre_status
    0     000864e1  Device_init                            
    0     00086528  timers_init                            
    0     0008654b  Fapi_isAddressEcc                      
    0     0008656d  I2C_enableInterrupt                    
    0     0008658f  verifyEEPROMRead                       
    0     000865b0  ADC_setOffsetTrimAll                   
    0     000865f0  FlashErasebootinfo                     
    0     00086610  Interrupt_initVectorTable              
    0     0008662e  bitExtract                             
    0     0008664c  traverse_state                         
    0     0008666a  memcpy                                 
    0     000866f7  _Fapi_setupSectorsForWrite             
    0     0008672e  __c28xabi_dtoul                        
    0     0008677d  SysCtl_selectXTALSingleEnded           
    0     00086797  I2C_clearInterruptStatus               
    0     000867f4  _c_int00                               
    0     0008680b  __c28xabi_utod                         
    0     0008684e  __c28xabi_ultod                        
    0     00086864  Fapi_flushPipeline                     
    0     000868b6  checkBusStatus                         
    0     000868ca  init_eeprom                            
    0     000868de  init_rtc_parameters                    
    0     00086918  CAN_initModule                         
    0     0008692b  handleNACK                             
    0     00086962  Board_init                             
    0     000869a4  Device_initGPIO                        
    0     00086a34  Fapi_doVerify                          
    0     00086a70  convertFromBcd                         
    0     00086a7f  verify_firmware                        
    0     00086a9c  Fapi_checkFsmForReady                  
    0     00086b0c  init_Battery_monitor                   
    0     00086b1a  __c28xabi_subd                         
    0     00086b28  CAN_send_data                          
    0     00086b69  __TI_zero_init_nomemset                
    0     00086bb2  _args_main                             
    0     00086c4d  _Fapi_calculateOtpChecksum             
    0     00086c58  _Fapi_scaleCycleValues                 
    0     00086c9f  CAN_clear_interrupt                    
    0     00086cb3  CPUTimer_setEmulationMode              
    0     00086cef  init_CAN_Communication_handler         
    0     00086d4a  _register_unlock                       
    0     00086d4e  _register_lock                         
    0     00086d52  _nop                                   
    0     00086da3  __TI_decompress_none                   
    0     00086dcf  Fapi_getFsmStatus                      
    0     00086e00  ASYSCTL_init                           
    0     00086e2e  _system_pre_init                       
    0     0008f000  RamfuncsLoadStart                      
    0     0008f183  RamfuncsLoadEnd                        
    0     0008f188  secAddress                             
    0     0008f270  __TI_Handler_Table_Base                
    0     0008f276  __TI_Handler_Table_Limit               
    0     0008f27c  __TI_CINIT_Base                        
    0     0008f284  __TI_CINIT_Limit                       
    0     0008f284  __TI_CINIT_Warm                        
    abs   00000183  RamfuncsLoadSize                       
    abs   00000183  RamfuncsRunSize                        
    abs   00000200  __TI_STACK_SIZE                        
    abs   ffffffff  __TI_pprof_out_hndl                    
    abs   ffffffff  __TI_prof_data_size                    
    abs   ffffffff  __TI_prof_data_start                   
    n/a   UNDEFED   __c_args__                             
    
    [203 symbols]
    

    3、不是我们不是单独建造  

    谢谢。

    Revathi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Revathi:

    两个应用都构建为从相同的区域执行、使用相同的地址等。 我不知道这是如何工作的。 我会将问题转给专家。

    -Kedar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Revathi、

    这是一个很长的线程、现在已经分配给我。 我简单地扫描了一下答案。

    回到您最初的问题:

    1. 如何 在选择应用一时加载闪存扇区3-8 或   为应用二加载闪存扇区9-14。  

    2.加载后如何跳转到所选应用的主页  

    请解释一下您所说的"加载闪存扇区3-8 "是什么意思。

    我假设闪存已包含引导加载程序(扇区0)、App 1 (扇区3-8)、App 2 (扇区3-14)。

    复位时、BootROM 将确定引导模式、假设这是闪存引导、它将执行传递到闪存入口点地址。 这可能就是引导加载程序函数所在的位置、它包含用于指示下一步操作的逻辑。 或者、您的引导加载程序项目可能具有一个 codestartbranch.asm 文件、其中有一个映射到0x80000 (默认闪存启动入口点)的"codestart"部分。 通常、这是调用_c_int00的地方、也会调用您的引导加载程序项目的 main ()。 现在,您在引导加载程序项目的 main()中所做的是由您来决定。 也许您会进行一些基本的器件初始化、或者您不会。 也许您将使用一些逻辑来确定闪存存储器中的两个应用程序中的哪一个分支至。 都由您决定。 假设您要分支到应用2。 引导加载程序以及 App1和 App2是不同的工程、因此引导加载程序需要知道其分支到的物理地址。

    假设、就像示例一样、对于 App1、这是0x83000、对于 App2、这是0x89000。 然后、需要相应地创建您的 App1和 App2项目。 您可能有一个 codestartbranch.asm、其中每个都带有"codestart"、它会调用_c_int00、App1链接器 cmd 文件会将其映射到0x83000、而 App2链接器 cmd 文件会将其映射到0x89000。

    现在、要将控制权从引导加载程序转移到 App1、引导加载程序中应使用此行

    asm ("  LB 0x83000");

    这会将其带到 App1入口点、其中 App1将运行_c_int00、然后转至 App1的 main()。

    同样、若要转到 App2、您可以从引导加载程序执行以下操作:

    asm ("  LB 0x89000");

    这会将其带到 App2入口点、其中 App2将运行_c_int00、然后转至 App2的 main ()

    谢谢。

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Sira:

    我在上面的评论中提到过。  这是我的程序的工作方式

    我 已将闪存分为三个部分第一个分区专用于引导加载程序。 另外两个插槽保留用于当前固件和固件更新。

    下面是我们的应用处理器的

    -在闪存中
       分区1:引导加载程序代码和引导信息
       -分区2&3:保留当前固件和固件更新

    应用流程如下

    ->在启动或重新启动时->执行启动加载程序->读取启动信息->根据启动信息跳转到所选固件

    因此、当下载新固件时。 我们 正在将活动时隙移至下载位置。 例如,如果我当前的活动插槽是分区 3,并且新的固件已 下载    到分区2。然后,下次重置时,它应该跳到分区。  2.当发生这种情况时,每个函数有两个实例,因为你可以引用  我的地图文件附加在上面的注释。 我正在 尝试只从闪存中加载扇区,这是 需要你能帮助我如何做到这一点 .

    谢谢。

    Revathi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Revathi、

    正如 Kedar 提到的,你所描述的一切都是新的。 这是实时固件更新(LFU)中会发生的情况。 我们有专门用于该参考设计的完整参考设计(TIDM-02011)和相应的用户指南(TIDUEY4)。

    您可以参考此处的示例代码。

    我之前的答复充分回答了你的问题。

    谢谢。

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Sira:

    我已经观察到、当我尝试  从引导加载程序直接跳转到另一个存储器扇区时、我的变量和 main 未加载、 这种行为是否有原因。 如果有、请解释发生这种情况的原因。是否有我们可以在运行时动态加载闪存的解决方案?  您能帮助我吗?

    谢谢。

    Revathi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Revathi、

    您需要分支到调用该项目 c_int00的地址。 这将确保 C 运行时初始化例程运行并调用相应的 main()。

    谢谢。

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Sira:

    我已经尝试了您建议的解决方案。我的问题尚未解决。 在调试时、当我开始使用引导加载程序时( 引导加载程序功能是在  c_int00 函数 并尝试 跳转到 main,它给出了"autorun:目标不运行,因为符号"main"在控制台中没有定义"。 即使我通过直接调用 main 来强制执行跳转、也会为变量(具有固定值)分配一些垃圾值、并且不会加载所有函数。  

    您能帮我解决这个问题吗、谢谢。

    此致、

    Revathi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将把这个问题转给另一组专家、他们可能会更有效地帮助您解决您的问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Revathi。

    如果要从一个编译的程序跳转到另一个编译的程序(两个都是单独编译的),则需要在调试时调用_c_init00()时加载新程序的符号。 从技术上讲、Sira 曾提到过、该起作用了。

    我建议您编写两个单独的应用程序、每个应用程序切换一个 GPIO、并了解此类方法的基础知识。 让我们排除与复杂程序相关的基本问题、直至该跳转问题得到解决。

    每个程序都应有一个 while (1)循环、在此循环中、您在切换 GPIO 时会有一定的延迟。

    为每个应用分配单独的 GPIO、以便轻松识别正在运行的应用。

    创建如下内容:

    主要()
    {
      //清除另一个应用程序的 GPIO
      
      while (1)
      {
        //切换 GPIO

        //延迟1秒
      }

    我看到映射文件对 App1和 App2具有独立的分配、并且没有重叠。

    -Kedar

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Sira:

    您能帮助我解决 LFU 吗、我有以下问题?

    1.有 SCI 初始化。

     关于一次性刷写引导加载程序和应用程序 、除非文档中有此类提示、否则我们只有一个闪存。

    此致。

    Revathi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Revathi、

    对于单个闪存组、我们在 C2000Ware 中有相应的 F28002x 闪存内核、位于 C:\ti\c2000\c2000Ware_ \driverlib\f28002x\examples\flash\ccs\flash_ex3_sci_flash_kernel.projectspec

    我们还有一个与该闪存内核配合使用的 LED 闪烁应用示例。 您可以 在此处申请

    这应该说明 SCI INIT。 你的观点(2)对我不清楚。 如果您在生产编程期间同时刷写 BL 和 App、则可以使用 hex2000实用程序将它们组合在一起、但前提是 BL 和 App 之间没有存储器重叠。

    我将从今天起离开办公室、7月24日回来。

    谢谢。

    Sira

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Sira:

    我已将 hex2000用于组合引导加载程序 、我出现以下错误。


    错误:内存范围"image_1"和"image_2"顺序错误
    错误:内存范围"image_5"和"image_6"不按顺序

    我尝试了链接器文件的不同组合以避免重叠、但错误仍然相同、您能帮助我找出导致此问题的原因吗?

    此致、

    Revathi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    存储器中每个可执行文件中的输出段之间必须存在一些重叠。  请注意、未初始化的段之间可能会发生此重叠、例如 .stack 。  必须消除这种重叠。

    谢谢。此致、

    -乔治