Can any one tell me if there are any mcu's that have hardware IDs by default. I understand that one can program these in e.g,
However it would be interesting to know if there are any that have IDs already burned in.
Many of the ST ARM Cortex micros have a burned in during manufacture unique ID.
An alternative is to use a separate chip with an ID or registered MAC address - Microchip sell these at reasonable prices for small volumes.
Many of the Blackfin DSPs have a unique ID. Mot exactly a pure MCU, but the differences aren't what they used to be.
YYou may try Synergy mucus from Renesas. Great ones with freeThreadX RTOS APIS.work like a breeze.
There are Silicon Labs 8-bit MCUs that have 4 8-bit registers, SN0 SN1 SN2 and SN3, that define a unique 32-bit device serial number. See the data sheet for the C8051F580 variants for an example:
Not all of their 8-bit MCUs have this feature, for example, the C8051F04x variants.
The SNx register implementation is interesting. Out of reset they contain the serial number information. They can also be written, and function as 4 general puropose read/write registers.
The NXP LPC17xx/40xx series processors have a unique 128-bit ID. It's different on every processor chip. I use it to generate a unique USB ID so that multiple devices may be plugged into a PC at a time.
They also have a 32-bit processor type ID that tells you what hardware (USB, RAM, flash, etc.) is on board the processor. I wrote a blog post on this that describes what's in the type ID.
To me, "hardware ID" implies processor version. This may include additional information regarding the specific step, etc. of the processor (for "work-arounds"). That information can be used by a generic program to adjust how to behave (e.g. 32 vs. 64 bit Pentium, or Intel vs. AMD on PCs). The length of these ID's may vary. There is no universal method for determining a processor's ID.
The inclusion of a unique ID seems to be what most of the comments discuss here. These can be used to uniquely identify a system containing a specific processor. For Windows, this lead to accusations of Microsoft "spying" and privacy violation by license management code that provided the processor's unique ID to for license validation "without user's permission". Windows also used a GUID created automatically during PC hard drive formatting for the same purpose. I'm unsure of the current use of these methods for Windows.
Note that most Maxim one-wire devices include a unique 64 bit ID. They even have hardware for which that is its only function. FTDI USB-serial chips also include a proprietary GUID in addition to the normal USB GUIDs. This allows a driver to "remember" the com port was assigned to each specific chip each time a specific device is plugged in (http://www.ftdichip.com/Support/Documents/AppNotes...), unlike almost every other USB driver out there which will enumerate on each USB port based on USB VID/PID. This makes these FTDI devices well suited for license management via a plug-in dongle (e.g. if it is built-in to your USB peripheral).
If the processor does not provide a unique ID, it is easy enough to add, as you already noted.
Thanks to every one for all the valuable pointers. These are a big time save and will be very helpful in getting started.