Hi,
when I build a firmware with TF-M enabled the device gets stuck after a call to sys_reboot(...) no matter if I use the shell or call the function somewhere else in my code.
Regards
Caspar
Hi,
when I build a firmware with TF-M enabled the device gets stuck after a call to sys_reboot(...) no matter if I use the shell or call the function somewhere else in my code.
Regards
Caspar
Hi Caspar, can you please provide information on what version of NCS you are using. What sample are you running? I will need some more information in order to recreate the issue.
Thanks!
Kind regards,
Øyvind
Just tried with the shell_module example. I added CONFIG_BUILD_WITH_TFM=y to prj.conf and copied nrf9160dk_nrf9160ns.overlay over to disable UART1. If I no try to "kernel reboot [cold|warm]" the device gets stuck.
Hello,
Did you try with the "TF-M Hello World" sample?
Kind regards,
Øyvind
Just did. added the following:
diff --git a/samples/tfm/tfm_hello_world/src/main.c b/samples/tfm/tfm_hello_world/src/main.c
index 4ca26a9f..804d2339 100644
--- a/samples/tfm/tfm_hello_world/src/main.c
+++ b/samples/tfm/tfm_hello_world/src/main.c
@@ -11,6 +11,8 @@
#include <tfm_ns_interface.h>
#include "psa/crypto.h"
+#include <power/reboot.h>
+
#define HELLO_PATTERN "Hello World! %s\n"
void main(void)
@@ -47,4 +49,8 @@ void main(void)
i % 16 == 15 ? "\n" : "");
}
}
+
+ printk("about to reboot\n");
+ k_sleep(K_SECONDS(3));
+ sys_reboot(SYS_REBOOT_COLD);
}
gets stuck after printing about to reboot.
Hi,
I've added the same to tfm_hello_world and seeing the same. Will talk to our developers and get back to you within tomorrow.
Kind regards,
Øyvind
Hi Caspar,
The non-secure application is by default not allowed to reset. That is why, when using TF-M, you need to use the TF-M API to reset the device. I tested with tfm_platform_system_reset() from tfm_platform_api.h and that worked as intended.
In future release the sys_reboot() will include TF-M reset function.
Kind regards,
Øyvind
Oh, wow... Didn't see that. Thanks. That worked.
Oh, wow... Didn't see that. Thanks. That worked.