Allow setting of the kernel heap size from the environment

Similar to APP_HEAP_SIZE, allow setting of the kernel heap size via
environment variables.
diff --git a/build.rs b/build.rs
index 502c779..6d7920e 100644
--- a/build.rs
+++ b/build.rs
@@ -10,9 +10,11 @@
     static ENV_VAR: &str = "PLATFORM";
     static FILE_NAME: &str = "platform";
     static APP_HEAP_SIZE: &str = "APP_HEAP_SIZE";
+    static KERNEL_HEAP_SIZE: &str = "KERNEL_HEAP_SIZE";
 
     println!("cargo:rerun-if-env-changed={}", ENV_VAR);
     println!("cargo:rerun-if-env-changed={}", APP_HEAP_SIZE);
+    println!("cargo:rerun-if-env-changed={}", KERNEL_HEAP_SIZE);
     println!("cargo:rerun-if-changed={}", FILE_NAME);
 
     let platform_name = read_env_var(ENV_VAR).or_else(|| read_board_name_from_file(FILE_NAME));
@@ -26,11 +28,16 @@
         );
     }
 
-    if let Some(s) = read_env_var(APP_HEAP_SIZE) {
-        println!("cargo:rustc-env=APP_HEAP_SIZE={}", s);
+    set_default_env(APP_HEAP_SIZE, "1024");
+    set_default_env(KERNEL_HEAP_SIZE, "1024");
+}
+
+fn set_default_env(env_var: &str, default: &str) {
+    if let Some(s) = read_env_var(env_var) {
+        println!("cargo:rustc-env={}={}", env_var, s);
     } else {
         // Just use a default of 1024 if nothing is passed in
-        println!("cargo:rustc-env=APP_HEAP_SIZE=1024");
+        println!("cargo:rustc-env={}={}", env_var, default);
     }
 }
 
diff --git a/tools/flash.sh b/tools/flash.sh
index 7d5dbbc..7f4c4ea 100755
--- a/tools/flash.sh
+++ b/tools/flash.sh
@@ -9,6 +9,11 @@
 	exit 1
 fi
 
+if [ -z $KERNEL_HEAP_SIZE ]; then
+	echo "Set KERNEL_HEAP_SIZE to a value"
+	exit 1
+fi
+
 case "${PLATFORM}" in
     "nrf52"|"nrf52840")
         tockloader_flags="--jlink --arch cortex-m4 --board nrf52dk --jtag-device nrf52"
@@ -43,7 +48,7 @@
 mkdir -p "${libtock_target_path}"
 cp "$1" "${elf_file_name}"
 
-elf2tab -n "${artifact}" -o "${tab_file_name}" "${elf_file_name}" --stack 2048 --app-heap $APP_HEAP_SIZE --kernel-heap 1024 --protected-region-size=64
+elf2tab -n "${artifact}" -o "${tab_file_name}" "${elf_file_name}" --stack 2048 --app-heap $APP_HEAP_SIZE --kernel-heap $KERNEL_HEAP_SIZE --protected-region-size=64
 
 if [ $tockload == "n" ]; then
 	echo "Skipping flashing for platform \"${PLATFORM}\""