Showing results for 
Search instead for 
Did you mean: 

How to check if the MCU suppot hardware crypto?

Associate II
Posted on May 12, 2018 at 05:54

My device use STM32f437VG (which supports hardware crypto) but sometimes we cannot buy it and use STM32F427VG (which NOT support hardware crypto) instead.

So my program have to check if the MCU is 437 or 427 to use properly library calls. After reading manual, datasheet... i cannot know how to diffentiate them.

My solution now is: write 0x00010000 to CRYP->CR register and readback, the 427 will return 0, the 437 will return 0x00010000.

Posted on May 12, 2018 at 07:32

You could read the processor ID, 

I expect that you could find some 427 chips that don't have crypto in the datasheet

but some batches do have crypto on board,

The reason a 437 could be marked down as a 427 would generally be that some functionality of the 437 doesn't work correctly over the entire specified temperature range.

Posted on May 12, 2018 at 09:00

What is 'processor ID'? I see only 'MCU device ID code' on the RefManual 38.6.1, but both 427 and 437 have same DEV_ID = 0x419.

You mean some 427 do have hardware crypto (from datasheet, only 437 has)? 

My application needs to process many RF packet realtime, so I need performance of hardware crypto.


some functionality of the 437 doesn't work correctly over the entire specified temperature range' is a new information. What exactly happened? Does this problem apply to STM32F439, 479?

(The 417 is a bit low RAM, F7/H7 is new).

Posted on May 12, 2018 at 11:02

A long time ago, when a wafer was manufactured,

there were regions that never provided fully functional 'chips' over the entire temperature range.

these chips are tested, sorted and stamped differently.

Sell off the good parts as the better processor.

there are two possibilities;

1. these two chips are manufactured on totally different wafers

2. its likely they are on the same wafer, 437s are in the center, 427s on the edges..

Does ST block the extra functionality when downgrading ?


maybe not.

Posted on May 12, 2018 at 13:18

The probing test of the clocks/status doesn't seem an unreasonable one, is this not sufficiently effective for your use case?

I'm not sure if ST has two die in this case, or that they simply disable CRYPT/HASH to sell parts with less import/export restrictions. If there were two distinct die, I would expect different discernible IDs unless the difference is one metal layer mask, in which case there is no manufacturing advantage to making a smaller die and getting more die per wafer. Still with two different metal masks you should be able to supply a bit at the ID level to know what you built.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..