Eclipse Canon-C provides a strict-layered set of header-only C99 modules covering: portable primitive types, overflow-safe arithmetic, explicit pointer alignment, traceable contracts, arena and pool allocators, fixed-capacity collections (vec, deque, hashmap, priority queue, bitset, array), Result and Option types, explicit ownership annotations, generic algorithms (map, filter, fold, find, sort, search), structured diagnostic frames, string operations, and minimal logging and parsing utilities.
The library targets C99 with no compiler extensions required, is freestanding-safe in its core layers, and contains no RTOS, OS, or libc dependencies in its foundational modules. It is designed to be verified with Frama-C, compiled with CompCert, and analyzed with aiT for WCET bounds.
Out of scope:
Eclipse Canon-C does not provide: an RTOS kernel, networking stacks, file systems, graphical interfaces, device drivers, cryptographic primitives, numerical kernels (BLAS/LAPACK), or threading primitives. These remain the responsibility of the underlying RTOS or specialized libraries. Eclipse Canon-C is the application-layer vocabulary that sits between them.
| Repository | Commits | Reviews | Issues |
|---|
The EMO oversees the lifecycle of Eclipse projects, trademark and IP management, and provides a governance framework and recommendations on open source best practices.
See the project’s PMI page at https://projects.eclipse.org/projects/iot.threadx.canon-c
TruewriteThis project has a total of 2 repositories in its associated GitHub organization eclipse-canon-c
.
The graph below outlines the percentange of repositories that have either defined a Branch Protection Rule or Repository Ruleset: