DEVELOPMENT
Different programming strategies (possibly combined) are suitable to develop Applications on GeminiX-based computers. They are mainly a combination of hand-written code with generated code coming from the adoption of Model Driven Development (MDD) tools, such as MathWorks Stateflow (MATLAB + Simulink) or ANSYS SCADE.
The source code shall be compliant to GeminiX Software Coding Convention (e.g. in terms of flow control integrity check, memory protection etc.). Alternatively, other techniques and/or validated coding convention may be used, provided they comply to the SIL4 requirements and do not interfere with GeminiX ones.


APPLICATION MANAGEMENT
GeminiX provides several companion resources (suitable in different scenarios) to assist the Download/Update of both applications and/or configuration:
o Console Mode (available after factory setup)
- Via Ethernet.
- Via Serial.
o JTAG (factory setup or recover)
- Firmware upload on NV memory
o Remote Boot
- Via dedicated Ethernet (PXE, tftp)
o Available resources for Configuration
- Via Ethernet.
- Via Serial.
o Library on CPU-C
o Configurations shall be generated and protected using T3 tools (for SIL4)
o Configuration are stored on NV-MEM
o Integrity and coherence between the nodes are verified during boot phase
DEVELOPMENT ENVIRONMENTS
GeminiX offers several development environments. Developers may start coding and performing functional testing since the very beginning, using a single-node Linux-based simulation environment. A dual-node “mixed” environment is also available, enabling verification of synchronization among nodes and use of the GeminiX-Cores based features. Finally, development bundles for the different Reference Designs are available, allowing the HW-SW integration and performance testing.
