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: 请问还有办法可以缩减这个代码到大概0x1000大小吗

Part Number: TMS320F280025


******************************************************************************
             TMS320C2000 Linker PC v22.6.0                     
******************************************************************************
>> Linked Wed Aug 10 14:42:49 2022

OUTPUT FILE NAME:   <flashapi_ex1_programming.out>
ENTRY POINT SYMBOL: "code_start"  address: 00080000


MEMORY CONFIGURATION

         name            origin    length      used     unused   attr    fill
----------------------  --------  ---------  --------  --------  ----  --------
  BOOT_RSVD             00000002   00000126  00000000  00000126  RWIX
  RAMM0                 00000128   000002d8  00000000  000002d8  RWIX
  RAMM1                 00000400   000003f8  00000380  00000078  RWIX
  RAMLS4567             0000a000   00002000  000006c2  0000193e  RWIX
  RAMGS0                0000c000   000007f8  00000000  000007f8  RWIX
  BEGIN                 00080000   00000002  00000002  00000000  RWIX
  FLASH_BANK0_SEC0      00080002   00001ffe  00001996  00000668  RWIX
  FLASH_BANK0_SEC1      00082002   0000cffe  00000000  0000cffe  RWIX
  FLASH_BANK0_SEC15     0008f000   00000ff0  00000000  00000ff0  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)

.cinit     0    00081980    00000028     
                  00081980    00000016     (.cinit..data.load) [load image, compression = lzss]
                  00081996    00000006     (__TI_handler_table)
                  0008199c    00000004     (.cinit..bss.load) [load image, compression = zero_init]
                  000819a0    00000008     (__TI_cinit_table)

.reset     0    003fffc0    00000000     DSECT

.stack     0    00000400    00000380     UNINITIALIZED
                  00000400    00000380     --HOLE--

.init_array 
*          0    00080008    00000000     UNINITIALIZED

.bss       0    0000a000    00000499     UNINITIALIZED
                  0000a000    00000402     flashapi_ex1_programming.obj (.bss:rec_1024)
                  0000a402    00000082     flashapi_ex1_programming.obj (.bss:rec_128)
                  0000a484    0000000b     flashapi_ex1_programming.obj (.bss)
                  0000a48f    00000001     --HOLE--
                  0000a490    00000006     FlashAPI_F28002x_FPU32.lib : Init.obj (.bss)
                  0000a496    00000003     flashapi_ex1_programming.obj (.bss:Received_TOP)

.data      0    0000a698    00000032     UNINITIALIZED
                  0000a698    0000001e     flashapi_ex1_programming.obj (.data)
                  0000a6b6    00000006     rts2800_fpu32_eabi.lib : exit.c.obj (.data)
                  0000a6bc    00000005     flashapi_ex1_programming.obj (.data:transmitChar)
                  0000a6c1    00000004     flashapi_ex1_programming.obj (.data:tip1)
                  0000a6c5    00000001     --HOLE--
                  0000a6c6    00000002     rts2800_fpu32_eabi.lib : _lock.c.obj (.data:_lock)
                  0000a6c8    00000002                            : _lock.c.obj (.data:_unlock)

.const     0    00081718    00000265     
                  00081718    0000009b     driverlib.lib : flash.obj (.const:.string)
                  000817b3    00000001     --HOLE-- [fill = 0]
                  000817b4    0000009a                   : sysctl.obj (.const:.string)
                  0008184e    00000098                   : gpio.obj (.const:.string)
                  000818e6    00000097                   : lin.obj (.const:.string)

.TI.ramfunc 
*          0    00080008    000001f7     RUN ADDR = 0000a4a0
                  00080008    000000aa     flashapi_ex1_programming.obj (.TI.ramfunc:Example_ProgramUsingAutoECC)
                  000800b2    0000003f     driverlib.lib : flash.obj (.TI.ramfunc:Flash_initModule)
                  000800f1    0000002d                   : flash.obj (.TI.ramfunc:Flash_setBankPowerMode)
                  0008011e    00000024                   : flash.obj (.TI.ramfunc:Flash_setWaitstates)
                  00080142    0000001e                   : flash.obj (.TI.ramfunc:Flash_setPumpPowerMode)
                  00080160    0000001a                   : flash.obj (.TI.ramfunc:Flash_disableCache)
                  0008017a    0000001a                   : flash.obj (.TI.ramfunc:Flash_disablePrefetch)
                  00080194    00000019                   : flash.obj (.TI.ramfunc:Flash_enableCache)
                  000801ad    00000019                   : flash.obj (.TI.ramfunc:Flash_enablePrefetch)
                  000801c6    00000017                   : flash.obj (.TI.ramfunc:Flash_enableECC)
                  000801dd    00000013     flashapi_ex1_programming.obj (.TI.ramfunc:Example_EraseSector)
                  000801f0    0000000b     flashapi_ex1_programming.obj (.TI.ramfunc:Example_CallFlashAPI)
                  000801fb    00000004     driverlib.lib : sysctl.obj (.TI.ramfunc)

