- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We have received a question from one of our customer if unique ID of S6E1C3 is unique?
So I wrote a simple program to read out the unique ID from 0x40000200 and 0x40000204.
To my surprise the value(s) of these two 32bit registers are same with at least two of our FM0-64L-S6E1C3 boards.
And values were 0.
I also found CE215674 - FM0+ Unique ID
https://www.cypress.com/documentation/code-examples/ce215674-fm0-unique-id https://www.cypress.com/documentation/code-examples/ce215674-fm0-unique-id
And tried the program came with the documentation.
And the uniqueIds were all 0.
From the FM0+ Family Peripheral Manual
https://www.cypress.com/file/223031/download
Unique ID register address are 0x4000_0200 for all Type 1, Type 2, Type 3.
Following is my test program (main.c)
=========================
#include "project.h"
#include "printf_scanf/uart_io.h"
#include <stdio.h>
/*******************************************************************************
* Global variables for UID values
*******************************************************************************/
stc_unique_id_t stcUniqueId; /* PDL struct read from Uid_ReadUniqueId0() */
uint32_t u32UniqueId0; /* UID 0 read from Uid_ReadUniqueId0() */
uint32_t u32UniqueId1; /* UID 1 read from Uid_ReadUniqueId1() */
uint64_t u64UniqueIdComplete; /* 41-bit UID read from Uid_ReadUniqueId64() */
uint64_t u64UniqueIdCalculated; /* Calculated 41-bit UID */
void init_hardware(void)
{
__enable_irq(); /* Enable global interrupts. */
Uart_Io_Init() ;
}
int main(void)
{
uint32_t count = 0 ;
uint32_t uid0, uid1 ;
uint32_t available ;
init_hardware() ;
printf("FM0+ Test (%s %s)\n", __DATE__, __TIME__) ;
if( Ok != Uid_ReadUniqueId( &stcUniqueId ) ) {
printf("Uid Read UniqueID failed\n") ;
}
uid0 = stcUniqueId.u32Uidr0 ;
uid1 = stcUniqueId.u32Uidr1 ;
// uid0 = Uid_ReadUniqueId0() ;
// uid1 = Uid_ReadUniqueId1() ;
printf("Device ID: 0x%08X 0x%08X\n", uid0, uid1) ;
for(;;)
{
// printf("Loop %d\n", count++) ;
}
}
=========================
Solved! Go to Solution.
- Labels:
-
FM0
-
FM0FM3
-
FM3
-
ispn:39105:1:0
-
l1:314:1:0
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
it is confirmed that
1) Unique ID is supported by Production Device.
2) there is a case that Unique ID is NOT written in ES Device (specially for early sample).
As you informed Device information, ES device is mounted on your Kit...
Apologize for your inconvenience may be caused by this.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Oops, I typed ctrl-s by mistake, then I could not edit my previous message (;_;)
Attached is my test project and the TeraTerm log was like below.
Finally, my question is
(1) Does S6E1C3 on FM0-64L-S6E1C3 support unique ID?
(2) In case the answer to (1) is yes, is the unique ID register address still 0x4000_0200 (and 0x4000_0204)?
Or have those addresses been moved to some other location?
moto
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Just answers for your questions (1) and (2),
(1) Yes, it does.
(2) The unique ID register address is:
- UID0 : 0x40000200
- UID1 : 0x40000204
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Takashi-san,
Thank you very much for your answers!
So, anyway, "Yes to (1)" is a good news.
But as far as the customer and we tried
with at least four FM0-64L-S6E1C3 boards,
all the IDs were 0.
Could you please confirm that the device(s) on the FM0-64L-S6E1C3 have
ID=0 intentionally or some early silicon revision of the device had ID=0,
or (I hope this is not the case but) the information about (1) was wrong.
Best Regards,
13-Mar-2019
Motoo tanaka
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
FYI,
Board1: FM0-64L-S6E1C3 REV.**
Device1: 6E1C32D0A53266010 ES
Board1: FM0-64L-S6E1C3 REV.**
Device1: 6E1C32D0A53266010 ES
moto
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Just information on the current status.
Checked our FM0-64L-S6E1C3 boards on our side and confirmed the Unique ID is 0x00000000.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
it is confirmed that
1) Unique ID is supported by Production Device.
2) there is a case that Unique ID is NOT written in ES Device (specially for early sample).
As you informed Device information, ES device is mounted on your Kit...
Apologize for your inconvenience may be caused by this.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear Takashi-san,
Thank you very much for your answer!
I wonder if newly shipped evaluation boards have the production device(s) or not...
Best Regards,
18-Mar-2019
Motoo Tanaka