We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, I'm trying to read the serial number of an LPC4337. Here is my code but I'm not having much luck. I have tried adding 1 to the entry point for Thumb instructions (as below) but that didn't work Does anyone have any idea what could be going wrong? Is there an address I can read directly? Thanks
typedef void (*IAP)(void *, void *); IAP IAP_entry = (IAP)0x10400101; static uint32_t UID_array[4];
// get the 128-bit device serial number // return 4 DWORDs into an array supplied by the caller // static uint32_t IAP_command = 58;
__disable_irq(); IAP_entry(&IAP_command, UID_array); __enable_irq();
Well my reading of the manual 0x10400100 is a Table, the first entry being the ADDRESS of the IAP_entry function, so you have to READ it, not jump to it directly.
IAP IAP_entry = (IAP)*((uint32_t *)0x10400100);
But you also have a debugger, you could step into things are see where they go.