KW41Z SRAM read

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

KW41Z SRAM read

832 Views
satsok_n
Contributor III

Dear NXP community

I want to read the SRAM of KW41Z before the initialization of NXP flow. Is there any way to read the device SRAM with c code or with assembly? Is there a location where I can insert code in order to be executed before the initialation of NXP flow? I am using the freertos examples given from NXP.

Thanks in advance

0 Kudos
7 Replies

823 Views
ErichStyger
Senior Contributor V

Not sure what you mean with 'NXP flow'?

In any case: check your startup code (right after reset).

When you come out of reset, nothing has been initialized, so you could read the memory at that point.

You can inspect this with the debugger too, see https://mcuoneclipse.com/2019/02/17/debugging-the-startup-code-with-eclipse-and-gdb/

I hope this helps,

Erich

0 Kudos

819 Views
satsok_n
Contributor III

I am trying to read SRAM values in order to use it as a PUF. By NXP flow I mean the whole project which runs when I start the device. 

0 Kudos

805 Views
bobpaddock
Senior Contributor III

I expect you will find there is not enough entropy with that method.

Also you need to do such testing a LOT of different devices, and a future mask revision could change it all.



 

0 Kudos

816 Views
ErichStyger
Senior Contributor V

Not sure what you mean with 'PUF'.

>By NXP flow I mean the whole project which runs when I start the device. 

Yes, this runs out of the reset vector, so you can do whatever you want in the startup code. Just add there your code.

I hope this helps,

Erich

0 Kudos

803 Views
bobpaddock
Senior Contributor III

 

'PUF': ? Unclonable Function.

I believe they mean they want to read the RAM before the startup code clears it, in the belief that would be a good random seed for some encryption process.  I would not go that route myself.


0 Kudos

801 Views
satsok_n
Contributor III

that's exactly the case. Is there any other way to do so?

0 Kudos

797 Views
bobpaddock
Senior Contributor III

I'm going by my knowledge of how SRAM tends to work.

I can also tell you using a real time clock is not a good encryption seed.  Again it does not nave enough entropy.

The KW41Z does have a True Random Number generator that is intended for such applications.

I really would like to see some data from NXP on how it works and what tests its has passed.
What some places do is take a mediocre noise source and run it through a hash algorithm to make it appear better than it truly is.  Any true random process will also make a really good thermometer.

Take a look at the Random Number section:

https://www.schneier.com/academic/



0 Kudos