pico]OS Memory Usage
      This page contains some hints on the memory usage of pico]OS on
      some platforms, with three different configurations: small - medium - large.
      A detailed description of this three
      configurations is listed below the tables at the bottom of this page.
      
      This processors/ports are listed below:
      6502 -
      AVR -
      PPC440 -
      x86w32
      
      Memory Usage On 8 Bit Processors
        Note:
        The sum of data memory includes the task stack memory.
        
         6502 port, small configuration
         
|   | pico]OS RTOS | Architecture Port | Sum | 
| Code | 3035 Bytes | 1069 Bytes | 4104 Bytes | 
| Data | 248 Bytes | 1157 Bytes | 1405 Bytes | 
| Overall Sum | 3283 Bytes | 2226 Bytes | 5509 Bytes | 
        
         6502 port, medium configuration
         
|   | pico]OS RTOS | Architecture Port | Sum | 
| Code | 4804 Bytes | 1346 Bytes | 6150 Bytes | 
| Data | 581 Bytes | 1864 Bytes | 2445 Bytes | 
| Overall Sum | 5385 Bytes | 3210 Bytes | 8595 Bytes | 
        
         6502 port, large configuration
         
|   | pico]OS RTOS | Architecture Port | Sum | 
| Code | 5949 Bytes | 1372 Bytes | 7321 Bytes | 
| Data | 925 Bytes | 2506 Bytes | 3431 Bytes | 
| Overall Sum | 6874 Bytes | 3878 Bytes | 10752 Bytes | 
        
         AVR port, small configuration
         
|   | pico]OS RTOS | Architecture Port | Sum | 
| Code | 2142 Bytes | 548 Bytes | 2690 Bytes | 
| Data | 644 Bytes | 80 Bytes | 724 Bytes | 
| Overall Sum | 2786 Bytes | 628 Bytes | 3414 Bytes | 
        
         AVR port, medium configuration
         
|   | pico]OS RTOS | Architecture Port | Sum | 
| Code | 3538 Bytes | 548 Bytes | 4086 Bytes | 
| Data | 1175 Bytes | 80 Bytes | 1255 Bytes | 
| Overall Sum | 4713 Bytes | 628 Bytes | 5341 Bytes | 
        
         AVR port, large configuration
         
|   | pico]OS RTOS | Architecture Port | Sum | 
| Code | 4320 Bytes | 548 Bytes | 4868 Bytes | 
| Data | 1717 Bytes | 80 Bytes | 1797 Bytes | 
| Overall Sum | 6037 Bytes | 628 Bytes | 6665 Bytes | 
        
        Memory Usage On 32 Bit Processors
        Note:
        The sum of data memory does not include the task stack memory.
        
         PPC440 port, small configuration
         
|   | pico]OS RTOS | Architecture Port | Sum | 
| Code | 4608 Bytes | 2288 Bytes | 6896 Bytes | 
| Data | 3192 Bytes | 0 Bytes | 3192 Bytes | 
| Overall Sum | 7800 Bytes | 2288 Bytes | 10088 Bytes | 
        
         PPC440 port, medium configuration
         
|   | pico]OS RTOS | Architecture Port | Sum | 
| Code | 10108 Bytes | 2288 Bytes | 12396 Bytes | 
| Data | 22600 Bytes | 0 Bytes | 22600 Bytes | 
| Overall Sum | 32708 Bytes | 2288 Bytes | 34996 Bytes | 
        
         PPC440 port, large configuration
         
|   | pico]OS RTOS | Architecture Port | Sum | 
| Code | 15844 Bytes | 2288 Bytes | 18132 Bytes | 
| Data | 198752 Bytes | 0 Bytes | 198752 Bytes | 
| Overall Sum | 214596 Bytes | 2288 Bytes | 216884 Bytes | 
        
         x86w32 port, small configuration
         
|   | pico]OS RTOS | Architecture Port | Sum | 
| Code | 4400 Bytes | 7712 Bytes | 12112 Bytes | 
| Data | 3456 Bytes | 208 Bytes | 3664 Bytes | 
| Overall Sum | 7856 Bytes | 7920 Bytes | 15776 Bytes | 
        
         x86w32 port, medium configuration
         
|   | pico]OS RTOS | Architecture Port | Sum | 
| Code | 11056 Bytes | 7712 Bytes | 18768 Bytes | 
| Data | 22240 Bytes | 208 Bytes | 22448 Bytes | 
| Overall Sum | 33296 Bytes | 7920 Bytes | 41216 Bytes | 
        
         x86w32 port, large configuration
         
