TI中文支持网
TI专业的中文技术问题搜集分享网站

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 CONFIGURATIONnameoriginlengthusedunusedattrfill
----------------------  --------  ---------  --------  --------  ----  --------BOOT_RSVD0000000200000126  00000000  00000126  RWIXRAMM000000128000002d8  00000000  000002d8  RWIXRAMM100000400000003f8  00000380  00000078  RWIXRAMLS45670000a00000002000  000006c2  0000193e  RWIXRAMGS00000c000000007f8  00000000  000007f8  RWIXBEGIN0008000000000002  00000002  00000000  RWIXFLASH_BANK0_SEC00008000200001ffe  00001996  00000668  RWIXFLASH_BANK0_SEC1000820020000cffe  00000000  0000cffe  RWIXFLASH_BANK0_SEC150008f00000000ff0  00000000  00000ff0  RWIXBOOTROM003f000000008000  00000000  00008000  RWIXBOOTROM_EXT003f800000007fc0  00000000  00007fc0  RWIXRESET003fffc000000002  00000000  00000002  RWIX


SECTION ALLOCATION MAPoutputattributes/
sectionpageoriginlengthinput sections
--------  ----  ----------  --------------------------
codestart 
*000080000000000020008000000000002f28002x_codestartbranch.obj (codestart)

.cinit000081980000000280008198000000016(.cinit..data.load) [load image, compression = lzss]0008199600000006(__TI_handler_table)0008199c00000004(.cinit..bss.load) [load image, compression = zero_init]000819a000000008(__TI_cinit_table)

.reset0003fffc000000000DSECT

.stack00000040000000380UNINITIALIZED0000040000000380--HOLE--

.init_array 
*00008000800000000UNINITIALIZED

.bss00000a00000000499UNINITIALIZED0000a00000000402flashapi_ex1_programming.obj (.bss:rec_1024)0000a40200000082flashapi_ex1_programming.obj (.bss:rec_128)0000a4840000000bflashapi_ex1_programming.obj (.bss)0000a48f00000001--HOLE--0000a49000000006FlashAPI_F28002x_FPU32.lib : Init.obj (.bss)0000a49600000003flashapi_ex1_programming.obj (.bss:Received_TOP)

.data00000a69800000032UNINITIALIZED0000a6980000001eflashapi_ex1_programming.obj (.data)0000a6b600000006rts2800_fpu32_eabi.lib : exit.c.obj (.data)0000a6bc00000005flashapi_ex1_programming.obj (.data:transmitChar)0000a6c100000004flashapi_ex1_programming.obj (.data:tip1)0000a6c500000001--HOLE--0000a6c600000002rts2800_fpu32_eabi.lib : _lock.c.obj (.data:_lock)0000a6c800000002: _lock.c.obj (.data:_unlock)

.const00008171800000265000817180000009bdriverlib.lib : flash.obj (.const:.string)000817b300000001--HOLE-- [fill = 0]000817b40000009a: sysctl.obj (.const:.string)0008184e00000098: gpio.obj (.const:.string)000818e600000097: lin.obj (.const:.string)

.TI.ramfunc 
*000080008000001f7RUN ADDR = 0000a4a000080008000000aaflashapi_ex1_programming.obj (.TI.ramfunc:Example_ProgramUsingAutoECC)000800b20000003fdriverlib.lib : flash.obj (.TI.ramfunc:Flash_initModule)000800f10000002d: flash.obj (.TI.ramfunc:Flash_setBankPowerMode)0008011e00000024: flash.obj (.TI.ramfunc:Flash_setWaitstates)000801420000001e: flash.obj (.TI.ramfunc:Flash_setPumpPowerMode)000801600000001a: flash.obj (.TI.ramfunc:Flash_disableCache)0008017a0000001a: flash.obj (.TI.ramfunc:Flash_disablePrefetch)0008019400000019: flash.obj (.TI.ramfunc:Flash_enableCache)000801ad00000019: flash.obj (.TI.ramfunc:Flash_enablePrefetch)000801c600000017: flash.obj (.TI.ramfunc:Flash_enableECC)000801dd00000013flashapi_ex1_programming.obj (.TI.ramfunc:Example_EraseSector)000801f00000000bflashapi_ex1_programming.obj (.TI.ramfunc:Example_CallFlashAPI)000801fb00000004driverlib.lib : sysctl.obj (.TI.ramfunc)

.text0000802000000151200080200000002f6FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:_Fapi_setupFlashStateMachine)000804f6000001ab: Program.obj (.text:Fapi_issueProgrammingCommand)000806a100000149flashapi_ex1_programming.obj (.text:Ymodem_TopSwitch)000807ea00000133driverlib.lib : sysctl.obj (.text:SysCtl_setClock)0008091d0000011eflashapi_ex1_programming.obj (.text:main)00080a3b000000fedriverlib.lib : sysctl.obj (.text:SysCtl_isPLLValid)00080b390000009adevice.obj (.text:Device_enableAllPeripherals)00080bd300000088rts2800_fpu32_eabi.lib : fs_div28.asm.obj (.text)00080c5b00000082FlashAPI_F28002x_FPU32.lib : BlankCheck.obj (.text:Fapi_doBlankCheck)00080cdd0000007e: Read.obj (.text:_Fapi_checkRegionForValue)00080d5b0000007adriverlib.lib : sysctl.obj (.text:DCC_setCounterSeeds)00080dd500000070FlashAPI_F28002x_FPU32.lib : Read.obj (.text:_Fapi_loopRegionForValue)00080e4500000055flashapi_ex1_programming.obj (.text:configureSCIMode)00080e9a00000053FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:_Fapi_issueFsmCommand)00080eed00000052driverlib.lib : gpio.obj (.text:GPIO_setPadConfig)00080f3f0000004aFlashAPI_F28002x_FPU32.lib : Init.obj (.text:Fapi_initializeAPI)00080f8900000043driverlib.lib : sysctl.obj (.text:SysCtl_selectOscSource)00080fcc0000003d: interrupt.obj (.text:Interrupt_initModule)0008100900000038FlashAPI_F28002x_FPU32.lib : Async.obj (.text:Fapi_issueAsyncCommandWithAddress)0008104100000038driverlib.lib : gpio.obj (.text:GPIO_setQualificationMode)0008107900000037: gpio.obj (.text:GPIO_setPinConfig)000810b000000031FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_setupBankSectorEnable)000810e100000031driverlib.lib : gpio.obj (.text:GPIO_setDirectionMode)000811120000002fFlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_setActiveFlashBank)000811410000002erts2800_fpu32_eabi.lib : copy_decompress_lzss.c.obj (.text:decompress:lzss)0008116f0000002cFlashAPI_F28002x_FPU32.lib : Utilities.obj (.text:Fapi_calculateFletcherChecksum)0008119b0000002cdriverlib.lib : lin.obj (.text:LIN_getData)000811c70000002c: lin.obj (.text:LIN_sendData)000811f30000002b: sysctl.obj (.text:SysCtl_selectXTAL)0008121e0000002brts2800_fpu32_eabi.lib : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit)000812490000002aFlashAPI_F28002x_FPU32.lib : Utilities.obj (.text:_Fapi_divideUnsignedLong)0008127300000029rts2800_fpu32_eabi.lib : exit.c.obj (.text)0008129c00000026driverlib.lib : sysctl.obj (.text:SysCtl_pollX1Counter)000812c200000025: sysctl.obj (.text:DCC_enableSingleShotMode)000812e700000024device.obj (.text:Device_init)0008130b00000022FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_isAddressEcc)0008132d0000001fdriverlib.lib : sysctl.obj (.text:DCC_setCounter0ClkSource)0008134c0000001f: sysctl.obj (.text:DCC_setCounter1ClkSource)0008136b0000001e: interrupt.obj (.text:Interrupt_initVectorTable)000813890000001drts2800_fpu32_eabi.lib : memcpy.c.obj (.text)000813a60000001cFlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:_Fapi_setupSectorsForWrite)000813c20000001adriverlib.lib : sysctl.obj (.text:SysCtl_selectXTALSingleEnded)000813dc00000019flashapi_ex1_programming.obj (.text:LIN_setMaximumBaudRate)000813f500000017driverlib.lib : sysctl.obj (.text:DCC_disableDoneSignal)0008140c00000017flashapi_ex1_programming.obj (.text:LIN_enableSCIParity)0008142300000017device.obj (.text:SysCtl_enablePeripheral)0008143a00000017driverlib.lib : sysctl.obj (.text:SysCtl_enablePeripheral)0008145100000017rts2800_fpu32_eabi.lib : boot28.asm.obj (.text)0008146800000016driverlib.lib : sysctl.obj (.text:DCC_clearDoneFlag)0008147e00000016: sysctl.obj (.text:DCC_clearErrorFlag)0008149400000016: sysctl.obj (.text:DCC_disableErrorSignal)000814aa00000016flashapi_ex1_programming.obj (.text:LIN_isSCIDataAvailable)000814c000000016flashapi_ex1_programming.obj (.text:LIN_setSCIFrameLength)000814d600000015driverlib.lib : sysctl.obj (.text:DCC_isBaseValid)000814eb00000015FlashAPI_F28002x_FPU32.lib : Read.obj (.text:Fapi_flushPipeline)0008150000000015device.obj (.text:GPIO_unlockPortConfig)0008151500000015driverlib.lib : lin.obj (.text:LIN_isBaseValid)0008152a00000015flashapi_ex1_programming.obj (.text:LIN_setDebugSuspendMode)0008153f00000014driverlib.lib : sysctl.obj (.text:DCC_disableModule)0008155300000014: sysctl.obj (.text:DCC_enableModule)0008156700000014: gpio.obj (.text:GPIO_isPinValid)0008157b00000012flashapi_ex1_programming.obj (.text:LIN_setSCIStopBits)0008158d00000011flashapi_ex1_programming.obj (.text:LIN_setBaudRatePrescaler)0008159e00000011flashapi_ex1_programming.obj (.text:LIN_setSCICharLength)000815af00000010device.obj (.text:Device_initGPIO)000815bf00000010driverlib.lib : flash.obj (.text:Flash_isCtrlBaseValid)000815cf00000010: flash.obj (.text:Flash_isECCBaseValid)000815df00000010flashapi_ex1_programming.obj (.text:LIN_enableSCIMode)000815ef0000000fFlashAPI_F28002x_FPU32.lib : Verify.obj (.text:Fapi_doVerify)000815fe0000000edriverlib.lib : interrupt.obj (.text:Interrupt_defaultHandler)0008160c0000000eflashapi_ex1_programming.obj (.text:LIN_disableModule)0008161a0000000eflashapi_ex1_programming.obj (.text:LIN_enableModule)000816280000000ddriverlib.lib : interrupt.obj (.text:Interrupt_disableMaster)000816350000000ddevice.obj (.text:SysCtl_setLowSpeedClock)000816420000000cdriverlib.lib : sysctl.obj (.text:SysCtl_setPLLSysClk)0008164e0000000crts2800_fpu32_eabi.lib : args_main.c.obj (.text)0008165a0000000bflashapi_ex1_programming.obj (.text:LIN_disableIntLoopback)000816650000000bflashapi_ex1_programming.obj (.text:LIN_enableDataReceiver)000816700000000bflashapi_ex1_programming.obj (.text:LIN_enableDataTransmitter)0008167b0000000bdriverlib.lib : sysctl.obj (.text:SysCtl_isMCDClockFailureDetected)000816860000000bFlashAPI_F28002x_FPU32.lib : Utilities.obj (.text:_Fapi_calculateOtpChecksum)000816910000000b: Utilities.obj (.text:_Fapi_scaleCycleValues)0008169c0000000aflashapi_ex1_programming.obj (.text:LIN_setSCICommMode)000816a600000009flashapi_ex1_programming.obj (.text:LIN_enableMultibufferMode)000816af00000009flashapi_ex1_programming.obj (.text:LIN_enterSoftwareReset)000816b800000009flashapi_ex1_programming.obj (.text:LIN_exitSoftwareReset)000816c100000009rts2800_fpu32_eabi.lib : _lock.c.obj (.text)000816ca00000008device.obj (.text:SysCtl_disableWatchdog)000816d200000008rts2800_fpu32_eabi.lib : copy_decompress_none.c.obj (.text:decompress:none)000816da00000008f28002x_codestartbranch.obj (.text)000816e200000007device.obj (.text:ASysCtl_lockVREG)000816e900000007FlashAPI_F28002x_FPU32.lib : FlashStateMachine.obj (.text:Fapi_getFsmStatus)000816f000000007driverlib.lib : sysctl.obj (.text:SysCtl_resetMCD)000816f700000007device.obj (.text:__error__)000816fe00000007rts2800_fpu32_eabi.lib : memset.c.obj (.text)0008170500000006: copy_zero_init.c.obj (.text:decompress:ZI)0008170b00000002driverlib.lib : interrupt.obj (.text:Interrupt_illegalOperationHandler)0008170d00000002: interrupt.obj (.text:Interrupt_nmiHandler)0008170f00000002rts2800_fpu32_eabi.lib : pre_init.c.obj (.text)0008171100000001: startup.c.obj (.text)

MODULE SUMMARYModulecodero datarw data------------------------.\flashapi_ex1_programming.obj137901209+--+------------------------------+------+---------+---------+Total:137901209.\device\device.obj28500f28002x_codestartbranch.obj1000+--+------------------------------+------+---------+---------+Total:29500../FlashAPI_F28002x_FPU32.libFlashStateMachine.obj100600Program.obj42700Read.obj25900BlankCheck.obj13000Utilities.obj10800Init.obj7406Async.obj5600Verify.obj1500+--+------------------------------+------+---------+---------+Total:207506C:/ti/c2000/C2000Ware_4_01_00_00/driverlib/f28002x/driverlib/ccs/Debug/driverlib.libsysctl.obj11671540flash.obj6301550gpio.obj2621520lin.obj1091510interrupt.obj12200+--+------------------------------+------+---------+---------+Total:22906120C:\ti\ccs1200\ccs\tools\compiler\ti-cgt-c2000_22.6.0.LTS\lib\rts2800_fpu32_eabi.libfs_div28.asm.obj13600exit.c.obj4106copy_decompress_lzss.c.obj4600autoinit.c.obj4300memcpy.c.obj2900boot28.asm.obj2300_lock.c.obj904args_main.c.obj1200copy_decompress_none.c.obj800memset.c.obj700copy_zero_init.c.obj600pre_init.c.obj200startup.c.obj100+--+------------------------------+------+---------+---------+Total:363010Stack:00896Linker Generated:0400+--+------------------------------+------+---------+---------+Grand Total:64026522121


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

addressdata pagename
----------------------------
0000040010 (00000400)__stack

0000a000280 (0000a000)rec_1024

0000a402290 (0000a400)rec_128

0000a484292 (0000a480)testcount1
0000a485292 (0000a480)testcount2
0000a486292 (0000a480)testcount3
0000a487292 (0000a480)testcount4
0000a488292 (0000a480)testcount5
0000a489292 (0000a480)testcount6
0000a48a292 (0000a480)testcount7
0000a48b292 (0000a480)testcount8
0000a48c292 (0000a480)testcount9
0000a48d292 (0000a480)testcount10
0000a48e292 (0000a480)testcount11
0000a490292 (0000a480)Fapi_GlobalInit
0000a496292 (0000a480)Received_TOP

0000a69829a (0000a680)Received_TOPFlag
0000a69929a (0000a680)Received_TOPFlag2
0000a69a29a (0000a680)Received_TOPFlag3
0000a69b29a (0000a680)Received_TOPFlag4
0000a69c29a (0000a680)Received_Date
0000a69d29a (0000a680)Received_UpdeteFlag
0000a69e29a (0000a680)flag1
0000a69f29a (0000a680)flag2
0000a6a029a (0000a680)flag4
0000a6a129a (0000a680)datacount
0000a6a229a (0000a680)datacount1
0000a6a329a (0000a680)Receive_bit_index
0000a6a429a (0000a680)Receive_bit_index_end
0000a6a529a (0000a680)Receive_bit_index_endcount
0000a6a629a (0000a680)indexoddcount
0000a6a729a (0000a680)stxcount1
0000a6a829a (0000a680)stxcount2
0000a6a929a (0000a680)stxcount3
0000a6aa29a (0000a680)stxttopflag
0000a6ab29a (0000a680)stx1026count
0000a6ac29a (0000a680)sohcount2
0000a6ad29a (0000a680)sohtopflag
0000a6ae29a (0000a680)Received_TOPCount
0000a6b029a (0000a680)index1024
0000a6b229a (0000a680)index128
0000a6b429a (0000a680)sohcount1
0000a6b629a (0000a680)__TI_enable_exit_profile_output
0000a6b829a (0000a680)__TI_cleanup_ptr
0000a6ba29a (0000a680)__TI_dtors_ptr
0000a6bc29a (0000a680)transmitChar

