Ressource usage / Footprint analysis
Test Equipment
- CPU: netX500
- Compiler: Hitex GCC 4.0.3
- Mode: ARM
- Endianess: Little
- cifX Toolkit V1.1.2.0
Code and static Data Size
cifX Toolkit Sample | code (.text) [Byte] | constants (.rodata) [Byte] | data (.bss / .data) [Byte] |
cifXDownload.c | 5780 | 11904 | 1024 |
cifXFunctions.c | 12700 | 5796 | 568 |
cifXHWFunctions.c | 8212 | 937 | 0 |
cifXInit.c | 17268 | 15612 | 24 |
cifXInterrupt.c | 2176 | 0 | 0 |
md5.c | 3280 | 68 | 0 |
Sum | 49416 | 34317 | 1616 |
Example Applications | code (.text) [Byte] | constants (.rodata) [Byte] | data (.bss / .data) [Byte] |
ToolkitSample.c | 4888 | 9792 | 68 |
HWFunctionsSample.c + DEV_InterfaceUser.c | 5180 | 8100 | 4 |
ATTENTION
Code and data usage by user supplied functions (e.g. malloc, strcmp, etc.) is NOT included in this table, as these are target system / OS dependent
Dynamic memory analysis
Global Data
Device Management | ||||
per Device | 1x LOCK_SIZE | LOCK_SIZE if the size of an allocated lock | OS dependent | |
per Device | 1x | sizeof(DEVICEINSTANCE*) | size depends on compiler/target CPU |
Device Data
Polling Mode | ||||
Device Management | per Device | 684 | sizeof(DEVICEINSTANCE) | size depends on compiler/target CPU |
per Device | 132 | sizeof(CIFX_DMABUFFER_T) Optional (if CIFX_TOOLKIT_DMA is set) | ||
per Channel | 348 | sizeof(CHANNELINSTANCE) + sizeof(CHANNELINSTANCE*) | ||
per IO Area | 36 | sizeof(IOINSTANCE) + sizeof(IOINSTANCE*) | ||
Reentrancy Protection | per Device | 3x MUTEX_SIZE | MUTEX_SIZE is the size of an allocated mutex LOCK_SIZE if the size of an allocated lock | OS dependent |
per Device | 2x LOCK_SIZE | |||
per Channel | 3x MUTEX_SIZE | |||
per Channel | 1x LOCK_SIZE | |||
per IO Area | 1x MUTEX_SIZE |
Interrupt Mode (in addition to polling data) | ||||
IRQ Events | per Device | 8x EVENT_SIZE | EVENT_SIZE is the size of an allocated event | OS dependent |
per Channel | 16x EVENT_SIZE |
Initialization (freed afterwards)
RAM-based (cifX) | ||||
PCI Configuration Space | per Device | 256 Byte | sizeof of PCI_COMMON_CONFIG | mandatory for PCI cards |
2nd Stage Loader | per Device | max. 64 kB | Filelength of NETX-BSL.bin | mandatory |
Firmware File | per Device / Channel | min. 250 kB | Filelength of .NXF File | mandatory |
Configuration Database | per Channel | min. 1 kB | Filelength of .NXD File | optional |
Flash-based (COMX) | ||||
Firmware File | per Device / Channel | min. 250 kB | Filelength of .NXF File | optional |
Configuration Database | per Channel | min. 1 kB | Filelength of .NXD File | optional |
Typical Requirement per Device
- CPU: 32 Bit, Little-Endian
- OS: None
- Reentrancy: Disabled (Mutex/Lock stubbed out)
- IRQ Mode: Disabled
- FW / Config Download: not used
- Device Type: Flash-Based
Nr of Channels | 1 | 2 |
Nr of IO Areas per Channel | 4 | 4 |
Allocated DeviceData [Bytes] | 1176 | 1668 |
ATTENTION
Possible padding bytes and overhead caused by target system allocation routines are not included