LPC804の一意のIDを読み取ろうとしていますが、以前は機能していたと思いますが、今ではUIDにアクセスできなくなりました。
次の関数は、プロセス全体を停止し、続行しないようにします。デバッガでは、IAP_ReadUniqueIDが実行されていることがわかりますが(成功していないかもしれませんが)、ステータスチェックのブレークポイントに達することはありません。
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);
以前は動作していたと思うので、フラッシュメモリが空になったりリセットされたりしたのでしょうか?それは何でしょうか、または何を確認できますか?
IAP_ReadUniqueID() は 128 ビット (4 x 32 ビット値) へのポインタを想定しています。
これは、IAP_ReadUniqeID() に足を踏み入れるとわかります。
32ビットへのポインタのみを渡しているため、メモリは上書きされます。それを修正すれば、うまくいくはずです。