otpinfo.c
来自「M-System DOC(Disk on a Chip) Flash芯片的诊断工」· C语言 代码 · 共 61 行
C
61 行
#include "otpinfo.h"
#include "unitinc.h"
#define OTP_NOT_USED -1
FLStatus DINFO_OTP(EXBYTE handle)
{
FLStatus Status = flOK;
EXBYTE i;
EXBYTE UniqueID[17];
IOreq ioreq;
DinfoPrint( EX_TEXT("\n OTP INFO.\n") );
ExPrintLine( 11 );
ioreq.irHandle = handle;
Status = DINFO_flOTPSize(&ioreq);
if(STATUS_OK)
{
/* irCount return the maximum capacity available (6K) */
DinfoPrint( EX_TEXT(" OTP Size : %d Bytes\n"),ioreq.irCount);
if (ioreq.irLength==OTP_NOT_USED)
DinfoPrint( EX_TEXT(" OTP Used Size : OTP is Not Used\n"));
else /* This is the size of the cotp, which is saved after the lock byte in page 3e */
DinfoPrint( EX_TEXT(" OTP Used Size : %d Bytes \n"),ioreq.irLength );
if (ioreq.irFlags==LOCKED_OTP)
DinfoPrint( EX_TEXT(" Lock Status : OTP is Locked\n"));
else
DinfoPrint( EX_TEXT(" Lock Status : OTP is not Locked\n"));
}
else if (Status==flFeatureNotSupported)
DinfoPrint( EX_TEXT(" OTP Feature is Not Supported on this media\n"));
else
DinfoPrint( EX_TEXT(" Can't Access OTP area (with status %s)\n"),TranslateFLStatus(Status) );
ioreq.irData = UniqueID;
Status = DINFO_flGetUniqueID(&ioreq);
UniqueID[16] = '\0';
if(STATUS_OK)
{
DinfoPrint( EX_TEXT(" Unique ID : "));
for(i=0;i<16;i++)
DinfoPrint( EX_TEXT("%x "),UniqueID[i]);
DinfoPrint( EX_TEXT("\n"));
}
else if (Status==flFeatureNotSupported)
DinfoPrint( EX_TEXT(" Unique ID Feature is Not Supported on this media\n"));
else
DinfoPrint( EX_TEXT(" Can't Access Unique ID (with status %s)\n"),TranslateFLStatus(Status) );
return Status;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?