| 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 | 11 |
| 3.3.1 | Task Management | 11 |
| 3.3.2 | Clock and Timer | 12 |
| 3.3.3 | Memory Management | 13 |
| 3.3.4 | Interrupt Handling | 14 |
| 3.3.5 | Synchronization and Exclusion Objects | 14 |
| 3.3.6 | Communication and Message Passing Objects | 17 |
| 3.4 | Internet Support | 19 |
| 3.5 | Tools | 20 |
| 3.6 | Documentation and Support | 22 |
| 3.7 | Development methodology | 23 |
| 4 | Practical evaluation ......................................................... | 25 |
| 4.1 | System under test | 24 |
| 4.1.1 | Operating system and application configuration | 24 |
| 4.1.2 | Additional comments | 24 |
| 4.2 | Interrupt handling | 25 |
| 4.2.1 | One interrupt – no rescheduling | 26 |
| 4.2.2 | One interrupt – Rescheduling | 29 |
| 4.2.3 | Two simultaneous interrupts | 31 |
| 4.2.4 | Nested interrupt handling | 34 |
| 4.2.5 | Maximum sustainable interrupt frequency – IST level | 44 |
| 4.3 | Thread | 47 |
| 4.3.1 | Creation (TF-a-1.d) | 48 |
| 4.3.2 | Deletion (TF-b-1.d) | 49 |
| 4.4 | Thread switch latency – same process | 50 |
| 4.4.1 | Thread switch latency (TSL-a-2.d) | 51 |
| 4.4.2 | Thread switch latency (TSL-a-10.d) | 52 |
| 4.4.3 | Thread switch latency (TSL-a-128.d) | 53 |
| 4.5 | Thread Switch Latency - Different Processes | 54 |
| 4.5.1 | Thread switch latency (TSL-a-128.d) | 55 |
| 4.6 | Counting semaphore | 56 |
| 4.6.1 | Creation (SEO-a-1.d) | 57 |
| 4.6.2 | Deletion (SEO-b-1.d) | 58 |
| 4.6.3 | Deletion - after use (SEO-c-1.d) | 59 |
| 4.6.4 | No contention – Acquire (SEO-d-1.d) | 60 |
| 4.6.5 | No contention – Release (SEO-e-1.d) | 61 |
| 4.6.6 | Synchronization (SEO-f-247.d) | 62 |
| 4.6.7 | Acquiring a semaphore that is non-signaled | 72 |
| 4.7 | Mutex | 64 |
| 4.7.1 | No contention – Acquire (SEO-d-1.d) | 65 |
| 4.7.2 | No contention – Release (SEO-e-1.d) | 66 |
| 4.7.3 | Priority inversion (SEO-g-3.d) | 67 |
| 4.8 | File system – RAM | 68 |
| 4.8.1 | Creation | 69 |
| 4.8.2 | Deletion | 70 |
| 4.8.3 | Read – 1 byte – Compression Disabled | 71 |
| 4.8.4 | Read – 512 bytes – Compression Disabled | 72 |
| 4.8.5 | Read – 5120 bytes – Compression Disabled | 73 |
| 4.8.6 | Write – 1 byte – Compression Disabled | 74 |
| 4.8.7 | Write – 512 bytes – Compression Disabled | 75 |
| 4.8.8 | Write – 5120 bytes – Compression Disabled | 76 |
| 4.9 | Network stack – TCP/IP | 77 |
| 4.9.1 | Full TCP/IP Stack - Receive Capacity | 78 |
| 4.9.2 | Tiny TCP/IP Stack - Receive Capacity | 79 |
| 4.9.3 | Full TCP/IP Stack - Send Capacity | 80 |
| 4.9.4 | Tiny TCP/IP Stack - Send Capacity | 81 |
| 4.10 | Clock Interrupt Service Routine | 82 |
| 4.10.1 | Clock ISR – no system load – no timers | 84 |
| 4.11 | Maximum number of objects | 85 |
| 4.11.1 | Semaphores | 86 |
| 4.11.2 | Threads | 87 |
| 4.12 | Memory leaks | 88 |
| 4.12.1 | Semaphore and Mutex Creation/Deletion | 89 |
| 4.12.2 | Process Creation/Deletion | 90 |
| 5 | License policy and pricing .......................................... | 95 |
| 6 | Conclusions ............................................................................... | 96 |
| 7 | Appendix A: Commentary from the vendor | 97 |
| 8 | Appendix B: Abbreviations ........................................ | 98 |



