We do not want an app to link core and also targets. As both actually create one core component.
Therefore expose include dirs from targets to core.
mbed-events for instance should just link to mbed-core and it should get all it needs.
Link what we can link with CMake. We still need copy core sources to mbed-os-obj. And expose
also link options to app as linker flags are provided via them. Normally, we would link to
target library but as it's interface, we would copy the sources as well, this is not what we want.
Use `${MBED_TARGET_CONVERTED}-core` target for exposing cmsis/device headers to the core. This breaks
the circular dependency between core and targets.
I also attempt to break building objects per each level in targets hieararchy. The top level target - public facing target, needs to gather sources and create object library.
The -mcpu=cortex-a9 flag conflicts with the march=armv7-a flag.
Opted to keep mcpu=cortex-a9 as it is more specific and
allows GCC to perform better optimization.
The compiler is also changed to use soft-float ABI as it
was necessary to successfully build. Without it the application
appears to be built with soft-float ABI and it conflicts with
the previous setting which was built with hard-float ABI.
This may be related to: https://gitlab.kitware.com/cmake/cmake/-/issues/21173
Move inclusion of USB header file within the existing
conditional pre-processor directive so the USB library
is not required if USB stdio console is disable
Enable Onboard TELIT ME310 driver only when cellular library is included.
This allows us to remove the cellular library as a requirement
to build applications that do not require it (i.e Blinky).
dac_write (used by AnalogOut.write) calls HAL_DAC_Start
every time. It is required to call HAL_DAC_Start only once.
HAL_DAC_Start uses internally HAL_Delay(1) making AnalogOut
not suitable for use in high speed application.
This change removes call to HAL_DAC_Start in dac_write and
moves it to analogout_init.