cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F405/407/415/417 DBGMCU_IDCODE.REV_ID

Can please anybody who has any of the above mcu, post here content of DBGMCU_IDCODE.REV_ID together with the revision number/letter marked on the package?

I suspect that table in RM0090 is not entirely correct. Rev.Y is historically older than Rev.2 and probably older than Rev.1 too, and I'd expect REV_ID to follow the historical order. And values in RM0090 rev.6 were indeed different.

Thanks,

JW

9 REPLIES 9
KDJEM.1
ST Employee

Hello @Community member​,

I am not sure that this is an issue. In fact, Rev.Z is older than Rev.1 and Rev.2.

If you think that I misunderstood the issue, could you please provide more explanation?

Thank you.

Kaouthar

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hi Kaouthar,

context is, that I have some STM32F407 marked with "4" as revision, and returning 0x1007 as DBGMCU_IDCODE.REV_ID (example UID=200047000F50345339323520). Even if these were bought at a 3rd tier dealer, I don't think anybody would go and counterfeight revisions, so it's easier for me to believe that the table in RM0090 is simply wrong. The fact that in RM0090 Rev.6 the table gave different values (although there was no Rev.4 at that point) just increases this notion

I tried to locate some historical 'F407 specimens, but all I was able to find were Rev.2 which return 0x1007 as expected; one friend of mine reported Rev.A on a Disco but that returns garbage as per erratum, and I have an STM32F457 (sic!) on the EVAL, which is ES... so no luck finding other Rev.4 to compare.

Btw. I haven't mentioned Rev.Z in my opening post.

JW

>>I have an STM32F457 (sic!) on the EVAL, which is ES

Seen at least one of those

case 0x411 : printf("STM32F457 or F20x\n"); break;

I definitely recall in the early F2/F4 days there were some ambiguities, and issues with the prefetch/ART

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

Yep - started my STM32 development w/Rev A devices and had to disable the ART. By the time we got into production we were getting later revs (Z? 1? I don't recall). I might still have some of those in a dusty box somewhere.

@Community member​ , @Bob S​ ,

Thanks, I do have those. Just dug out a dusty DiscoF4 with revZ:

(gdb) x /wx 0xE0042000

0xe0042000:    0x10016413

so that matches the table in RM.

I am interested in rev.Y - old and new (that revision is likely to be manufactured for almost a decade by now, if I'm correct), and most importantly rev.4 (the latter will be only newer than some 2019 IIRC).

JW

Piranha
Chief II

By the way... Can someone enlighten me why the hardware developers do not identify the device revisions sequentially like 1, 2, 3, ... or A, B, C... ?

We will probably never know this detail, but IMO this might have to do with the fact that the STM32 are produced in several fabs.

JW

KDJEM.1
ST Employee

Hi @Community member​,

I did a test with STM32F407G-DISC1 revision Y board and the REV_ID=0x100F as already described in the RM0090.

Can you please share the chip photo of the STM32F407 revision 4, that return REV_ID equal to 0x1007.

Thank you.

Kaouthar

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hi Kaouthar,

0693W00000VOWJXQA5.pngThanks for your support.

Jan

@KDJEM.1​