Allow updating ITCM/DTCM length from ld flag.

Change-Id: I851b0eaf9bc01743d6d00b1a01f90a85d876206e
diff --git a/pw_unit_test_demo/CMakeLists.txt b/pw_unit_test_demo/CMakeLists.txt
index 468e824..60cb1ab 100644
--- a/pw_unit_test_demo/CMakeLists.txt
+++ b/pw_unit_test_demo/CMakeLists.txt
@@ -34,7 +34,8 @@
     -Wl,--gc-sections \
     -Wl,--print-memory-usage \
     -Wl,-Map=${PROJECT_NAME}.map \
-    -T${LINKER_SCRIPT}")
+    -T${LINKER_SCRIPT} \
+    -Xlinker --defsym=__itcm_length__=256K")
 
 target_compile_options(${ELF} PUBLIC
     -Wall
diff --git a/springbok/matcha.ld b/springbok/matcha.ld
index 81adbc7..7e5ccab 100644
--- a/springbok/matcha.ld
+++ b/springbok/matcha.ld
@@ -1,8 +1,11 @@
+ITCM_LENGTH  = DEFINED(__itcm_length__)  ? __itcm_length__  : 64K;
+DTCM_LENGTH  = DEFINED(__dtcm_length__)  ? __dtcm_length__  : 4M;
+
 
 MEMORY
 {
-        ITCM (rx) : ORIGIN = 0x30000000, LENGTH = 64K
-        DTCM (rw) : ORIGIN = 0x34000000, LENGTH = 4M
+        ITCM (rx) : ORIGIN = 0x30000000, LENGTH = ITCM_LENGTH
+        DTCM (rw) : ORIGIN = 0x34000000, LENGTH = DTCM_LENGTH
 }
 
 STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x2000;