Hello,
I have made a project that was based on the nRF9151 Development Kit and it works great. I had to select the -ns configuration to get anything to ever build and now I want to remove that. It uses 64KB of code space that is part of the application area and having to update 5000+ devices one day is a considerable amount of data. I really don't think I need TF-M due to some specific details of the project and we don't allow any way for malicious code to ever run on our hardware unless the private keys got out. If that happened, what would TF-M even matter anyway? The only "secure" piece of data that will be on the board is the public encryption key and that's not private, by definition.
When I try changing the configuration to the "nrf9151dk/nrf9151" board target in my project, I lose the ability to compile I2C code (I think complaining about .dts files) and the NRF_MODEM code. It suddenly can't find .h files and can't create other labels which makes it impossible for it to compile the C code in my application.
I tried to create an empty project and select the "nrf9151dk/nrf9151" board target and it builds fine with an empty main(). Then I just enabled a bunch of CONFIG options into the prj.conf file and didn't add any files to the project or call any initialization functions for the modem in main. It is still an empty project. Now it won't compile again, complaining that NRF_MODEM_LIB can't be set to 'y', among other things.
I just want to know if maybe it is not possible to use the Zephyr OS or Nordic SDK files unless TF-M is enabled? Perhaps that is just a limitation that you have forced on coding due to the way your libraries were written? I just need to know if that is a limitation I have to accept because I don't know how to get the project to build otherwise. All I did was bring library components into my test project without a single function call and it won't build.
Thanks!
Michael