Read Serial/ID Numbers from JTAG?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Read Serial/ID Numbers from JTAG?

4,228 次查看
zengy
Contributor I

I see ISP/IAP commands can be used to read Serial Number and Identification Number. I would like to do this via JTAG instead. Is this possible? If so, what address holds these values? Thanks.

0 项奖励
回复
10 回复数

4,172 次查看
ZhangJennie
NXP TechSupport
NXP TechSupport

Hi Zengy

user can also read Serial ID with FlashMagic.

https://www.flashmagictool.com/

For more, see FlashMagic help manual.

Have a nice day,

Jun Zhang

0 项奖励
回复

4,216 次查看
frank_m
Senior Contributor III

The user manual of your MCU should tell you the exact location/address. Those are registers in the SYSCON unit.

0 项奖励
回复

4,210 次查看
zengy
Contributor I

This is for the LPC1768. I can't seem to find this information in the User Manual (UM10360). I've searched for:
Identification Number
ID Number
Serial Number
Syscon
System Control
SCS

The SCS register only shows information on the oscillator: x400F C1A0. 

Could you kindly guide me to the documentation with the location where the Serial/Id Number can be found for this device? Thanks. 

 

0 项奖励
回复

4,207 次查看
frank_m
Senior Contributor III

At least in my LPC54xxx user manual, it is easy to find.

The 176x controllers are a bit older ... I only found this:

frank_meyer_0-1617279639342.png

 

0 项奖励
回复

4,201 次查看
zengy
Contributor I

Thanks. I'm able to read the JTAG ID as well as other memory locations just fine. I was hoping that I could find documentation on the location of the Serial Number and Identification Number in memory, but so far have been unable to do so. Can those values be read from a more modern LPC54xx via JTAG? If not maybe it's not possible at all.

0 项奖励
回复

4,195 次查看
frank_m
Senior Contributor III

Supposedly even with the "Memory View" in the debugger:

frank_meyer_0-1617283351712.png

 

0 项奖励
回复

4,191 次查看
converse
Senior Contributor V

@frank_m That is not the same thing. 
@zengy I wouldn’t be surprised if the serial number is generated on the fly by code. I.e. there is not a location that contains the value. NXP do not publish their ROM code or algorithm, so I think you are stuck. A workaround would be to have a function in your code dedicated to returning the serial number. You can then use  gdb script commands to execute that code from within the debugger and display the value. Not nice, but it would work.

0 项奖励
回复

4,190 次查看
frank_m
Senior Contributor III

You might be right. 

Not sure what the "JTAG ID CODE" right above is either.

I suppose the OP meant this ID code, which just identifies the MCU type. 

 

0 项奖励
回复

4,183 次查看
converse
Senior Contributor V

JTAG ID CODE is how a debugger identifies what it is talking to. Afaik it is define by ARM and will be the same for all Cortex-M3 devices (for example)

DEVICE ID 0 is defined by NXP and will be the same for all LPC1768 etc device

DEVICE ID 1 identifies the revision of the part

none of these is unique to a particular device.

@zengy is trying to get the unique device identifier (I think this is a 128 bit GUID)

 

 

0 项奖励
回复

4,160 次查看
frank_m
Senior Contributor III

> none of these is unique to a particular device.

Sure.

I have a hard time to come up with a use case for a unique ID requierd by the debugger.

A debugger (or other tool) usually needs the proper type ID for manipulations (erase, program, algorithms therefore, checks...).

My company uses post-build Hex/S19 patches to embed such unique or build-specific data in the application.

0 项奖励
回复