mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-08-20 21:33:19 -07:00
add: hw ver: show FPGA versions for both HF and LF FPGA configs
add: hw ver: show used and free flash memory chg: prepare fpgaloader for compressed FPGA configs
This commit is contained in:
parent
96c4f5517e
commit
e61530408c
19 changed files with 5137 additions and 134 deletions
|
@ -23,9 +23,11 @@
|
|||
|
||||
static int CmdHelp(const char *Cmd);
|
||||
|
||||
static void lookupChipID(uint32_t iChipID)
|
||||
static void lookupChipID(uint32_t iChipID, uint32_t mem_used)
|
||||
{
|
||||
char asBuff[100];
|
||||
uint32_t mem_avail = 0;
|
||||
|
||||
switch(iChipID)
|
||||
{
|
||||
case 0x270B0A40:
|
||||
|
@ -103,37 +105,43 @@ static void lookupChipID(uint32_t iChipID)
|
|||
switch((iChipID&0xF00)>>8)
|
||||
{
|
||||
case 0:
|
||||
sprintf(asBuff,"None");
|
||||
mem_avail = 0;
|
||||
break;
|
||||
case 1:
|
||||
sprintf(asBuff,"8K bytes");
|
||||
mem_avail = 8;
|
||||
break;
|
||||
case 2:
|
||||
sprintf(asBuff,"16K bytes");
|
||||
mem_avail = 16;
|
||||
break;
|
||||
case 3:
|
||||
sprintf(asBuff,"32K bytes");
|
||||
mem_avail = 32;
|
||||
break;
|
||||
case 5:
|
||||
sprintf(asBuff,"64K bytes");
|
||||
mem_avail = 64;
|
||||
break;
|
||||
case 7:
|
||||
sprintf(asBuff,"128K bytes");
|
||||
mem_avail = 128;
|
||||
break;
|
||||
case 9:
|
||||
sprintf(asBuff,"256K bytes");
|
||||
mem_avail = 256;
|
||||
break;
|
||||
case 10:
|
||||
sprintf(asBuff,"512K bytes");
|
||||
mem_avail = 512;
|
||||
break;
|
||||
case 12:
|
||||
sprintf(asBuff,"1024K bytes");
|
||||
mem_avail = 1024;
|
||||
break;
|
||||
case 14:
|
||||
sprintf(asBuff,"2048K bytes");
|
||||
mem_avail = 2048;
|
||||
break;
|
||||
}
|
||||
PrintAndLog("Nonvolatile Program Memory Size: %s",asBuff);
|
||||
PrintAndLog("Nonvolatile Program Memory Size: %dK bytes. Used: %d bytes (%2.0f\%). Free: %d bytes (%2.0f\%).",
|
||||
mem_avail,
|
||||
mem_used,
|
||||
mem_avail == 0 ? 0 : (float)mem_used/(mem_avail*1024)*100,
|
||||
mem_avail*1024 - mem_used,
|
||||
mem_avail == 0 ? 0 : (float)(mem_avail*1024-mem_used)/(mem_avail*1024)*100
|
||||
);
|
||||
switch((iChipID&0xF000)>>12)
|
||||
{
|
||||
case 0:
|
||||
|
@ -400,7 +408,7 @@ int CmdVersion(const char *Cmd)
|
|||
UsbCommand resp;
|
||||
SendCommand(&c);
|
||||
if (WaitForResponseTimeout(CMD_ACK,&resp,1000)) {
|
||||
lookupChipID(resp.arg[0]);
|
||||
lookupChipID(resp.arg[0], resp.arg[1]);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue