Showing results for 
Search instead for 
Did you mean: 

How to detect STM32F437 vs STM32F427 via software? Am I victim of chip fraud?



I have a chip marked as STM32F437 but my software fails on running the SHA256 algorithm on the hardware crypto module.

The only difference to the STM32F427 is the additional presence of a hardware crypto accelerator in the STM32F437.

How can I check that the crypto module is present and enabled?

When I check the DBGMCU_IDCODE register I read 20016419h on both.

That means

-DEV_ID: 2001h STM32F42/STM32F43 Rev 3,4,5, and B.

-REV_ID: 419h STM32F42 STM32F43

So I can not differentiate between STM32F42 and STM32F43.

How can I do that?

Is there any known criminal chip cloning known for STM32F437?

I attach pictures of the chip that works as expected and a chip that dos not work.

Thanks in advance, Adib.



here a more crisp picture of the bad chip.


Here is the description of the Chipmarkings as read from the device datasheet STM32f437.

For me the 2 and the 3 in the second line, right position, are the revision codes.

Maybe a synonym to line codes?

Regard, Adib.


I have a Nucleo-F429ZI and build a simple app using CubeMX pretending a F439ZI.

When I access the HASH module there is no bus error or similar.

It looks like reading all zeroes from this (nonexisting) HASH module.

The default generated system ISR should call an endless loop.

Is there a need for additional setting on a register to call the error trap in this case?

Regards, Adib.