.text      0    00080200    00001512     
                  00080200    000002f6     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:_Fapi_setupFlashStateMachine)
                  000804f6    000001ab                                : Program.obj (.text:Fapi_issueProgrammingCommand)
                  000806a1    00000149     flashapi_ex1_programming.obj (.text:Ymodem_TopSwitch)
                  000807ea    00000133     driverlib.lib : sysctl.obj (.text:SysCtl_setClock)
                  0008091d    0000011e     flashapi_ex1_programming.obj (.text:main)
                  00080a3b    000000fe     driverlib.lib : sysctl.obj (.text:SysCtl_isPLLValid)
                  00080b39    0000009a     device.obj (.text:Device_enableAllPeripherals)
                  00080bd3    00000088     rts2800_fpu32_eabi.lib : fs_div28.asm.obj (.text)
                  00080c5b    00000082     FlashAPI_F28002x_FPU32.lib : BlankCheck.obj (.text:Fapi_doBlankCheck)
                  00080cdd    0000007e                                : Read.obj (.text:_Fapi_checkRegionForValue)
                  00080d5b    0000007a     driverlib.lib : sysctl.obj (.text:DCC_setCounterSeeds)
                  00080dd5    00000070     FlashAPI_F28002x_FPU32.lib : Read.obj (.text:_Fapi_loopRegionForValue)
                  00080e45    00000055     flashapi_ex1_programming.obj (.text:configureSCIMode)
                  00080e9a    00000053     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:_Fapi_issueFsmCommand)
                  00080eed    00000052     driverlib.lib : gpio.obj (.text:GPIO_setPadConfig)
                  00080f3f    0000004a     FlashAPI_F28002x_FPU32.lib : Init.obj (.text:Fapi_initializeAPI)
                  00080f89    00000043     driverlib.lib : sysctl.obj (.text:SysCtl_selectOscSource)
                  00080fcc    0000003d                   : interrupt.obj (.text:Interrupt_initModule)
                  00081009    00000038     FlashAPI_F28002x_FPU32.lib : Async.obj (.text:Fapi_issueAsyncCommandWithAddress)
                  00081041    00000038     driverlib.lib : gpio.obj (.text:GPIO_setQualificationMode)
                  00081079    00000037                   : gpio.obj (.text:GPIO_setPinConfig)
                  000810b0    00000031     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_setupBankSectorEnable)
                  000810e1    00000031     driverlib.lib : gpio.obj (.text:GPIO_setDirectionMode)
                  00081112    0000002f     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_setActiveFlashBank)
                  00081141    0000002e     rts2800_fpu32_eabi.lib : copy_decompress_lzss.c.obj (.text:decompress:lzss)
                  0008116f    0000002c     FlashAPI_F28002x_FPU32.lib : Utilities.obj (.text:Fapi_calculateFletcherChecksum)
                  0008119b    0000002c     driverlib.lib : lin.obj (.text:LIN_getData)
                  000811c7    0000002c                   : lin.obj (.text:LIN_sendData)
                  000811f3    0000002b                   : sysctl.obj (.text:SysCtl_selectXTAL)
                  0008121e    0000002b     rts2800_fpu32_eabi.lib : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit)
                  00081249    0000002a     FlashAPI_F28002x_FPU32.lib : Utilities.obj (.text:_Fapi_divideUnsignedLong)
                  00081273    00000029     rts2800_fpu32_eabi.lib : exit.c.obj (.text)
                  0008129c    00000026     driverlib.lib : sysctl.obj (.text:SysCtl_pollX1Counter)
                  000812c2    00000025                   : sysctl.obj (.text:DCC_enableSingleShotMode)
                  000812e7    00000024     device.obj (.text:Device_init)
                  0008130b    00000022     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_isAddressEcc)
                  0008132d    0000001f     driverlib.lib : sysctl.obj (.text:DCC_setCounter0ClkSource)
                  0008134c    0000001f                   : sysctl.obj (.text:DCC_setCounter1ClkSource)
                  0008136b    0000001e                   : interrupt.obj (.text:Interrupt_initVectorTable)
                  00081389    0000001d     rts2800_fpu32_eabi.lib : memcpy.c.obj (.text)
                  000813a6    0000001c     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:_Fapi_setupSectorsForWrite)
                  000813c2    0000001a     driverlib.lib : sysctl.obj (.text:SysCtl_selectXTALSingleEnded)
                  000813dc    00000019     flashapi_ex1_programming.obj (.text:LIN_setMaximumBaudRate)
                  000813f5    00000017     driverlib.lib : sysctl.obj (.text:DCC_disableDoneSignal)
                  0008140c    00000017     flashapi_ex1_programming.obj (.text:LIN_enableSCIParity)
                  00081423    00000017     device.obj (.text:SysCtl_enablePeripheral)
                  0008143a    00000017     driverlib.lib : sysctl.obj (.text:SysCtl_enablePeripheral)
                  00081451    00000017     rts2800_fpu32_eabi.lib : boot28.asm.obj (.text)
                  00081468    00000016     driverlib.lib : sysctl.obj (.text:DCC_clearDoneFlag)
                  0008147e    00000016                   : sysctl.obj (.text:DCC_clearErrorFlag)
                  00081494    00000016                   : sysctl.obj (.text:DCC_disableErrorSignal)
                  000814aa    00000016     flashapi_ex1_programming.obj (.text:LIN_isSCIDataAvailable)
                  000814c0    00000016     flashapi_ex1_programming.obj (.text:LIN_setSCIFrameLength)
                  000814d6    00000015     driverlib.lib : sysctl.obj (.text:DCC_isBaseValid)
                  000814eb    00000015     FlashAPI_F28002x_FPU32.lib : Read.obj (.text:Fapi_flushPipeline)
                  00081500    00000015     device.obj (.text:GPIO_unlockPortConfig)
                  00081515    00000015     driverlib.lib : lin.obj (.text:LIN_isBaseValid)
                  0008152a    00000015     flashapi_ex1_programming.obj (.text:LIN_setDebugSuspendMode)
                  0008153f    00000014     driverlib.lib : sysctl.obj (.text:DCC_disableModule)
                  00081553    00000014                   : sysctl.obj (.text:DCC_enableModule)
                  00081567    00000014                   : gpio.obj (.text:GPIO_isPinValid)
                  0008157b    00000012     flashapi_ex1_programming.obj (.text:LIN_setSCIStopBits)
                  0008158d    00000011     flashapi_ex1_programming.obj (.text:LIN_setBaudRatePrescaler)
                  0008159e    00000011     flashapi_ex1_programming.obj (.text:LIN_setSCICharLength)
                  000815af    00000010     device.obj (.text:Device_initGPIO)
                  000815bf    00000010     driverlib.lib : flash.obj (.text:Flash_isCtrlBaseValid)
                  000815cf    00000010                   : flash.obj (.text:Flash_isECCBaseValid)
                  000815df    00000010     flashapi_ex1_programming.obj (.text:LIN_enableSCIMode)
                  000815ef    0000000f     FlashAPI_F28002x_FPU32.lib : Verify.obj (.text:Fapi_doVerify)
                  000815fe    0000000e     driverlib.lib : interrupt.obj (.text:Interrupt_defaultHandler)
                  0008160c    0000000e     flashapi_ex1_programming.obj (.text:LIN_disableModule)
                  0008161a    0000000e     flashapi_ex1_programming.obj (.text:LIN_enableModule)
                  00081628    0000000d     driverlib.lib : interrupt.obj (.text:Interrupt_disableMaster)
                  00081635    0000000d     device.obj (.text:SysCtl_setLowSpeedClock)
                  00081642    0000000c     driverlib.lib : sysctl.obj (.text:SysCtl_setPLLSysClk)
                  0008164e    0000000c     rts2800_fpu32_eabi.lib : args_main.c.obj (.text)
                  0008165a    0000000b     flashapi_ex1_programming.obj (.text:LIN_disableIntLoopback)
                  00081665    0000000b     flashapi_ex1_programming.obj (.text:LIN_enableDataReceiver)
                  00081670    0000000b     flashapi_ex1_programming.obj (.text:LIN_enableDataTransmitter)
                  0008167b    0000000b     driverlib.lib : sysctl.obj (.text:SysCtl_isMCDClockFailureDetected)
                  00081686    0000000b     FlashAPI_F28002x_FPU32.lib : Utilities.obj (.text:_Fapi_calculateOtpChecksum)
                  00081691    0000000b                                : Utilities.obj (.text:_Fapi_scaleCycleValues)
                  0008169c    0000000a     flashapi_ex1_programming.obj (.text:LIN_setSCICommMode)
                  000816a6    00000009     flashapi_ex1_programming.obj (.text:LIN_enableMultibufferMode)
                  000816af    00000009     flashapi_ex1_programming.obj (.text:LIN_enterSoftwareReset)
                  000816b8    00000009     flashapi_ex1_programming.obj (.text:LIN_exitSoftwareReset)
                  000816c1    00000009     rts2800_fpu32_eabi.lib : _lock.c.obj (.text)
                  000816ca    00000008     device.obj (.text:SysCtl_disableWatchdog)
                  000816d2    00000008     rts2800_fpu32_eabi.lib : copy_decompress_none.c.obj (.text:decompress:none)
                  000816da    00000008     f28002x_codestartbranch.obj (.text)
                  000816e2    00000007     device.obj (.text:ASysCtl_lockVREG)
                  000816e9    00000007     FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_getFsmStatus)
                  000816f0    00000007     driverlib.lib : sysctl.obj (.text:SysCtl_resetMCD)
                  000816f7    00000007     device.obj (.text:__error__)
                  000816fe    00000007     rts2800_fpu32_eabi.lib : memset.c.obj (.text)
                  00081705    00000006                            : copy_zero_init.c.obj (.text:decompress:ZI)
                  0008170b    00000002     driverlib.lib : interrupt.obj (.text:Interrupt_illegalOperationHandler)
                  0008170d    00000002                   : interrupt.obj (.text:Interrupt_nmiHandler)
                  0008170f    00000002     rts2800_fpu32_eabi.lib : pre_init.c.obj (.text)
                  00081711    00000001                            : startup.c.obj (.text)

MODULE SUMMARY

       Module                         code   ro data   rw data
       ------                         ----   -------   -------
    .\
       flashapi_ex1_programming.obj   1379   0         1209   
    +--+------------------------------+------+---------+---------+
       Total:                         1379   0         1209   
                                                              
    .\device\
       device.obj                     285    0         0      
       f28002x_codestartbranch.obj    10     0         0      
    +--+------------------------------+------+---------+---------+
       Total:                         295    0         0      
                                                              
    ../FlashAPI_F28002x_FPU32.lib
       FlashStateMachine.obj          1006   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:                         2075   0         6      
                                                              
    C:/ti/c2000/C2000Ware_4_01_00_00/driverlib/f28002x/driverlib/ccs/Debug/driverlib.lib
       sysctl.obj                     1167   154       0      
       flash.obj                      630    155       0      
       gpio.obj                       262    152       0      
       lin.obj                        109    151       0      
       interrupt.obj                  122    0         0      
    +--+------------------------------+------+---------+---------+
       Total:                         2290   612       0      
                                                              
    C:\ti\ccs1200\ccs\tools\compiler\ti-cgt-c2000_22.6.0.LTS\lib\rts2800_fpu32_eabi.lib
       fs_div28.asm.obj               136    0         0      
       exit.c.obj                     41     0         6      
       copy_decompress_lzss.c.obj     46     0         0      
       autoinit.c.obj                 43     0         0      
       memcpy.c.obj                   29     0         0      
       boot28.asm.obj                 23     0         0      
       _lock.c.obj                    9      0         4      
       args_main.c.obj                12     0         0      
       copy_decompress_none.c.obj     8      0         0      
       memset.c.obj                   7      0         0      
       copy_zero_init.c.obj           6      0         0      
       pre_init.c.obj                 2      0         0      
       startup.c.obj                  1      0         0      
    +--+------------------------------+------+---------+---------+
       Total:                         363    0         10     
                                                              
       Stack:                         0      0         896    
       Linker Generated:              0      40        0      
    +--+------------------------------+------+---------+---------+
       Grand Total:                   6402   652       2121   