0000a6c129b (0000a6c0)tip1
0000a6c629b (0000a6c0)_lock
0000a6c829b (0000a6c0)_unlock


GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 

page  addressname
----  -----------
000081273  C$$EXIT
000080b39  Device_enableAllPeripherals
0000812e7  Device_init
0000815af  Device_initGPIO
00000a688  Example_CallFlashAPI
00000a675  Example_EraseSector
00000a4a0  Example_ProgramUsingAutoECC
00000a490  Fapi_GlobalInit
00008116f  Fapi_calculateFletcherChecksum
000080c5b  Fapi_doBlankCheck
0000815ef  Fapi_doVerify
0000814eb  Fapi_flushPipeline
0000816e9  Fapi_getFsmStatus
000080f3f  Fapi_initializeAPI
00008130b  Fapi_isAddressEcc
000081009  Fapi_issueAsyncCommandWithAddress
0000804f6  Fapi_issueProgrammingCommand
000081112  Fapi_setActiveFlashBank
0000810b0  Fapi_setupBankSectorEnable
00000a54a  Flash_initModule
0000810e1  GPIO_setDirectionMode
000080eed  GPIO_setPadConfig
000081079  GPIO_setPinConfig
000081041  GPIO_setQualificationMode
000080fcc  Interrupt_initModule
00008136b  Interrupt_initVectorTable
00008119b  LIN_getData
0000811c7  LIN_sendData
0000801ff  RamfuncsLoadEnd
abs000001f7  RamfuncsLoadSize
000080008  RamfuncsLoadStart
00000a697  RamfuncsRunEnd
abs000001f7  RamfuncsRunSize
00000a4a0  RamfuncsRunStart
00000a6a3  Receive_bit_index
00000a6a4  Receive_bit_index_end
00000a6a5  Receive_bit_index_endcount
00000a69c  Received_Date
00000a496  Received_TOP
00000a6ae  Received_TOPCount
00000a698  Received_TOPFlag
00000a699  Received_TOPFlag2
00000a69a  Received_TOPFlag3
00000a69b  Received_TOPFlag4
00000a69d  Received_UpdeteFlag
00000a693  SysCtl_delay
000080a3b  SysCtl_isPLLValid
000080f89  SysCtl_selectOscSource
0000811f3  SysCtl_selectXTAL
0000813c2  SysCtl_selectXTALSingleEnded
0000807ea  SysCtl_setClock
0000806a1  Ymodem_TopSwitch
000081686  _Fapi_calculateOtpChecksum
000080cdd  _Fapi_checkRegionForValue
000081249  _Fapi_divideUnsignedLong
000080e9a  _Fapi_issueFsmCommand
000080dd5  _Fapi_loopRegionForValue
000081691  _Fapi_scaleCycleValues
0000813a6  _Fapi_setupSectorsForWrite
0000819a0  __TI_CINIT_Base
0000819a8  __TI_CINIT_Limit
0000819a8  __TI_CINIT_Warm
000081996  __TI_Handler_Table_Base
00008199c  __TI_Handler_Table_Limit
000000780  __TI_STACK_END
abs00000380  __TI_STACK_SIZE
00008121e  __TI_auto_init_nobinit_nopinit
00000a6b8  __TI_cleanup_ptr
000081141  __TI_decompress_lzss
0000816d2  __TI_decompress_none
00000a6ba  __TI_dtors_ptr
00000a6b6  __TI_enable_exit_profile_output  
absffffffff  __TI_pprof_out_hndl
absffffffff  __TI_prof_data_size
absffffffff  __TI_prof_data_start
000081705  __TI_zero_init
000080bd3  __c28xabi_divf
n/aUNDEFED__c_args__
0000816f7  __error__
000000400  __stack
00008164e  _args_main
000081451  _c_int00
00000a6c6  _lock
0000816c9  _nop
0000816c5  _register_lock
0000816c1  _register_unlock
000081711  _system_post_cinit
00008170f  _system_pre_init
00000a6c8  _unlock
000081273  abort
000080000  code_start
000080e45  configureSCIMode
00000a6a1  datacount
00000a6a2  datacount1
000081275  exit
00000a69e  flag1
00000a69f  flag2
00000a6a0  flag4
00000a6b0  index1024
00000a6b2  index128
00000a6a6  indexoddcount
00008091d  main
000081389  memcpy
0000816fe  memset
00000a000  rec_1024
00000a402  rec_128
00000a6b4  sohcount1
00000a6ac  sohcount2
00000a6ad  sohtopflag
00000a6ab  stx1026count
00000a6a7  stxcount1
00000a6a8  stxcount2
00000a6a9  stxcount3
00000a6aa  stxttopflag
00000a484  testcount1
00000a48d  testcount10
00000a48e  testcount11
00000a485  testcount2
00000a486  testcount3
00000a487  testcount4
00000a488  testcount5
00000a489  testcount6
00000a48a  testcount7
00000a48b  testcount8
00000a48c  testcount9
00000a6c1  tip1
00000a6bc  transmitChar


