Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Message

Function size listing

2006-04-07 by Alex Shepherd

Hi Guys,

Is there a utility in the WinAVR bundle that can display a sorted list of
function sizes? 

I had been using the avr-sizex utility to produce a sorted list of functions
and their size which is shown below. However the avr-sizex utility isn't
supplied in the newer WinAVR versions and so I have had to copy it from
previous ones.

What are others doing to determine the sizes of functions?

Cheers

Alex Shepherd

-------------------------------------------------------------

E:> avr-sizex -m atmega8 -f 8192 -t 500 locochrono.elf

    Flash     SRAM     EEPROM
    -----     ----     ------
      57%      21%         0%

Top Functions                        Top Variables (global/static)
------------------------------       ------------------------------
__vector_6           598 bytes       LnBuffer             140 bytes
processSVMessage     562 bytes       fcSlotData            14 bytes
recvLnMsg            452 bytes       fcTimer                7 bytes
sendLocoNetPacketT   316 bytes       eeSVRec                5 bytes
fcTimerAction        228 bytes       SlowTimerActionLis     2 bytes
processTimerAction   180 bytes       FastTimerActionLis     2 bytes
doSVDeferredProces   158 bytes       DelayTimerTicks        2 bytes
main                 146 bytes       lnCompareTarget        2 bytes
sendLocoNetPacket    126 bytes       lnRxBuffer             2 bytes
lcd_word             122 bytes       lnTxData               2 bytes
processFastClockMe   110 bytes       LnPacket               2 bytes
__vector_9           100 bytes       ucToggle               1 bytes
displayStats          98 bytes       fcState                1 bytes
lcd_init              96 bytes       fcFlags                1 bytes
__vector_5            84 bytes       fcLastPeriod           1 bytes
encodePeerData        72 bytes       lnTxSuccess            1 bytes
addTimerAction        70 bytes       lnTxIndex              1 bytes
decodePeerData        68 bytes       lnTxLength             1 bytes
lcd_write             60 bytes       DeferredProcessing     1 bytes
notifyFastClock       58 bytes       DeferredSrcAddr        1 bytes
sendLocoNet4BytePa    52 bytes       SvStatus               1 bytes
CheckAddressRange     50 bytes       Status                 1 bytes
initLocoNet           46 bytes       lnCurrentByte          1 bytes
fcDoNotify            44 bytes       SlowTimerAccumulat     1 bytes
getLnMsgSize          44 bytes       FastTimerTicks         1 bytes
lcd_clrxy             40 bytes       lnState                1 bytes
strrev                32 bytes       SlowTimerTicks         1 bytes
readSVStorage         32 bytes       lnBitCount             1 bytes
initFastClock         32 bytes
lcd_puts              30 bytes
notifyFastClockFra    28 bytes
initTimer             26 bytes
delayTimer            22 bytes
isValidSVStorage      20 bytes
memcpy                18 bytes
writeSVStorage        18 bytes
writeSVDestination    18 bytes
lcd_goto              16 bytes
lcd_clear             14 bytes
memset                14 bytes
SendLAck              12 bytes
recvLocoNetPacket     12 bytes
initLnBuf             12 bytes
delay_short           12 bytes
readSVDestinationI    10 bytes
pollFastClock         10 bytes
lcd_putc               6 bytes
getLnBufStats          6 bytes
resetTimerAction       6 bytes

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.