fix debug printing function, add readmem function

This commit is contained in:
skamkar 2009-07-13 08:22:24 +00:00
parent 955fc5e2f8
commit 1dff8c42f5
4 changed files with 30 additions and 5 deletions

View file

@ -69,8 +69,8 @@ void ToSendStuffBit(int b)
void DbpString(char *str) void DbpString(char *str)
{ {
/* this holds up stuff unless we're connected to usb */ /* this holds up stuff unless we're connected to usb */
if (!usbattached) // if (!usbattached)
return; // return;
UsbCommand c; UsbCommand c;
c.cmd = CMD_DEBUG_PRINT_STRING; c.cmd = CMD_DEBUG_PRINT_STRING;
@ -85,8 +85,8 @@ void DbpString(char *str)
void DbpIntegers(int x1, int x2, int x3) void DbpIntegers(int x1, int x2, int x3)
{ {
/* this holds up stuff unless we're connected to usb */ /* this holds up stuff unless we're connected to usb */
if (!usbattached) // if (!usbattached)
return; // return;
UsbCommand c; UsbCommand c;
c.cmd = CMD_DEBUG_PRINT_INTEGERS; c.cmd = CMD_DEBUG_PRINT_INTEGERS;
@ -833,6 +833,9 @@ void UsbPacketReceived(BYTE *packet, int len)
LCDReset(); LCDReset();
break; break;
#endif #endif
case CMD_READ_MEM:
ReadMem(c->ext1);
break;
case CMD_SWEEP_LF: case CMD_SWEEP_LF:
SweepLFrange(); SweepLFrange();
break; break;
@ -864,6 +867,17 @@ void UsbPacketReceived(BYTE *packet, int len)
} }
} }
void ReadMem(int addr)
{
const DWORD *data = ((DWORD *)addr);
int i;
DbpString("Reading memory at address");
DbpIntegers(0, 0, addr);
for (i = 0; i < 8; i+= 2)
DbpIntegers(0, data[i], data[i+1]);
}
void AppMain(void) void AppMain(void)
{ {
memset(BigBuf,0,sizeof(BigBuf)); memset(BigBuf,0,sizeof(BigBuf));

View file

@ -8,6 +8,7 @@
#define __APPS_H #define __APPS_H
/// appmain.c /// appmain.c
void ReadMem(int addr);
void AppMain(void); void AppMain(void);
void SamyRun(void); void SamyRun(void);
void DbpIntegers(int a, int b, int c); void DbpIntegers(int a, int b, int c);

View file

@ -2520,6 +2520,14 @@ static void CmdHIDsimTAG(char *str)
SendCommand(&c, FALSE); SendCommand(&c, FALSE);
} }
static void CmdReadmem(char *str)
{
UsbCommand c;
c.cmd = CMD_READ_MEM;
c.ext1 = atoi(str);
SendCommand(&c, FALSE);
}
static void CmdLcdReset(char *str) static void CmdLcdReset(char *str)
{ {
UsbCommand c; UsbCommand c;
@ -2633,6 +2641,7 @@ static struct {
{"norm", CmdNorm,1, " Normalize max/min to +/-500"}, {"norm", CmdNorm,1, " Normalize max/min to +/-500"},
{"plot", CmdPlot,1, " Show graph window"}, {"plot", CmdPlot,1, " Show graph window"},
{"quit", CmdQuit,1, " Quit program"}, {"quit", CmdQuit,1, " Quit program"},
{"readmem", CmdReadmem,0, " [address] Read memory at decimal address from flash"},
{"reset", CmdReset,0, " Reset the Proxmark3"}, {"reset", CmdReset,0, " Reset the Proxmark3"},
{"save", CmdSave,1, "<filename> -- Save trace (from graph window)"}, {"save", CmdSave,1, "<filename> -- Save trace (from graph window)"},
{"scale", CmdScale,1, "<int> -- Set cursor display scale"}, {"scale", CmdScale,1, "<int> -- Set cursor display scale"},

View file

@ -42,6 +42,7 @@ static void CmdHi15tag(char *str);
static void CmdHi14read_sim(char *str); static void CmdHi14read_sim(char *str);
static void CmdHi14readt(char *str); static void CmdHi14readt(char *str);
static void CmdHisimlisten(char *str); static void CmdHisimlisten(char *str);
static void CmdReadmem(char *str);
static void CmdHi14sim(char *str); static void CmdHi14sim(char *str);
static void CmdHi14asim(char *str); static void CmdHi14asim(char *str);
static void CmdHi14snoop(char *str); static void CmdHi14snoop(char *str);