GLOBAL SYMBOLS: SORTED BY Symbol Address 

page  addressname
----  -----------
000000400  __stack
000000780  __TI_STACK_END
00000a000  rec_1024
00000a402  rec_128
00000a484  testcount1
00000a485  testcount2
00000a486  testcount3
00000a487  testcount4
00000a488  testcount5
00000a489  testcount6
00000a48a  testcount7
00000a48b  testcount8
00000a48c  testcount9
00000a48d  testcount10
00000a48e  testcount11
00000a490  Fapi_GlobalInit
00000a496  Received_TOP
00000a4a0  Example_ProgramUsingAutoECC
00000a4a0  RamfuncsRunStart
00000a54a  Flash_initModule
00000a675  Example_EraseSector
00000a688  Example_CallFlashAPI
00000a693  SysCtl_delay
00000a697  RamfuncsRunEnd
00000a698  Received_TOPFlag
00000a699  Received_TOPFlag2
00000a69a  Received_TOPFlag3
00000a69b  Received_TOPFlag4
00000a69c  Received_Date
00000a69d  Received_UpdeteFlag
00000a69e  flag1
00000a69f  flag2
00000a6a0  flag4
00000a6a1  datacount
00000a6a2  datacount1
00000a6a3  Receive_bit_index
00000a6a4  Receive_bit_index_end
00000a6a5  Receive_bit_index_endcount
00000a6a6  indexoddcount
00000a6a7  stxcount1
00000a6a8  stxcount2
00000a6a9  stxcount3
00000a6aa  stxttopflag
00000a6ab  stx1026count
00000a6ac  sohcount2
00000a6ad  sohtopflag
00000a6ae  Received_TOPCount
00000a6b0  index1024
00000a6b2  index128
00000a6b4  sohcount1
00000a6b6  __TI_enable_exit_profile_output  
00000a6b8  __TI_cleanup_ptr
00000a6ba  __TI_dtors_ptr
00000a6bc  transmitChar
00000a6c1  tip1
00000a6c6  _lock
00000a6c8  _unlock
000080000  code_start
000080008  RamfuncsLoadStart
0000801ff  RamfuncsLoadEnd
0000804f6  Fapi_issueProgrammingCommand
0000806a1  Ymodem_TopSwitch
0000807ea  SysCtl_setClock
00008091d  main
000080a3b  SysCtl_isPLLValid
000080b39  Device_enableAllPeripherals
000080bd3  __c28xabi_divf
000080c5b  Fapi_doBlankCheck
000080cdd  _Fapi_checkRegionForValue
000080dd5  _Fapi_loopRegionForValue
000080e45  configureSCIMode
000080e9a  _Fapi_issueFsmCommand
000080eed  GPIO_setPadConfig
000080f3f  Fapi_initializeAPI
000080f89  SysCtl_selectOscSource
000080fcc  Interrupt_initModule
000081009  Fapi_issueAsyncCommandWithAddress
000081041  GPIO_setQualificationMode
000081079  GPIO_setPinConfig
0000810b0  Fapi_setupBankSectorEnable
0000810e1  GPIO_setDirectionMode
000081112  Fapi_setActiveFlashBank
000081141  __TI_decompress_lzss
00008116f  Fapi_calculateFletcherChecksum
00008119b  LIN_getData
0000811c7  LIN_sendData
0000811f3  SysCtl_selectXTAL
00008121e  __TI_auto_init_nobinit_nopinit
000081249  _Fapi_divideUnsignedLong
000081273  C$$EXIT
000081273  abort
000081275  exit
0000812e7  Device_init
00008130b  Fapi_isAddressEcc
00008136b  Interrupt_initVectorTable
000081389  memcpy
0000813a6  _Fapi_setupSectorsForWrite
0000813c2  SysCtl_selectXTALSingleEnded
000081451  _c_int00
0000814eb  Fapi_flushPipeline
0000815af  Device_initGPIO
0000815ef  Fapi_doVerify
00008164e  _args_main
000081686  _Fapi_calculateOtpChecksum
000081691  _Fapi_scaleCycleValues
0000816c1  _register_unlock
0000816c5  _register_lock
0000816c9  _nop
0000816d2  __TI_decompress_none
0000816e9  Fapi_getFsmStatus
0000816f7  __error__
0000816fe  memset
000081705  __TI_zero_init
00008170f  _system_pre_init
000081711  _system_post_cinit
000081996  __TI_Handler_Table_Base
00008199c  __TI_Handler_Table_Limit
0000819a0  __TI_CINIT_Base
0000819a8  __TI_CINIT_Limit
0000819a8  __TI_CINIT_Warm
abs000001f7  RamfuncsLoadSize
abs000001f7  RamfuncsRunSize
abs00000380  __TI_STACK_SIZE
absffffffff  __TI_pprof_out_hndl
absffffffff  __TI_prof_data_size
absffffffff  __TI_prof_data_start
n/aUNDEFED__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是自己的代码

Green Deng:

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

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

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

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

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

,

xuan wang:

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

,

Green Deng:

xuan wang 说:能否看看map的地址分布看看哪些其实是不需要使用的

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

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F280025: 请问还有办法可以缩减这个代码到大概0x1000大小吗
分享到: 更多 (0)