Cosmic is creating CXSTM8, a professional C compiler for STM8 (COS-C-COMPILER), that comes for free whatever the STM8 silicon.
The package includes: an integrated development environment with optimizing ANSI-C cross compiler, macro assembler, linker, libraries, hex file generator, object format converters, debugging support utilities, run-time library source code, and a multi-pass compiler command driver. The compiler also supports non-intrusive C source-level debugging with Cosmic line of ZAP debuggers.
CXSTM8 can be fully integrated in ST Visual Develop IDE and debugger.
This product is supplied by a third party not affiliated to ST. For the latest information on the specification refer to the third party's website http://www.cosmic-software.com.
- ANSI and ISO C compiler:the Cosmic STM8 compiler follows ANSI and ISO rules and conventions. All code and libraries are optimized specifically for the STM8 processor core. All STM8 derivatives and sub-families are supported.
- Reentrant and recursive:with all programming models all code is fully reentrant and recursive using standard ANSI stack frame conventions.
- Memory models:CXSTM8 supports four programming model options to fine-tune code optimizations to an application and memory requirements.
- C support for Zero Page:compiler source extensions provide efficient use of the STM8 short-addressing mode and single-byte pointers.
- BIT variables:in addition to Standard ANSI C bit fields, CXSTM8 supports single-bit variables using the _Bool keyword providing an easy and efficient bit-packing mechanism for true/false flags.
- In-line assembly:the compiler provides three convenient methods for adding assembly code inside a C program. Includes an argument passing mechanism.
- Absolute listings:optionally produce relocatable and/or absolute C interspersed with the corresponding assembly listings.
- IEEE-754 floating-point:supports IEEE single floating-point formats with full ANSI libraries (source code included).
- Movable code:movable code feature is designed to make RAM-based code-like bootloaders and programmers easy to create and maintain. The linker automatically creates a segment in ROM to store movable code. At run time, the supplied library function is used to relocate and copy the movable code into RAM for execution.
- Checksum:easy-to-use checksum facility and library (source included) allow users to quickly implement an efficient checksum on any or all sections. Checksum calculation and insertion is transparently managed by the linker.
- Mixed C and assembly:Cosmic tools support mixed C and assembly applications, including assembler support for C #defines and #includes. In this way C and assembly language modules may share common constants and macros.
- Host independent formats:the Cosmic relocatable and absolute object formats are host independent. This allows users on PC, SUN and HP workstations to share objects for linking and debugging.
- IEEE-695 and ELF/DWARF debug support:the Cosmic compiler suite supports the IEEE and ELF DWARF standard debug formats used by many popular emulators and logic analyzers.
- In-Circuit emulator compatibility:CXSTM8 is compatible with all existing emulators.
- Flexible compiler interface:Cosmic compilers are designed to be powerful and flexible so they can be used with virtually any environment. Cosmic provides a development environment (IDEA) but the user can select his favorite editor, make utility and/or source code control system.
- MISRA checker compatible:IDEA STM8 and CXSTM8 integrate seamlessly with Cosmic MISRA checker to aid in the production of well-structured and portable C language code using guidelines prescribed by the Motor Industry Software Reliability Association.