The more time it takes to boot your base system (IPL, kernel, Core OS) and Screen, the more time that it takes to start you QNX Platform for ADAS system.
Therefore, you must consider how to optimize the boot time for your base system. Though it isn't the primary purpose of this document to discuss these generic system optimization techniques, we have summarized common techniques in the Other System Optimization Practices chapter.
Generally, after your system boots, a boot script runs to start device drivers, start services, and run applications.
Remember that not all optimization techniques are applicable to all systems. For example, if your system doesn't have displays or a GPU, refer to optimization techniques that aren't associated with using a GPU and displaying content.
It's important to mention that this process of going through the following areas isn't linear, but best done in an iterative manner. For example, you might be able to further optimize your Screen or SLM configuration files after you optimize your camera application.
In your boot script (which is generated and configured in the script section of the buildfile that comes with your hardware platform's board support package—BSP), run the minimal services you need for your camera application.
In the boot script, you should start Screen. You might also need to load any libraries that your camera application depends on or start device drivers required for your camera application.
For more information, see the Optimize the Boot Script chapter.
You don't need to rebuild the target image to change the launch order of applications; you simply need to change the SLM configuration files. However, if you want certain applications to start even earlier, you may consider moving them to the primary IFS or even secondary IFS. However, any files or binaries you move to your IFS can potentially slow the startup time of your system.
For more information, see the Optimize SLM Configuration Files chapter.
If your target supports it, we recommend that you put the IFS on the eMMC on your board.
If you're using a camera that requires additional drivers (e.g., a USB camera), then starting these drivers will increase the time before your camera application can start capturing image buffers from the camera. This additional time, in turns, increases the time it takes to display content. Consider using an attached camera.
For other hardware considerations, see those that are described in Hardware considerations when working with Screen section of Screen's Optimizing Startup Times guide.