Platform: Add gcc support

The current limitations are:
 - Only level TFM_LVL == 1 is supported (tested with regression test)
 - Only AN521 is supported
 - mbedcrypto.a is linked directly, not as part of secure_storage.a
 - wchar-size-warning is suppressed

Detailed changes are:
 - Work around false error on __attribute_((noreturn))
 - Add cmsis_gcc.h
 - Add linker scripts and startup assembly files for AN521
 - Format region_defs.h so that the expressions are understood by ld
 - Work around missing cmse_nsfptr_create
 - Use cmsis function instead of __arm_rsr

Change-Id: I2e2418023dc873f85dbfe0c6b825d23b018e3fcb
Signed-off-by: Mate Toth-Pal <mate.toth-pal@arm.com>
diff --git a/platform/ext/common/uart_stdout.c b/platform/ext/common/uart_stdout.c
index cb5466d..fbf2d17 100755
--- a/platform/ext/common/uart_stdout.c
+++ b/platform/ext/common/uart_stdout.c
@@ -44,6 +44,15 @@
     return ch;

 }

 

+int _write(int fd, char * str, int len)

+{

+    for (int i = 0; i < len; i++)

+    {

+        uart_putc(str[i]);

+    }

+    return len;

+}

+

 #ifdef TARGET_MUSCA_A

 extern struct uart_pl011_dev_t UART0_DEV_S, UART0_DEV_NS;

 extern struct uart_pl011_dev_t UART1_DEV_S, UART1_DEV_NS;