Pumpkin, Inc.

Pumpkin User Forums

Salvo Compile Size too large

If you're having difficulty with Salvo's configuration options, post it here.

Salvo Compile Size too large

Postby vss » Tue Jul 20, 2010 12:30 am

Hi, I am using Salvo on MSP430F2618 and my problem is that the build size of salvo is big for the size that i can allow for it to use.

when i use a single task with delay and yield functions the size of the code reaches 14.6 kB which is big for the since i have size constrains. I am not using any event queue for message queue. so is there any way for me to reduce the size below about 8 kB.For example can i remove Events and Messages from my salvo build. please tell me how to do it.

I am using only 10 tasks with priorities and OS_Delay() and OS_Yield() and createtask, stoptask , starttask functions and some more task and scheduling related functions.
vss
 
Posts: 1
Joined: Tue Jul 20, 2010 12:10 am

Re: Salvo Compile Size too large

Postby aek » Tue Oct 12, 2010 1:31 pm

Well, you don't need events, given what you have described ... so you can change e.g. to a delay-only library (-d), which will shrink the Salvo code.

However, keep in mind that in a 14KB application, Salvo will only be around 2-3KB ... so there's not that much to gain there. Your 14KB application size is not due to Salvo ...
-------
aek
aek
 
Posts: 1888
Joined: Sat Aug 26, 2000 11:00 pm

Re: Salvo Compile Size too large

Postby aek » Tue Oct 12, 2010 1:41 pm

For example, here's an MSP430F1611application (it controls a LiPo charger, and has a User Interface, etc., uses floating point, has large buffers, etc) -- Salvo accounts for only 2409 (0x5b27 - 0x51be) bytes of Program Memory in a total CODE size of 12,644 bytes:

Code: Select all
SYMBOLS BY NAME

    2800            RAM_Size           
    1100            RAM_Start_Address   
    485a CODE       _ExplainCmds       
    5068 CODE       _ISRADC             
    4310 CODE       _ISRCMPA           
    431c CODE       _ISRNMI             
    4304 CODE       _ISRPort1           
    4300 CODE       _ISRPort2           
    42dc CODE       _ISRRx0             
    42de CODE       _ISRRx1             
    4308 CODE       _ISRTimerA1         
    4318 CODE       _ISRTimerB0         
    4314 CODE       _ISRTimerB1         
    42c4 CODE       _ISRTx0             
    42c6 CODE       _ISRTx1             
    430c CODE       _ISRWDT             
    147e UDATA0     _LEPS_status       
    5a26 CODE       _OSClrWDTHook       
    51be CODE       _OSCreateBinSem     
    5508 CODE       _OSCreateMsg       
    546c CODE       _OSCreateTask       
    5a5c CODE       _OSCtxSw           
    5624 CODE       _OSDelDelayQ       
    55e0 CODE       _OSDelPrioQ         
    5970 CODE       _OSDelTaskQ         
    5274 CODE       _OSDelay           
    5a16 CODE       _OSDisableHook     
    5a38 CODE       _OSDispatch         
    5a20 CODE       _OSEnableHook       
    59da CODE       _OSGetTicks         
    5a14 CODE       _OSIdlingHook       
    544a CODE       _OSInit             
    54e4 CODE       _OSInitPrioTask     
    56b2 CODE       _OSInsDelayQ       
    5660 CODE       _OSInsPrioQ         
    5716 CODE       _OSSched           
    521a CODE       _OSSignalBinSem     
    557e CODE       _OSSignalMsg       
    58fe CODE       _OSStopTask         
    5942 CODE       _OSTaskUsed         
    59f8 CODE       _OSTimer           
    51e6 CODE       _OSWaitBinSem       
    5302 CODE       _OSWaitEvent       
    552e CODE       _OSWaitMsg         
    13b8 UDATA0     _OScTcbP           
    13a6 UDATA0     _OSdelayQP         
    13ac UDATA0     _OSecbArea         
    13ba UDATA0     _OSeligQP           
    139e UDATA0     _OSframeP           
    13a0 UDATA0     _OSlostTicks       
    13aa UDATA0     _OSsigQinP         
    13a8 UDATA0     _OSsigQoutP         
    13bc UDATA0     _OStcbArea         
    13a2 UDATA0     _OStimerTicks       
    436a CODE       _RestartTask       
    4320 CODE       _ShowLEDs           
    4520 CODE       _TaskChargeBatteries
    4864 CODE       _TaskDoCmds         
    4684 CODE       _TaskManualControl 
    4f38 CODE       _TaskMeasureVoltages
    4814 CODE       _TaskMonitorBatteryStatus
    43dc CODE       _TaskShowDischarging
    444a CODE       _TaskShowFastCharging
    4412 CODE       _TaskShowSlowCharging
    4482 CODE       _TaskStatusMonitor 
    42a8 CODE       _Timer_A           
    1100 IDATA0     ___begin_IDATA0     
    1102 UDATA0     ___begin_UDATA0     
    155c UDATA0     ___end_UDATA0       
    6c8e CODE       ___float32_add     
    6e88 CODE       ___float32_div     
    6f6e CODE       ___float32_eq       
    6f52 CODE       ___float32_lt       
    6d94 CODE       ___float32_mul     
    6d88 CODE       ___float32_sub     
    7060 CODE       ___float32_to_int64
    7a76 CONST      ___hex_lc           
    7a66 CONST      ___hex_uc           
    6998 CODE       ___int16_div       
    69be CODE       ___int16_mod       
    69e4 CODE       ___int16_mul       
    69f8 CODE       ___int32_div       
    6a32 CODE       ___int64_lsl       
    6a44 CODE       ___int64_lsr       
    712a CODE       ___isinf           
    712a CODE       ___isinff           
    7152 CODE       ___isnan           
    7152 CODE       ___isnanf           
    6c28 CODE       ___pow10           
    6a94 CODE       ___uint16_div       
    6f7e CODE       ___uint16_to_float32
    6aac CODE       ___uint32_div       
    6aba CODE       ___uint32_divmod   
    6ae2 CODE       ___uint32_mod       
    6b74 CODE       ___uint32_mul_16x16
    6af4 CODE       ___uint64_div       
    6b38 CODE       ___uint64_divmod   
    6a58 CODE       ___uint64_mod       
    6fa8 CODE       ___uint64_to_float32
    5b28 CODE       ___vfprintf         
    6bf8 CODE       _abs               
    1480 UDATA0     _chargeTime         
    5158 CODE       _csk_leps_ACPR     
    5172 CODE       _csk_leps_FAULT     
    51a4 CODE       _csk_leps_disable_3p3V
    5132 CODE       _csk_leps_disable_charger
    519c CODE       _csk_leps_enable_3p3V
    5130 CODE       _csk_leps_enable_charger
    510c CODE       _csk_leps_open_charger
    5188 CODE       _csk_leps_open_regulator
    5138 CODE       _csk_leps_start_charging
    5148 CODE       _csk_leps_start_fast_charging
    513e CODE       _csk_leps_stop_charging
    5150 CODE       _csk_leps_stop_fast_charging
    41fe CODE       _csk_power_shutdown
    703c CODE       _frexp             
    7000 CODE       _ldexp             
    4ba4 CODE       _main               
    6b9c CODE       _memcpy             
    6bac CODE       _memset             
    4d32 CODE       _rtn5VUSB           
    4e3c CODE       _rtnBattStatus     
    4d08 CODE       _rtnBattVoltage     
    4d9e CODE       _rtnCHRG           
    4ea8 CODE       _rtnChargeStatus   
    4ce6 CODE       _rtnOnChipTemp     
    4dc0 CODE       _rtnPROG           
    4d5a CODE       _rtnVCC             
    4de2 CODE       _rtnVCCCurrent     
    4d7c CODE       _rtnVCCMCU         
    51ac CODE       _rtn_csk_leps_3p3V_enabled
    1298 UDATA0     _rx1Buff           
    139c UDATA0     _rx1Count           
    139a UDATA0     _rx1InP             
    1398 UDATA0     _rx1OutP           
    6bbc CODE       _sprintf           
    142e UDATA0     _strTmp             
    6b8c CODE       _strlen             
    6c08 CODE       _tolower           
    1102 UDATA0     _tx1Buff           
    1296 UDATA0     _tx1Count           
    1294 UDATA0     _tx1InP             
    1292 UDATA0     _tx1OutP           
    40c6 CODE       _usart_uart1_getchar
    417a CODE       _usart_uart1_inchar
    41a0 CODE       _usart_uart1_msg_ts
    402e CODE       _usart_uart1_open   
    414e CODE       _usart_uart1_outchar
    40fa CODE       _usart_uart1_putchar
    412c CODE       _usart_uart1_puts   
    40bc CODE       _usart_uart1_tx_free