LINKER GENERATED COPY TABLES

__TI_cinit_table @ 000819a0 records: 2, size/record: 4, table size: 8
	.data: load addr=00081980, load size=00000016 bytes, run addr=0000a698, run size=00000032 bytes, compression=lzss
	.bss: load addr=0008199c, load size=00000004 bytes, run addr=0000a000, run size=00000499 bytes, compression=zero_init


LINKER GENERATED HANDLER TABLE

__TI_handler_table @ 00081996 records: 3, size/record: 2, table size: 6
	index: 0, handler: __TI_zero_init
	index: 1, handler: __TI_decompress_lzss
	index: 2, handler: __TI_decompress_none


GLOBAL DATA SYMBOLS: SORTED BY DATA PAGE

address     data page           name
--------    ----------------    ----
00000400      10 (00000400)     __stack

0000a000     280 (0000a000)     rec_1024

0000a402     290 (0000a400)     rec_128

0000a484     292 (0000a480)     testcount1
0000a485     292 (0000a480)     testcount2
0000a486     292 (0000a480)     testcount3
0000a487     292 (0000a480)     testcount4
0000a488     292 (0000a480)     testcount5
0000a489     292 (0000a480)     testcount6
0000a48a     292 (0000a480)     testcount7
0000a48b     292 (0000a480)     testcount8
0000a48c     292 (0000a480)     testcount9
0000a48d     292 (0000a480)     testcount10
0000a48e     292 (0000a480)     testcount11
0000a490     292 (0000a480)     Fapi_GlobalInit
0000a496     292 (0000a480)     Received_TOP

