Skip to main content
brunoalltest
Associate II
October 8, 2008
Question

Core Revision

  • October 8, 2008
  • 6 replies
  • 1061 views
Posted on October 08, 2008 at 18:16

Core Revision

    This topic has been closed for replies.

    6 replies

    16-32micros
    Associate III
    May 17, 2011
    Posted on May 17, 2011 at 12:47

    Hi Bruno,

    All STM32 revisions available WW so far :

    (B,Z,Y): Medium Density Performance & Medium Density Access

    Z : High Density Performance & High Density Access

    A : Low Density Performance, Low Density Access , Low Density USB Access , Medium Density USB Access.

    Include only one CM3 Core version which is ''r1p1-01rel0''.

    For more details about ARM Cortex-M3 revisions, you can refer to this document errata :

    http://infocenter.arm.com/help/topic/com.arm.doc.eat0420b/PR326-PRDC-009450-1-0.pdf

    Cheers,

    STOne-32.

    [ This message was edited by: STOne-32 on 10-10-2008 21:37 ]

    brunoalltest
    Associate II
    May 17, 2011
    Posted on May 17, 2011 at 12:47

    1)

    ARM has release at least three versions of the CM3 Core for the ''public''.

    They are:

    r1p0

    r1p1

    r2p0

    Associeted with each of these core versioss, there are versions for the ''CM3 Technical Reference Manual'' on ARM website.

    These information are from ''

    http://infocenter.arm.com/help/topic/com.arm.doc.ddi0337g/DDI0337G_cortex_m3_r2p0_trm.pdf

    ''

    2)

    I´ve searched STM32 datasheets, erratasheet and reference manual trying to find the ''CM3 Core version''(r1p0, r1p1, r2p0) for each ''STM32 revision''(A, B, Z, Y) and couldn´t find.

    So I ask ST... what is the ''CM3 Core version'' for each ''STM32 revision''?

    3)

    Of course we can check it by software, the core information are on the CPUID Register(This information os on figure 8.8 of the ''CM3 Technical Reference Manual'').

    Also the ST firmware library has a function to read this register. It´s NVIC_GetCPUID().

    So I wrote a code to find the CM3Core revision:

    Code:

    u32 CM3_CPUID=0;

    u32 CM3_CoreRev=0;

    u32 CM3_CoreVar=0;

    CM3_CPUID = NVIC_GetCPUID();

    CM3_CoreRev = CM3_CPUID&0x0000000F;

    CM3_CoreVar = (CM3_CPUID&0x00F00000)>>20;

    debug_printf(''r%dp%dn'',CM3_CoreRev,CM3_CoreVar);

    And I´ve found that my ''STM32 rev Z'' has a ''CM3 Core r1p1''.

    Someone please check ''STM32 rev Y''.

    Regards

    Bruno

    brunoalltest
    Associate II
    May 17, 2011
    Posted on May 17, 2011 at 12:47

    Thank you STOne.

    But shouldn´t this information be on the datasheet?

    Regards,

    Bruno

    slawcus
    Associate II
    May 17, 2011
    Posted on May 17, 2011 at 12:47

    FYI: you can find core revision in section 26.2 Reference ARM documentation in the reference manual. You can search for r1p1 and you can find several places with relevant info about core ID.

    st3
    Associate III
    May 17, 2011
    Posted on May 17, 2011 at 12:47

    Quote:

    Q: But shouldn´t this information be on the datasheet?

    A: It is available in our Errata-sheets.

    Definition:''Errata sheet'' - all the things that should have been in the Data sheet, but weren't 8-)

    16-32micros
    Associate III
    May 17, 2011
    Posted on May 17, 2011 at 12:47

    Hi Bruno,

    It is available in our Errata-sheets.

    Cheers,

    STOne-32.