| Page | ||
| 1 | Summary ...................................................................................... | 5 |
| 1.1 | Product | 5 |
| 1.2 | Positive points | 5 |
| 1.3 | Negative points | 5 |
| 1.4 | Ratings | 5 |
| 1.5 | Pricing | 5 |
| 2 | Introduction .............................................................................. | 6 |
| 2.1 | Different steps in creating such evaluation report | 6 |
| 2.2 | Revision strategy | 6 |
| 3 | Technical evaluation ......................................................... | 7 |
| 3.1 | Installation and Configuration | 7 |
| 3.1.1 | Installation | 7 |
| 3.1.2 | Configuration | 7 |
| 3.2 | RTOS Architecture | 8 |
| 3.2.1 | System Architecture | 8 |
| 3.2.2 | Basic System Facilities | 9 |
| 3.3 | API Richness | 12 |
| 3.3.1 | Task Management | 12 |
| 3.3.2 | Clock and Timer | 13 |
| 3.3.3 | Memory Management | 14 |
| 3.3.4 | Interrupt Handling | 15 |
| 3.3.5 | Synchronization and Exclusion Objects | 15 |
| 3.3.6 | Communication and Message Passing Objects | 18 |
| 3.4 | Internet Support | 20 |
| 3.5 | Tools | 21 |
| 3.6 | Documentation and Support | 23 |
| 3.7 | Development methodology | 24 |
| 4 | Practical evaluation ......................................................... | 25 |
| 4.1 | System under test | 25 |
| 4.1.1 | Operating system and application configuration | 25 |
| 4.1.2 | Additional comments | 26 |
| 4.2 | Interrupt handling | 27 |
| 4.2.1 | One interrupt – no rescheduling | 28 |
| 4.2.2 | One interrupt – Rescheduling | 32 |
| 4.2.3 | Two simultaneous interrupts | 36 |
| 4.2.4 | Nested interrupt handling | 41 |
| 4.2.5 | Maximum sustainable interrupt frequency – IST level | 54 |
| 4.3 | Thread | 57 |
| 4.3.1 | Creation (TF-a-1.d) | 58 |
| 4.3.2 | Deletion (TF-b-1.d) | 59 |
| 4.4 | Thread switch latency – same process | 60 |
| 4.4.1 | Thread switch latency (TSL-a-2.d) | 61 |
| 4.4.2 | Thread switch latency (TSL-a-10.d) | 62 |
| 4.4.3 | Thread switch latency (TSL-a-128.d) | 63 |
| 4.4.4 | Thread switch latency (TSL-a-128.d) – USER Mode Threads | 64 |
| 4.5 | Counting semaphore | 65 |
| 4.5.1 | Creation (SEO-a-1.d) | 66 |
| 4.5.2 | Deletion (SEO-b-1.d) | 67 |
| 4.5.3 | Deletion - after use (SEO-c-1.d) | 68 |
| 4.5.4 | No contention – Acquire (SEO-d-1.d) | 69 |
| 4.5.5 | No contention – Release (SEO-e-1.d) | 70 |
| 4.5.6 | Synchronization (SEO-f-247.d) | 71 |
| 4.5.7 | Acquiring a semaphore that is non-signaled | 72 |
| 4.6 | Mutex | 73 |
| 4.6.1 | No contention – Acquire (SEO-d-1.d) | 74 |
| 4.6.2 | No contention – Release (SEO-e-1.d) | 75 |
| 4.6.3 | Priority inversion (SEO-g-3.d) | 76 |
| 4.7 | File system – RAM | 77 |
| 4.7.1 | Creation | 78 |
| 4.7.2 | Deletion | 79 |
| 4.7.3 | Read – 1 byte – Compression Disabled | 80 |
| 4.7.4 | Read – 512 bytes – Compression Disabled | 81 |
| 4.7.5 | Read – 5120 bytes – Compression Disabled | 82 |
| 4.7.6 | Write – 1 byte – Compression Disabled | 83 |
| 4.7.7 | Write – 512 bytes – Compression Disabled | 84 |
| 4.7.8 | Write – 5120 bytes – Compression Disabled | 85 |
| 4.8 | Network stack – TCP/IP | 86 |
| 4.9 | Clock Interrupt Service Routine | 87 |
| 4.9.1 | Clock ISR – no system load – no timers | 86 |
| 4.10 | Maximum number of objects | 90 |
| 4.10.1 | Semaphores | 91 |
| 4.10.2 | Threads | 92 |
| 4.11 | Memory leaks | 93 |
| 4.11.1 | Semaphore and Mutex Creation/Deletion | 94 |
| 4.11.2 | Thread Creation/Deletion | 95 |
| 4.11.3 | Process Creation/Deletion | 96 |
| 5 | License policy and pricing .......................................... | 101 |
| 6 | Conclusions ............................................................................... | 102 |
| 7 | Abbreviations .......................................................................... | 103 |