0000a698     29a (0000a680)     Received_TOPFlag
0000a699     29a (0000a680)     Received_TOPFlag2
0000a69a     29a (0000a680)     Received_TOPFlag3
0000a69b     29a (0000a680)     Received_TOPFlag4
0000a69c     29a (0000a680)     Received_Date
0000a69d     29a (0000a680)     Received_UpdeteFlag
0000a69e     29a (0000a680)     flag1
0000a69f     29a (0000a680)     flag2
0000a6a0     29a (0000a680)     flag4
0000a6a1     29a (0000a680)     datacount
0000a6a2     29a (0000a680)     datacount1
0000a6a3     29a (0000a680)     Receive_bit_index
0000a6a4     29a (0000a680)     Receive_bit_index_end
0000a6a5     29a (0000a680)     Receive_bit_index_endcount
0000a6a6     29a (0000a680)     indexoddcount
0000a6a7     29a (0000a680)     stxcount1
0000a6a8     29a (0000a680)     stxcount2
0000a6a9     29a (0000a680)     stxcount3
0000a6aa     29a (0000a680)     stxttopflag
0000a6ab     29a (0000a680)     stx1026count
0000a6ac     29a (0000a680)     sohcount2
0000a6ad     29a (0000a680)     sohtopflag
0000a6ae     29a (0000a680)     Received_TOPCount
0000a6b0     29a (0000a680)     index1024
0000a6b2     29a (0000a680)     index128
0000a6b4     29a (0000a680)     sohcount1
0000a6b6     29a (0000a680)     __TI_enable_exit_profile_output
0000a6b8     29a (0000a680)     __TI_cleanup_ptr
0000a6ba     29a (0000a680)     __TI_dtors_ptr
0000a6bc     29a (0000a680)     transmitChar

0000a6c1     29b (0000a6c0)     tip1
0000a6c6     29b (0000a6c0)     _lock
0000a6c8     29b (0000a6c0)     _unlock


GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 

