I am trying to port existing software to a custom nrf9160 board.
I am using latest nrf connect sdk updated with git and west.
Could somebody from Nordic comment about the architecture decisions that have been made so far:
- partition of the flash in boot, secure1, nonsecure1, secure2, nonsecure2, scratch, data
- partition of RAM I can not understand yet. From 256kb RAM there is 64kb reserved for secure mode, 64kb for the BSD library and that leaves 128kb for the application
- partition of devices
I was trying to study the structure of the Zephyr code and it seems that it does not take advantage of the TrustZone features yet.
I am aksing me what this 64kb RAM is reserved for in secure mode? Should that be supported by Zephyr in the future? What services should run in the secure space?
Would it make sense to implement crypto key management in secure mode?
The other question is about the size of the memory for the BSD library: 64kb. Can this be changed in the dts files and the pre-built binary library will respect that?
If the application sends and receives all few minutes a small UDP packet 64kb is really a lot.
What was the reason to not publish the BSD library as source code?
Best regards
- Martin