Greetings,
I am working on adding IAR Embedded Workbench for ARM (EWARM) as a supported toolchain for TF-M and I would like to discuss some of the issues I've run into before I start issuing PR:s.
1) The current TF-M source uses non-standard gcc extensions which EWARM does not support.
I assume it should not be an issue converting this code into standard C, that would only help porting to other toolchains as well.
2) Should I create separate PR:s for these changes and the toolchain changes?
3) In some places (tfm_core.c, ...) there are hardwired references to symbols like Image$$TFM_UNPRIV_SCRATCH$$ZI$$Base, Image$$TFM_UNPRIV_SCRATCH$$ZI$$Limit. Our toolchain would use symbols like TFM_UNPRIV_SCRATCH$$Base and TFM_UNPRIV_SCRATCH$$Limit instead.
What to do about this? Adding #ifdefs in the .c files will be messy and I'd like some cleaner solution.
4) Some common cmake files contains hardwired option names like "-include" (BuildMbedtls.cmake)
Our toolchain uses "--preinclude" instead and I think this ought to be handled in the compiler specific cmake files instead.