page  address   name                             
----  -------   ----                             
0     00081273  C$$EXIT                          
0     00080b39  Device_enableAllPeripherals      
0     000812e7  Device_init                      
0     000815af  Device_initGPIO                  
0     0000a688  Example_CallFlashAPI             
0     0000a675  Example_EraseSector              
0     0000a4a0  Example_ProgramUsingAutoECC      
0     0000a490  Fapi_GlobalInit                  
0     0008116f  Fapi_calculateFletcherChecksum   
0     00080c5b  Fapi_doBlankCheck                
0     000815ef  Fapi_doVerify                    
0     000814eb  Fapi_flushPipeline               
0     000816e9  Fapi_getFsmStatus                
0     00080f3f  Fapi_initializeAPI               
0     0008130b  Fapi_isAddressEcc                
0     00081009  Fapi_issueAsyncCommandWithAddress
0     000804f6  Fapi_issueProgrammingCommand     
0     00081112  Fapi_setActiveFlashBank          
0     000810b0  Fapi_setupBankSectorEnable       
0     0000a54a  Flash_initModule                 
0     000810e1  GPIO_setDirectionMode            
0     00080eed  GPIO_setPadConfig                
0     00081079  GPIO_setPinConfig                
0     00081041  GPIO_setQualificationMode        
0     00080fcc  Interrupt_initModule             
0     0008136b  Interrupt_initVectorTable        
0     0008119b  LIN_getData                      
0     000811c7  LIN_sendData                     
0     000801ff  RamfuncsLoadEnd                  
abs   000001f7  RamfuncsLoadSize                 
0     00080008  RamfuncsLoadStart                
0     0000a697  RamfuncsRunEnd                   
abs   000001f7  RamfuncsRunSize                  
0     0000a4a0  RamfuncsRunStart                 
0     0000a6a3  Receive_bit_index                
0     0000a6a4  Receive_bit_index_end            
0     0000a6a5  Receive_bit_index_endcount       
0     0000a69c  Received_Date                    
0     0000a496  Received_TOP                     
0     0000a6ae  Received_TOPCount                
0     0000a698  Received_TOPFlag                 
0     0000a699  Received_TOPFlag2                
0     0000a69a  Received_TOPFlag3                
0     0000a69b  Received_TOPFlag4                
0     0000a69d  Received_UpdeteFlag              
0     0000a693  SysCtl_delay                     
0     00080a3b  SysCtl_isPLLValid                
0     00080f89  SysCtl_selectOscSource           
0     000811f3  SysCtl_selectXTAL                
0     000813c2  SysCtl_selectXTALSingleEnded     
0     000807ea  SysCtl_setClock                  
0     000806a1  Ymodem_TopSwitch                 
0     00081686  _Fapi_calculateOtpChecksum       
0     00080cdd  _Fapi_checkRegionForValue        
0     00081249  _Fapi_divideUnsignedLong         
0     00080e9a  _Fapi_issueFsmCommand            
0     00080dd5  _Fapi_loopRegionForValue         
0     00081691  _Fapi_scaleCycleValues           
0     000813a6  _Fapi_setupSectorsForWrite       
0     000819a0  __TI_CINIT_Base                  
0     000819a8  __TI_CINIT_Limit                 
0     000819a8  __TI_CINIT_Warm                  
0     00081996  __TI_Handler_Table_Base          
0     0008199c  __TI_Handler_Table_Limit         
0     00000780  __TI_STACK_END                   
abs   00000380  __TI_STACK_SIZE                  
0     0008121e  __TI_auto_init_nobinit_nopinit   
0     0000a6b8  __TI_cleanup_ptr                 
0     00081141  __TI_decompress_lzss             
0     000816d2  __TI_decompress_none             
0     0000a6ba  __TI_dtors_ptr                   
0     0000a6b6  __TI_enable_exit_profile_output  
abs   ffffffff  __TI_pprof_out_hndl              
abs   ffffffff  __TI_prof_data_size              
abs   ffffffff  __TI_prof_data_start             
0     00081705  __TI_zero_init                   
0     00080bd3  __c28xabi_divf                   
n/a   UNDEFED   __c_args__                       
0     000816f7  __error__                        
0     00000400  __stack                          
0     0008164e  _args_main                       
0     00081451  _c_int00                         
0     0000a6c6  _lock                            
0     000816c9  _nop                             
0     000816c5  _register_lock                   
0     000816c1  _register_unlock                 
0     00081711  _system_post_cinit               
0     0008170f  _system_pre_init                 
0     0000a6c8  _unlock                          
0     00081273  abort                            
0     00080000  code_start                       
0     00080e45  configureSCIMode                 
0     0000a6a1  datacount                        
0     0000a6a2  datacount1                       
0     00081275  exit                             
0     0000a69e  flag1                            
0     0000a69f  flag2                            
0     0000a6a0  flag4                            
0     0000a6b0  index1024                        
0     0000a6b2  index128                         
0     0000a6a6  indexoddcount                    
0     0008091d  main                             
0     00081389  memcpy                           
0     000816fe  memset                           
0     0000a000  rec_1024                         
0     0000a402  rec_128                          
0     0000a6b4  sohcount1                        
0     0000a6ac  sohcount2                        
0     0000a6ad  sohtopflag                       
0     0000a6ab  stx1026count                     
0     0000a6a7  stxcount1                        
0     0000a6a8  stxcount2                        
0     0000a6a9  stxcount3                        
0     0000a6aa  stxttopflag                      
0     0000a484  testcount1                       
0     0000a48d  testcount10                      
0     0000a48e  testcount11                      
0     0000a485  testcount2                       
0     0000a486  testcount3                       
0     0000a487  testcount4                       
0     0000a488  testcount5                       
0     0000a489  testcount6                       
0     0000a48a  testcount7                       
0     0000a48b  testcount8                       
0     0000a48c  testcount9                       
0     0000a6c1  tip1                             
0     0000a6bc  transmitChar                     


