This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Atmel SAM3U Read Unique Identifier

Hi. I've been trying to read the Unique ID from an Atmel (Microchip) SAM3U1C MCU. The code does seem to be working on some MCU's, but others are returning 0x00 and 0xFF in 4-bit offset intervals from the EEFC (Flash ROM) base address of 0x80000.

Here is an example of the output I get from one MCU versus another.

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Executing 'FLASHD_ReadUniqueID()'
Reading the 128-bit Unique Identifier...
0x00 0x00000000
0x01 0x00000000
0x02 0x00000000
0x03 0x00000000
0x04 0xFFFFFFFF
0x05 0xFFFFFFFF
0x06 0xFFFFFFFF
0x07 0xFFFFFFFF
0x08 0x00000000
0x09 0x00000000
0x0A 0x00000000
0x0B 0x00000000
0x0C 0xFFFFFFFF
0x0D 0xFFFFFFFF
0x0E 0xFFFFFFFF
0x0F 0xFFFFFFFF
0x10 0x00000000
0x11 0x00000000
0x12 0x00000000
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Executing 'FLASHD_ReadUniqueID()'
Reading the 128-bit Unique Identifier...
0x00 0x00000000
0x01 0x334B3446
0x02 0x33303120
0x03 0x37313036
0x04 0x00000000
0x05 0xFFFFFFFF
0x06 0xFFFFFFFF
0x07 0xFFFFFFFF
0x08 0xFFFFFFFF
0x09 0xFFFFFFFF
0x0A 0xFFFFFFFF
0x0B 0xFFFFFFFF
0x0C 0xFFFFFFFF
0x0D 0xFFFFFFFF
0x0E 0xFFFFFFFF
0x0F 0xFFFFFFFF
0x10 0xFFFFFFFF
0x11 0xFFFFFFFF
0x12 0xFFFFFFFF
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Does anyone have any idea why this might be happening? Are there fake Chinese clones of this particular MCU on the market because I don't understand why it's returning 0x00000000. Also, SAM-BA is bugged if I try to read from the MCU which returns 0x00000000 from the first address location. It always seems to dump out 0xBD084798. My assumption is that it's returning within the function call and dumping the buffer offset address from SRAM it sets up (just thought I'd mention that).

Thanks.

0