Common application configuration for boards
The current Zephyr board abstraction does not well handle different software configurations targeting the same physical hardware. 3 common configurations for any Zephyr board are running a standalone application, a bootloader, and a chain loaded application. Each of these applications can have different requirements for ROM/RAM layouts. Secure and non-secure applications with ARMv8 TrustZone also have differing requirements. Any solution to these problems must be driven by the linker. The discussion is around how to get from a users desire to build an application of type T for board B, to the correct linker memory regions. Ideally any solution is a step towards multi-image builds in the future.
The current Zephyr board abstraction does not well handle different software configurations targeting the same physical hardware. 3 common configurations for any Zephyr board are running a standalone application, a bootloader, and a chain loaded application. Each of these applications can have different requirements for ROM/RAM layouts. Secure and non-secure applications with ARMv8 TrustZone also have differing requirements. Any solution to these problems must be driven by the linker. The discussion is around how to get from a users desire to build an application of type T for board B, to the correct linker memory regions. Ideally any solution is a step towards multi-image builds in the future.