LPC804 Stuck or crash on IAP_ReadUniqueID

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

LPC804 Stuck or crash on IAP_ReadUniqueID

跳至解决方案
1,122 次查看
MHMart
Contributor I

I'm trying to read the Unique ID of a LPC804 but, I think it was working before, now I cannot access the UID any longer.

 

The following function makes the whole process stop and not continue. In the debugger I find that IAP_ReadUniqueID is executed (although maybe not with success?) but a breakpoint on the status check is never reached.

 

    uint32_t UIDValue = 0x00;
    status_t UIDStatus = kStatus_Fail;
    //  Read the UID
    UIDStatus = IAP_ReadUniqueID(&UIDValue);
    
    // Return when failed
    if(UIDStatus != kStatus_Success) return;
    
    // insert UID into message
    data[3] = (uint8_t)((UIDValue >> (8 * 3)) & 0xFF);
    data[4] = (uint8_t)((UIDValue >> (8 * 2)) & 0xFF);
    data[5] = (uint8_t)((UIDValue >> (8 * 1)) & 0xFF);
    data[6] = (uint8_t)(UIDValue & 0xFF);

 



Since I think it was working prior, might the flash memory have been emptied or reset? What could it be or what can I check?

0 项奖励
回复
1 解答
1,101 次查看
ErichStyger
Specialist I

IAP_ReadUniqueID() expects a pointer to 128bits (4 x 32bit values).

You see this if you step into IAP_ReadUniqeID().

You are passing only a pointer to 32bits, so memory gets overwritten. Fix that and it should work.

 

在原帖中查看解决方案

0 项奖励
回复
2 回复数
1,102 次查看
ErichStyger
Specialist I

IAP_ReadUniqueID() expects a pointer to 128bits (4 x 32bit values).

You see this if you step into IAP_ReadUniqeID().

You are passing only a pointer to 32bits, so memory gets overwritten. Fix that and it should work.

 

0 项奖励
回复
1,079 次查看
MHMart
Contributor I

Thanks, amazing! That solved my issue.

I could, indeed, have figured that out by checking the function.

 


In my defense though, this documentation could be updated to fit that explenation?

https://mcuxpresso.nxp.com/api_doc/dev/2167/a00070.html#ga258d8c49d494cbd0d18321af56e11440

 

