With the nRF52, is the RTT functional when APPROTECT
is enabled?
I would expect not since the RTT relies on memory accesses which should be disabled with APPROTECT
With the nRF52, is the RTT functional when APPROTECT
is enabled?
I would expect not since the RTT relies on memory accesses which should be disabled with APPROTECT
A ran a quick experiment and confirmed that the RTT is not functional when APPROTECT
is enabled.
Indeed, as written in the specification.
Just checking here, but short version, if I have RTT writes in my program, I'm debugging and getting everything as it should and do a production build - It's OK, Questionable Pactice, or BAD to just leave those RTT() calls in the code? Do they just immediately return when built for production?
What do you mean by 'production build'? Do you have specific flags to indicate a production build?
As @koniho hinted, there is nothing like "debug" or "release" build in native code for ARM Cortex-M, this is managed just in your project and source code. SW developer's sole screams "no debug code in release FW version!" because of code size and performance, but you can claim that you have neither problems with flash size (because the smallest available nRF52 is 512kB) nor with RAM (at least 64kB on nRF52) nor with performance (because RTT is HW peripheral so computing overhead is smaller then classic UART debug). However I do believe that it really doesn't have place in production FW unless you intentionally build production FW with such debug print-outs because you expect using it in the field - e.g. by users during bug reports or simply because your product marketing wants it.