|   | pico]OS RTOS | Architecture Port | Sum | 
| Code | 16112 Bytes | 7712 Bytes | 23824 Bytes | 
| Data | 186992 Bytes | 208 Bytes | 187200 Bytes | 
| Overall Sum | 203104 Bytes | 7920 Bytes | 211024 Bytes | 
        
        The Different pico]OS Configurations
        Small configuration for 8 Bit processors (get 
        poscfg.h):
        
        - Tasks  :  3 + idle task
 
        - Events :  4
 
        - Timers :  2
 
        - Supported Functions:
          
          - posSemaCreate / posSemaGet / posSemaSignal
 
          - posTaskCreate / posTaskSleep 
 
          - posTimerCreate / posTimerSet / posTimerStart / posTimerStop
 
          
         
        
        
        Medium configuration for 8 Bit processors (get 
        poscfg.h):
        
        - Tasks   :  5 + idle task
 
        - Events  :  10
 
        - Timers  :  2
 
        - Messages:  4
 
        - Supported Functions:
          
          - posAtomicAdd / posAtomicGet / posAtomicSet / posAtomicSub
 
          - posMessageAlloc / posMessageAvailable / posMessageFree /
              posMessageGet / posMessageSend / posMessageWait
 
          - posMutexCreate / posMutexLock / posMutexUnlock
 
          - posSemaCreate / posSemaGet / posSemaSignal / posSemaWait
 
          - posTaskCreate / posTaskGetCurrent / posTaskSleep
 
          - posTimerCreate / posTimerSet / posTimerStart / posTimerStop
 
          
         
        
        
        Large configuration for 8 Bit processors (get 
        poscfg.h):
        
        - Tasks   :  7 + idle task
 
        - Events  :  14
 
        - Timers  :  4
 
        - Messages:  8
 
        - Supported Functions:
          
          - posAtomicAdd / posAtomicGet / posAtomicSet / posAtomicSub
 
          - posListAdd / posListGet / posListInit / posListRemove / posListTerm
 
          - posMessageAlloc / posMessageAvailable / posMessageFree /
              posMessageGet / posMessageSend / posMessageWait
 
          - posMutexCreate / posMutexDestroy / posMutexLock / posMutexUnlock
 
          - posSemaCreate / posSemaDestroy / posSemaGet / posSemaSignal / posSemaWait
 
          - posTaskCreate / posTaskExit / posTaskGetCurrent / posTaskSleep
 
          - posTimerCreate / posTimerDestroy / posTimerSet / posTimerStart / posTimerStop
 
          
         
        
        
        Small configuration for 32 Bit processors (get 
        poscfg.h):
        
        - Tasks  :  15 + idle task
 
        - Events :  32
 
        - Timers :  4
 
        - Supported Functions:
          
          - posSemaCreate / posSemaDestroy / posSemaGet / posSemaSignal / posSemaWait
 
          - posTaskCreate / posTaskExit / posTaskSleep
 
          - posTimerCreate / posTimerDestroy / posTimerSet / posTimerStart / posTimerStop
 
          
         
        
        
        Medium configuration for 32 Bit processors (get 
        poscfg.h):
        
        - Tasks   :  63 + idle task
 
        - Events  :  128
 
        - Timers  :  16
 
        - Messages:  32
 
        - Supported Functions:
          
          - posAtomicAdd / posAtomicGet / posAtomicSet / posAtomicSub
 
          - posListAdd / posListGet / posListInit / posListJoin /
              posListLen / posListRemove / posListTerm
 
          - posMessageAlloc / posMessageAvailable / posMessageFree /
              posMessageGet / posMessageSend / posMessageWait
 
          - posMutexCreate / posMutexDestroy / posMutexLock / 
              posMutexTryLock / posMutexUnlock
 
          - posSemaCreate / posSemaDestroy / posSemaGet / posSemaSignal / posSemaWait
 
          - posTaskCreate / posTaskExit / posTaskGetCurrent /
              posTaskGetPriority / posTaskSetPriority / posTaskSleep / posTaskYield
 
          - posTimerCreate / posTimerDestroy / posTimerFired / posTimerSet / posTimerStart / posTimerStop
 
          
         
        
        
        Large configuration for 32 Bit processors (get 
        poscfg.h):
        
        - Tasks   :  255 + idle task
 
        - Events  :  1024
 
        - Timers  :  32
 
        - Messages:  128
 
        - Supported Functions:
          
          - posAtomicAdd / posAtomicGet / posAtomicSet / posAtomicSub
 
          - posFlagCreate / posFlagDestroy / posFlagGet / posFlagSet / posFlagWait
 
          - posInstallIdleTaskHook 
 
          - posListAdd / posListGet / posListInit / posListJoin /
              posListLen / posListRemove / posListTerm
 
          - posMessageAlloc / posMessageAvailable / posMessageFree /
              posMessageGet / posMessageSend / posMessageWait
 
          - posMutexCreate / posMutexDestroy / posMutexLock / 
              posMutexTryLock / posMutexUnlock
 
          - posSemaCreate / posSemaDestroy / posSemaGet / posSemaSignal / posSemaWait
 
          - posSoftInt / posSoftIntDelHandler / posSoftIntSetHandler
 
          - posTaskCreate / posTaskExit / posTaskGetCurrent / posTaskGetPriority /
              posTaskSchedLock / posTaskSchedUnlock / posTaskSetPriority /
              posTaskSleep / posTaskUnused / posTaskYield
 
          - posTimerCreate / posTimerDestroy / posTimerFired / posTimerSet / posTimerStart / posTimerStop