Seems an important requirement that isn't mentioned directly.

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-1848850%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ELPC804%20%E5%9C%A8%20IAP_ReadUniqueID%20%E4%B8%8A%E5%8D%A1%E4%BD%8F%E6%88%96%E5%B4%A9%E6%BA%83%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1848850%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E5%B0%9D%E8%AF%95%E8%AF%BB%E5%8F%96%20LPC804%20%E7%9A%84%E5%94%AF%E4%B8%80%20ID%EF%BC%8C%E4%BD%86%E6%88%91%E8%AE%A4%E4%B8%BA%E5%AE%83%E4%B9%8B%E5%89%8D%E5%8F%AF%E4%BB%A5%E5%B7%A5%E4%BD%9C%EF%BC%8C%E4%BD%86%E7%8E%B0%E5%9C%A8%E6%88%91%E6%97%A0%E6%B3%95%E5%86%8D%E8%AE%BF%E9%97%AE%20UID%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E4%BB%A5%E4%B8%8B%E5%87%BD%E6%95%B0%E4%BD%BF%E6%95%B4%E4%B8%AA%E8%BF%87%E7%A8%8B%E5%81%9C%E6%AD%A2%E5%B9%B6%E4%B8%94%E4%B8%8D%E5%86%8D%E7%BB%A7%E7%BB%AD%E3%80%82%E5%9C%A8%E8%B0%83%E8%AF%95%E5%99%A8%E4%B8%AD%EF%BC%8C%E6%88%91%E5%8F%91%E7%8E%B0%20IAP_ReadUniqueID%20%E5%B7%B2%E6%89%A7%E8%A1%8C%EF%BC%88%E5%B0%BD%E7%AE%A1%E5%8F%AF%E8%83%BD%E6%B2%A1%E6%9C%89%E6%88%90%E5%8A%9F%EF%BC%9F%EF%BC%89%E4%BD%86%E7%8A%B6%E6%80%81%E6%A3%80%E6%9F%A5%E4%B8%8A%E7%9A%84%E6%96%AD%E7%82%B9%E4%BB%8E%E6%9C%AA%E5%88%B0%E8%BE%BE%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3E%20%20%20%20uint32_t%20UIDValue%20%3D%200x00%3B%0A%20%20%20%20status_t%20UIDStatus%20%3D%20kStatus_Fail%3B%0A%20%20%20%20%2F%2F%20%20Read%20the%20UID%0A%20%20%20%20UIDStatus%20%3D%20IAP_ReadUniqueID(%26amp%3BUIDValue)%3B%0A%20%20%20%20%0A%20%20%20%20%2F%2F%20Return%20when%20failed%0A%20%20%20%20if(UIDStatus%20!%3D%20kStatus_Success)%20return%3B%0A%20%20%20%20%0A%20%20%20%20%2F%2F%20insert%20UID%20into%20message%0A%20%20%20%20data%5B3%5D%20%3D%20(uint8_t)((UIDValue%20%26gt%3B%26gt%3B%20(8%20*%203))%20%26amp%3B%200xFF)%3B%0A%20%20%20%20data%5B4%5D%20%3D%20(uint8_t)((UIDValue%20%26gt%3B%26gt%3B%20(8%20*%202))%20%26amp%3B%200xFF)%3B%0A%20%20%20%20data%5B5%5D%20%3D%20(uint8_t)((UIDValue%20%26gt%3B%26gt%3B%20(8%20*%201))%20%26amp%3B%200xFF)%3B%0A%20%20%20%20data%5B6%5D%20%3D%20(uint8_t)(UIDValue%20%26amp%3B%200xFF)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%E5%9B%A0%E4%B8%BA%E6%88%91%E8%AE%A4%E4%B8%BA%E5%AE%83%E4%B9%8B%E5%89%8D%E4%B8%80%E7%9B%B4%E5%9C%A8%E5%B7%A5%E4%BD%9C%EF%BC%8C%E6%89%80%E4%BB%A5%E9%97%AA%E5%AD%98%E5%8F%AF%E8%83%BD%E5%B7%B2%E8%A2%AB%E6%B8%85%E7%A9%BA%E6%88%96%E9%87%8D%E7%BD%AE%EF%BC%9F%E8%BF%99%E5%8F%AF%E8%83%BD%E6%98%AF%E4%BB%80%E4%B9%88%E6%83%85%E5%86%B5%E6%88%96%E8%80%85%E6%88%91%E5%8F%AF%E4%BB%A5%E6%A3%80%E6%9F%A5%E4%BB%80%E4%B9%88%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1848991%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9ALPC804%20%E5%9C%A8%20IAP_ReadUniqueID%20%E4%B8%8A%E5%8D%A1%E4%BD%8F%E6%88%96%E5%B4%A9%E6%BA%83%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1848991%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EIAP_ReadUniqueID()%20%E9%9C%80%E8%A6%81%E4%B8%80%E4%B8%AA%E6%8C%87%E5%90%91%20128%20%E4%BD%8D%EF%BC%884%20x%2032%20%E4%BD%8D%E5%80%BC%EF%BC%89%E7%9A%84%E6%8C%87%E9%92%88%E3%80%82%3C%2FP%3E%3CP%3E%E5%A6%82%E6%9E%9C%E6%82%A8%E8%BF%9B%E5%85%A5%20IAP_ReadUniqeID()%EF%BC%8C%E6%82%A8%E5%B0%B1%E4%BC%9A%E7%9C%8B%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%E3%80%82%3C%2FP%3E%3CP%3E%E6%82%A8%E4%BB%85%E4%BC%A0%E9%80%92%E6%8C%87%E5%90%91%2032%20%E4%BD%8D%E7%9A%84%E6%8C%87%E9%92%88%EF%BC%8C%E5%9B%A0%E6%AD%A4%E5%86%85%E5%AD%98%E4%BC%9A%E8%A2%AB%E8%A6%86%E7%9B%96%E3%80%82%E4%BF%AE%E5%A4%8D%E8%AF%A5%E9%97%AE%E9%A2%98%E5%AE%83%E5%B0%B1%E5%8F%AF%E4%BB%A5%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C%E4%BA%86%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E