CASP Workflow
CASP provides a model based environment where user creates and simulate a model by performing following basic steps:
· Modelling: User creates a model by interconnecting blocks to perform certain task. Each block represents a sub-model or sub-routine that performs a pre-defined sub task.
· Building: The created model is validated, processed and backend code is generated that can be compiled by selected target hardware compiler.
· Compilation: The generated code is compiled with suitable target hardware compiler to produce a binary image.
· Simulation/Execution: Generated binary image (target hardware executable) is then simulated on native PC (if native hardware compiler is used) or can be deployed on target hardware for execution based on the target selected.
Typical CASP Workflow

Target Hardware Executable Program Code
Typical CASP target hardware executable program code consists of following components
· CASP/User Block Code: This is the application level code created by the user during modelling in the form of blocks. CASP blocks calls CASP HAL APIs when interacting with hardware peripherals. However, user blocks can additionally call target hardware sources and libraries supplied by the hardware vendor if required. In such a case the implementation will be limited to a specific target.
· CASP Board Support Package (BSP) Software: Refer to this section for further details.
· CASP Execution Engine: Refer to this section for further details.

CASP model build process generates final executable that can be executed on target hardware using target hardware vendor tool chain.