Porting Guiliani to a new platform
When Guiliani is currently not supported for a specific platform, it can be of course ported to this platform.
As a rule of thumb porting Guiliani to a new platform means an effort of 2-3 months. this includes the creation of platform-specific libraries using BSP/OS and the desired toolchain. However, this effort can be influenced by various factors.
- when using Linux as the target operating system there might be no additional effort for integrating the BSP, since Linux encapsulates these stuff. the rest which needs to be done is integrating the specific toolchain, if it is not yet supported, which means an effort of around 1 month.
- when switching an already supported platform to a new toolchain, e.g. GCC to IAR the effort might also be around 1 month, provided the BSP/OS-combination already supports this toolchain
- when switching an already supported platform to a new board, e.g. RZ/A1 to iMX6, this means integrating a new BSP. although the used operating system stays the same, this will still mean an effort of 2-3 months, provided the operating system is already supporting the new BSP.
- when switching an already suppported platform to a new operating system, e.g. FreeRTOS to SafeRTOS, this means using functions of this new operating system. although the BSP might stay the same, this will still mean an effort of 2-3 months for integration, provided the BSP is designed to support this operating system.
NOTE: the listed efforts should be regarded as a reference point for the dimensions. the real effort for a specific platform might be different, regarding any special factors.
For porting Guiliani to a specific platform the following things are needed:
- an evaluation-kit including the board with touch/display or equivalent
- the SDK including the operating system and the BSP
- the toolchain (and optional IDE) which should be used (e.g. GCC) supporting C++ and exception-handling
- a small sample-application accessing touch and display helps a lot to get started
When the porting is done a Guiliani-SDK including the following is available to start development:
- CMake-files to setup build environment
- pre-created project-files for a specific IDE (optional)
- pre-built libraries for platform
- Documentation of GSE and Guiliani-API
- Guiliani-Streaming-Editor (GSE) to start creating GUIs
- GuilianiDemo showcasing assorted features of Guiliani
- StreamRuntime as a starting-point for own application