GLOBAL SYMBOLS: SORTED BY Symbol Address 

page  address   name                             
----  -------   ----                             
0     00000400  __stack                          
0     00000780  __TI_STACK_END                   
0     0000a000  rec_1024                         
0     0000a402  rec_128                          
0     0000a484  testcount1                       
0     0000a485  testcount2                       
0     0000a486  testcount3                       
0     0000a487  testcount4                       
0     0000a488  testcount5                       
0     0000a489  testcount6                       
0     0000a48a  testcount7                       
0     0000a48b  testcount8                       
0     0000a48c  testcount9                       
0     0000a48d  testcount10                      
0     0000a48e  testcount11                      
0     0000a490  Fapi_GlobalInit                  
0     0000a496  Received_TOP                     
0     0000a4a0  Example_ProgramUsingAutoECC      
0     0000a4a0  RamfuncsRunStart                 
0     0000a54a  Flash_initModule                 
0     0000a675  Example_EraseSector              
0     0000a688  Example_CallFlashAPI             
0     0000a693  SysCtl_delay                     
0     0000a697  RamfuncsRunEnd                   
0     0000a698  Received_TOPFlag                 
0     0000a699  Received_TOPFlag2                
0     0000a69a  Received_TOPFlag3                
0     0000a69b  Received_TOPFlag4                
0     0000a69c  Received_Date                    
0     0000a69d  Received_UpdeteFlag              
0     0000a69e  flag1                            
0     0000a69f  flag2                            
0     0000a6a0  flag4                            
0     0000a6a1  datacount                        
0     0000a6a2  datacount1                       
0     0000a6a3  Receive_bit_index                
0     0000a6a4  Receive_bit_index_end            
0     0000a6a5  Receive_bit_index_endcount       
0     0000a6a6  indexoddcount                    
0     0000a6a7  stxcount1                        
0     0000a6a8  stxcount2                        
0     0000a6a9  stxcount3                        
0     0000a6aa  stxttopflag                      
0     0000a6ab  stx1026count                     
0     0000a6ac  sohcount2                        
0     0000a6ad  sohtopflag                       
0     0000a6ae  Received_TOPCount                
0     0000a6b0  index1024                        
0     0000a6b2  index128                         
0     0000a6b4  sohcount1                        
0     0000a6b6  __TI_enable_exit_profile_output  
0     0000a6b8  __TI_cleanup_ptr                 
0     0000a6ba  __TI_dtors_ptr                   
0     0000a6bc  transmitChar                     
0     0000a6c1  tip1                             
0     0000a6c6  _lock                            
0     0000a6c8  _unlock                          
0     00080000  code_start                       
0     00080008  RamfuncsLoadStart                
0     000801ff  RamfuncsLoadEnd                  
0     000804f6  Fapi_issueProgrammingCommand     
0     000806a1  Ymodem_TopSwitch                 
0     000807ea  SysCtl_setClock                  
0     0008091d  main                             
0     00080a3b  SysCtl_isPLLValid                
0     00080b39  Device_enableAllPeripherals      
0     00080bd3  __c28xabi_divf                   
0     00080c5b  Fapi_doBlankCheck                
0     00080cdd  _Fapi_checkRegionForValue        
0     00080dd5  _Fapi_loopRegionForValue         
0     00080e45  configureSCIMode                 
0     00080e9a  _Fapi_issueFsmCommand            
0     00080eed  GPIO_setPadConfig                
0     00080f3f  Fapi_initializeAPI               
0     00080f89  SysCtl_selectOscSource           
0     00080fcc  Interrupt_initModule             
0     00081009  Fapi_issueAsyncCommandWithAddress
0     00081041  GPIO_setQualificationMode        
0     00081079  GPIO_setPinConfig                
0     000810b0  Fapi_setupBankSectorEnable       
0     000810e1  GPIO_setDirectionMode            
0     00081112  Fapi_setActiveFlashBank          
0     00081141  __TI_decompress_lzss             
0     0008116f  Fapi_calculateFletcherChecksum   
0     0008119b  LIN_getData                      
0     000811c7  LIN_sendData                     
0     000811f3  SysCtl_selectXTAL                
0     0008121e  __TI_auto_init_nobinit_nopinit   
0     00081249  _Fapi_divideUnsignedLong         
0     00081273  C$$EXIT                          
0     00081273  abort                            
0     00081275  exit                             
0     000812e7  Device_init                      
0     0008130b  Fapi_isAddressEcc                
0     0008136b  Interrupt_initVectorTable        
0     00081389  memcpy                           
0     000813a6  _Fapi_setupSectorsForWrite       
0     000813c2  SysCtl_selectXTALSingleEnded     
0     00081451  _c_int00                         
0     000814eb  Fapi_flushPipeline               
0     000815af  Device_initGPIO                  
0     000815ef  Fapi_doVerify                    
0     0008164e  _args_main                       
0     00081686  _Fapi_calculateOtpChecksum       
0     00081691  _Fapi_scaleCycleValues           
0     000816c1  _register_unlock                 
0     000816c5  _register_lock                   
0     000816c9  _nop                             
0     000816d2  __TI_decompress_none             
0     000816e9  Fapi_getFsmStatus                
0     000816f7  __error__                        
0     000816fe  memset                           
0     00081705  __TI_zero_init                   
0     0008170f  _system_pre_init                 
0     00081711  _system_post_cinit               
0     00081996  __TI_Handler_Table_Base          
0     0008199c  __TI_Handler_Table_Limit         
0     000819a0  __TI_CINIT_Base                  
0     000819a8  __TI_CINIT_Limit                 
0     000819a8  __TI_CINIT_Warm                  
abs   000001f7  RamfuncsLoadSize                 
abs   000001f7  RamfuncsRunSize                  
abs   00000380  __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__                       

[127 symbols]
上面是map文件

下面是我使用到的flashapi

extern Fapi_StatusType Fapi_initializeAPI(
                                         Fapi_FmcRegistersType *poFlashControlRegister,
                                         uint32 u32HclkFrequency
                                         );




extern Fapi_StatusType Fapi_setActiveFlashBank(Fapi_FlashBankType oNewFlashBank);

extern Fapi_StatusType Fapi_issueAsyncCommandWithAddress(
                                                        Fapi_FlashStateCommandsType oCommand,
                                                        uint32 *pu32StartAddress
                                                        );

extern Fapi_FlashStatusType Fapi_getFsmStatus(void);



extern Fapi_StatusType Fapi_doBlankCheck(
                                        uint32 *pu32StartAddress,
                                        uint32 u32Length,
                                        Fapi_FlashStatusWordType *poFlashStatusWord
                                        );




extern Fapi_StatusType Fapi_issueProgrammingCommand(
                                            uint32 *pu32StartAddress,
                                            uint16 *pu16DataBuffer,
                                            uint16  u16DataBufferSizeInWords,
                                            uint16 *pu16EccBuffer,
                                            uint16  u16EccBufferSizeInBytes,
                                            Fapi_FlashProgrammingCommandsType oMode
                                            );


extern Fapi_StatusType Fapi_doVerify(
                                    uint32 *pu32StartAddress,
                                    uint32 u32Length,
                                    uint32 *pu32CheckValueBuffer,
                                    Fapi_FlashStatusWordType *poFlashStatusWord
                                    );

Ymodem_TopSwitch是自己的代码

  • 你好,很抱歉在代码缩减方面我可能给不出什么建议,因为这个涉及编程逻辑问题。

    不过如果是你的代码容量超过了分区的大小,你可以尝试一下:

    1、增加分区大小,可以合并两个相连的ram分区来达到扩大分区的效果。

    2、可以尝试一下代码优化等级,也就是CCS的Code optimization。这个在某些情况下会优化代码大小,但是这个风险也比较大,有小概率会导致程序运行出问题。具体介绍可以看一下编译器手册的Chapter 3 Optimizing Your Code:

    www.ti.com.cn/.../spru514y.pdf

  • 你好,并不是要求帮我缩减自己编写的代码,而是我在map文件里看到本身我自己的代码其实并不大,链接了一些文件导致总体文件大小没有满足要求,能否看看map的地址分布看看哪些其实是不需要使用的。

  • 能否看看map的地址分布看看哪些其实是不需要使用的

    这点因为是工程中链接了的文件,我不确定能否在这方面做缩减。我建议你可以先尝试一下代码优化,代码优化可以优化掉一些没有使用的代码语句。如果优化无效的话可能我要找一下这方面的工程师看能否做这方面的缩减。