SYMBOLS BY VALUE

    1100            RAM_Start_Address   
    1100 IDATA0     ___begin_IDATA0     
    1102 UDATA0     ___begin_UDATA0     
    1102 UDATA0     _tx1Buff           
    1292 UDATA0     _tx1OutP           
    1294 UDATA0     _tx1InP             
    1296 UDATA0     _tx1Count           
    1298 UDATA0     _rx1Buff           
    1398 UDATA0     _rx1OutP           
    139a UDATA0     _rx1InP             
    139c UDATA0     _rx1Count           
    139e UDATA0     _OSframeP           
    13a0 UDATA0     _OSlostTicks       
    13a2 UDATA0     _OStimerTicks       
    13a6 UDATA0     _OSdelayQP         
    13a8 UDATA0     _OSsigQoutP         
    13aa UDATA0     _OSsigQinP         
    13ac UDATA0     _OSecbArea         
    13b8 UDATA0     _OScTcbP           
    13ba UDATA0     _OSeligQP           
    13bc UDATA0     _OStcbArea         
    142e UDATA0     _strTmp             
    147e UDATA0     _LEPS_status       
    1480 UDATA0     _chargeTime         
    155c UDATA0     ___end_UDATA0       
    2800            RAM_Size           
    402e CODE       _usart_uart1_open   
    40bc CODE       _usart_uart1_tx_free
    40c6 CODE       _usart_uart1_getchar
    40fa CODE       _usart_uart1_putchar
    412c CODE       _usart_uart1_puts   
    414e CODE       _usart_uart1_outchar
    417a CODE       _usart_uart1_inchar
    41a0 CODE       _usart_uart1_msg_ts
    41fe CODE       _csk_power_shutdown
    42a8 CODE       _Timer_A           
    42c4 CODE       _ISRTx0             
    42c6 CODE       _ISRTx1             
    42dc CODE       _ISRRx0             
    42de CODE       _ISRRx1             
    4300 CODE       _ISRPort2           
    4304 CODE       _ISRPort1           
    4308 CODE       _ISRTimerA1         
    430c CODE       _ISRWDT             
    4310 CODE       _ISRCMPA           
    4314 CODE       _ISRTimerB1         
    4318 CODE       _ISRTimerB0         
    431c CODE       _ISRNMI             
    4320 CODE       _ShowLEDs           
    436a CODE       _RestartTask       
    43dc CODE       _TaskShowDischarging
    4412 CODE       _TaskShowSlowCharging
    444a CODE       _TaskShowFastCharging
    4482 CODE       _TaskStatusMonitor 
    4520 CODE       _TaskChargeBatteries
    4684 CODE       _TaskManualControl 
    4814 CODE       _TaskMonitorBatteryStatus
    485a CODE       _ExplainCmds       
    4864 CODE       _TaskDoCmds         
    4ba4 CODE       _main               
    4ce6 CODE       _rtnOnChipTemp     
    4d08 CODE       _rtnBattVoltage     
    4d32 CODE       _rtn5VUSB           
    4d5a CODE       _rtnVCC             
    4d7c CODE       _rtnVCCMCU         
    4d9e CODE       _rtnCHRG           
    4dc0 CODE       _rtnPROG           
    4de2 CODE       _rtnVCCCurrent     
    4e3c CODE       _rtnBattStatus     
    4ea8 CODE       _rtnChargeStatus   
    4f38 CODE       _TaskMeasureVoltages
    5068 CODE       _ISRADC             
    510c CODE       _csk_leps_open_charger
    5130 CODE       _csk_leps_enable_charger
    5132 CODE       _csk_leps_disable_charger
    5138 CODE       _csk_leps_start_charging
    513e CODE       _csk_leps_stop_charging
    5148 CODE       _csk_leps_start_fast_charging
    5150 CODE       _csk_leps_stop_fast_charging
    5158 CODE       _csk_leps_ACPR     
    5172 CODE       _csk_leps_FAULT     
    5188 CODE       _csk_leps_open_regulator
    519c CODE       _csk_leps_enable_3p3V
    51a4 CODE       _csk_leps_disable_3p3V
    51ac CODE       _rtn_csk_leps_3p3V_enabled
    51be CODE       _OSCreateBinSem     
    51e6 CODE       _OSWaitBinSem       
    521a CODE       _OSSignalBinSem     
    5274 CODE       _OSDelay           
    5302 CODE       _OSWaitEvent       
    544a CODE       _OSInit             
    546c CODE       _OSCreateTask       
    54e4 CODE       _OSInitPrioTask     
    5508 CODE       _OSCreateMsg       
    552e CODE       _OSWaitMsg         
    557e CODE       _OSSignalMsg       
    55e0 CODE       _OSDelPrioQ         
    5624 CODE       _OSDelDelayQ       
    5660 CODE       _OSInsPrioQ         
    56b2 CODE       _OSInsDelayQ       
    5716 CODE       _OSSched           
    58fe CODE       _OSStopTask         
    5942 CODE       _OSTaskUsed         
    5970 CODE       _OSDelTaskQ         
    59da CODE       _OSGetTicks         
    59f8 CODE       _OSTimer           
    5a14 CODE       _OSIdlingHook       
    5a16 CODE       _OSDisableHook     
    5a20 CODE       _OSEnableHook       
    5a26 CODE       _OSClrWDTHook       
    5a38 CODE       _OSDispatch         
    5a5c CODE       _OSCtxSw           
    5b28 CODE       ___vfprintf         
    6998 CODE       ___int16_div       
    69be CODE       ___int16_mod       
    69e4 CODE       ___int16_mul       
    69f8 CODE       ___int32_div       
    6a32 CODE       ___int64_lsl       
    6a44 CODE       ___int64_lsr       
    6a58 CODE       ___uint64_mod       
    6a94 CODE       ___uint16_div       
    6aac CODE       ___uint32_div       
    6aba CODE       ___uint32_divmod   
    6ae2 CODE       ___uint32_mod       
    6af4 CODE       ___uint64_div       
    6b38 CODE       ___uint64_divmod   
    6b74 CODE       ___uint32_mul_16x16
    6b8c CODE       _strlen             
    6b9c CODE       _memcpy             
    6bac CODE       _memset             
    6bbc CODE       _sprintf           
    6bf8 CODE       _abs               
    6c08 CODE       _tolower           
    6c28 CODE       ___pow10           
    6c8e CODE       ___float32_add     
    6d88 CODE       ___float32_sub     
    6d94 CODE       ___float32_mul     
    6e88 CODE       ___float32_div     
    6f52 CODE       ___float32_lt       
    6f6e CODE       ___float32_eq       
    6f7e CODE       ___uint16_to_float32
    6fa8 CODE       ___uint64_to_float32
    7000 CODE       _ldexp             
    703c CODE       _frexp             
    7060 CODE       ___float32_to_int64
    712a CODE       ___isinff           
    712a CODE       ___isinf           
    7152 CODE       ___isnanf           
    7152 CODE       ___isnan           
    7a66 CONST      ___hex_uc           
    7a76 CONST      ___hex_lc           
-------
aek
aek
 
Posts: 1888
Joined: Sat Aug 26, 2000 11:00 pm


Return to Configuration

Who is online

Users browsing this forum: No registered users and 1 guest

cron