From 1dd2335295d411a7965a936e7c8535ea86fcd877 Mon Sep 17 00:00:00 2001 From: "adam@algroup.co.uk" Date: Sun, 12 Jul 2009 10:02:57 +0000 Subject: [PATCH] compile clean and flasher targets --- armsrc/Makefile.linux | 4 +- armsrc/appmain.c | 12 ++-- winsrc/command.cpp | 132 +++++++++++++++++++++--------------------- 3 files changed, 75 insertions(+), 73 deletions(-) diff --git a/armsrc/Makefile.linux b/armsrc/Makefile.linux index baf4adb1..897a6b12 100644 --- a/armsrc/Makefile.linux +++ b/armsrc/Makefile.linux @@ -74,13 +74,15 @@ $(OBJFAST): $(OBJDIR)/%.o : %.c $(OBJCOMMON): $(OBJDIR)/%.o : ../common/%.c $(CC) $(CFLAGS) $< -o $@ -# Those do not work on the current firmware ! +flash-both: flash flash-fpga + flash-fpga: fpgaimage.s19 ../linux/flasher fpga fpgaimage.s19 flash: osimage.s19 ../linux/flasher os osimage.s19 +# Those do not work on the current firmware ! jtag-flash-full: fullimage.s19 ../../OpenOCD/openocd -c "halt; flash write_image fullimage.s19 0x00100000; halt; reset; resume; poll; exit" diff --git a/armsrc/appmain.c b/armsrc/appmain.c index c8462649..77bbbbc4 100644 --- a/armsrc/appmain.c +++ b/armsrc/appmain.c @@ -144,7 +144,7 @@ void ModThenAcquireRawAdcSamples125k(int delay_off,int period_0,int period_1,BYT BOOL at134khz; // see if 'h' was specified - if(command[strlen(command) - 1] == 'h') + if(command[strlen((char *) command) - 1] == 'h') at134khz= TRUE; else at134khz= FALSE; @@ -241,7 +241,7 @@ static int AvgAdc(int ch) void SweepLFrange() { BYTE *dest = (BYTE *)BigBuf; - BYTE dummy[12]; + char dummy[12]; int i, peak= 0, ptr= 0; double freq; @@ -939,8 +939,8 @@ void SpinDelay(int ms) // listen for external reader void ListenReaderField(int limit) { - int lf_av, lf_av_new, lf_baseline= -1, lf_count= 0; - int hf_av, hf_av_new, hf_baseline= -1, hf_count= 0; + int lf_av, lf_av_new, lf_baseline= 0, lf_count= 0; + int hf_av, hf_av_new, hf_baseline= 0, hf_count= 0; #define LF_ONLY 1 #define HF_ONLY 2 @@ -952,7 +952,7 @@ void ListenReaderField(int limit) lf_av= ReadAdc(ADC_CHAN_LF); - if(limit != HF_ONLY && lf_baseline == -1) + if(limit != HF_ONLY) { DbpString("LF 125/134 Baseline:"); DbpIntegers(lf_av,0,0); @@ -962,7 +962,7 @@ void ListenReaderField(int limit) hf_av= ReadAdc(ADC_CHAN_HF); - if (limit != LF_ONLY && hf_baseline == -1) + if (limit != LF_ONLY) { DbpString("HF 13.56 Baseline:"); DbpIntegers(hf_av,0,0); diff --git a/winsrc/command.cpp b/winsrc/command.cpp index b5d3e3d7..349ede69 100644 --- a/winsrc/command.cpp +++ b/winsrc/command.cpp @@ -701,7 +701,7 @@ static void CmdLoCommandRead(char *str) UsbCommand c; c.cmd = CMD_MOD_THEN_ACQUIRE_RAW_ADC_SAMPLES_125K; - sscanf(str, "%i %i %i %s %s", &c.ext1, &c.ext2, &c.ext3, &c.d.asBytes,&dummy+1); + sscanf(str, "%i %i %i %s %s", &c.ext1, &c.ext2, &c.ext3, (char *) &c.d.asBytes,(char *) &dummy+1); // in case they specified 'h' strcpy((char *)&c.d.asBytes + strlen((char *)c.d.asBytes), dummy); SendCommand(&c, FALSE); @@ -2580,71 +2580,71 @@ static struct { int offline; // 1 if the command can be used when in offline mode char *docString; } CommandTable[] = { - "askdemod", Cmdaskdemod,1, " <0|1> -- Attempt to demodulate simple ASK tags", - "autocorr", CmdAutoCorr,1, " -- Autocorrelation over window", - "bitsamples", CmdBitsamples,0, " Get raw samples as bitstring", - "bitstream", Cmdbitstream,1, "[clock rate] -- Convert waveform into a bitstream", - "buffclear", CmdBuffClear,0, " Clear sample buffer and graph window", - "dec", CmdDec,1, " Decimate samples", - "detectclock", Cmddetectclockrate,1, " Detect clock rate", - "detectreader", CmdDetectReader,0, "['l'|'h'] -- Detect external reader field (option 'l' or 'h' to limit to LF or HF)", - "em410xsim", CmdEM410xsim,1, " -- Simulate EM410x tag", - "em410xread", CmdEM410xread,1, "[clock rate] -- Extract ID from EM410x tag", - "em410xwatch", CmdEM410xwatch,0, " Watches for EM410x tags", - "em4x50read", CmdEM4x50read,1, " Extract data from EM4x50 tag", - "exit", CmdQuit,1, " Exit program", - "flexdemod", CmdFlexdemod,1, " Demodulate samples for FlexPass", - "fpgaoff", CmdFPGAOff,0, " Set FPGA off", // ## FPGA Control - "hexsamples", CmdHexsamples,0, " -- Dump big buffer as hex bytes", - "hi14alist", CmdHi14alist,0, " List ISO 14443a history", // ## New list command - "hi14areader", CmdHi14areader,0, " Act like an ISO14443 Type A reader", // ## New reader command - "hi14asim", CmdHi14asim,0, " -- Fake ISO 14443a tag", // ## Simulate 14443a tag - "hi14asnoop", CmdHi14asnoop,0, " Eavesdrop ISO 14443 Type A", // ## New snoop command - "hi14bdemod", CmdHi14bdemod,1, " Demodulate ISO14443 Type B from tag", - "hi14list", CmdHi14list,0, " List ISO 14443 history", - "hi14read", CmdHi14read,0, " Read HF tag (ISO 14443)", - "hi14sim", CmdHi14sim,0, " Fake ISO 14443 tag", - "hi14snoop", CmdHi14snoop,0, " Eavesdrop ISO 14443", - "hi15demod", CmdHi15demod,1, " Demodulate ISO15693 from tag", - "hi15read", CmdHi15read,0, " Read HF tag (ISO 15693)", - "hi15reader", CmdHi15reader,0, " Act like an ISO15693 reader", // new command greg - "hi15sim", CmdHi15tag,0, " Fake an ISO15693 tag", // new command greg - "hiddemod", CmdHiddemod,1, " Demodulate HID Prox Card II (not optimal)", - "hide", CmdHide,1, " Hide graph window", - "hidfskdemod", CmdHIDdemodFSK,0, " Realtime HID FSK demodulator", - "hidsimtag", CmdHIDsimTAG,0, " -- HID tag simulator", - "higet", CmdHi14read_sim,0, " -- Get samples HF, 'analog'", - "hisamples", CmdHisamples,0, " Get raw samples for HF tag", - "hisampless", CmdHisampless,0, " -- Get signed raw samples, HF tag", - "hisamplest", CmdHi14readt,0, " Get samples HF, for testing", - "hisimlisten", CmdHisimlisten,0, " Get HF samples as fake tag", - "hpf", CmdHpf,1, " Remove DC offset from trace", - "indalademod", CmdIndalademod,0, "['224'] -- Demodulate samples for Indala 64 bit UID (option '224' for 224 bit)", - "lcd", CmdLcd,0, " -- Send command/data to LCD", - "lcdreset", CmdLcdReset,0, " Hardware reset LCD", - "load", CmdLoad,1, " -- Load trace (to graph window", - "locomread", CmdLoCommandRead,0, " <'0' period> <'1' period> ['h'] -- Modulate LF reader field to send command before read (all periods in microseconds) (option 'h' for 134)", - "loread", CmdLoread,0, "['h'] -- Read 125/134 kHz LF ID-only tag (option 'h' for 134)", - "losamples", CmdLosamples,0, "[128 - 16000] -- Get raw samples for LF tag", - "losim", CmdLosim,0, " Simulate LF tag", - "ltrim", CmdLtrim,1, " -- Trim samples from left of trace", - "mandemod", Cmdmanchesterdemod,1, "[i] [clock rate] -- Manchester demodulate binary stream (option 'i' to invert output)", - "manmod", Cmdmanchestermod,1, "[clock rate] -- Manchester modulate a binary stream", - "norm", CmdNorm,1, " Normalize max/min to +/-500", - "plot", CmdPlot,1, " Show graph window", - "quit", CmdQuit,1, " Quit program", - "reset", CmdReset,0, " Reset the Proxmark3", - "save", CmdSave,1, " -- Save trace (from graph window)", - "scale", CmdScale,1, " -- Set cursor display scale", - "setlfdivisor", CmdSetDivisor,0, "<19 - 255> -- Drive LF antenna at 12Mhz/(divisor+1)", - "sri512read", CmdSri512read,0, " -- Read contents of a SRI512 tag", - "sweeplf", CmdSweepLF,0, " Sweep through LF freq range and store results in buffer", - "tibits", CmdTibits,0, " Get raw bits for TI-type LF tag", - "tidemod", CmdTidemod,0, " Demodulate raw bits for TI-type LF tag", - "tiread", CmdTiread,0, " Read a TI-type 134 kHz tag", - "tune", CmdTune,0, " Measure antenna tuning", - "vchdemod", CmdVchdemod,0, "['clone'] -- Demodulate samples for VeriChip", - "zerocrossings", CmdZerocrossings,1, " Count time between zero-crossings", + {"askdemod", Cmdaskdemod,1, " <0|1> -- Attempt to demodulate simple ASK tags"}, + {"autocorr", CmdAutoCorr,1, " -- Autocorrelation over window"}, + {"bitsamples", CmdBitsamples,0, " Get raw samples as bitstring"}, + {"bitstream", Cmdbitstream,1, "[clock rate] -- Convert waveform into a bitstream"}, + {"buffclear", CmdBuffClear,0, " Clear sample buffer and graph window"}, + {"dec", CmdDec,1, " Decimate samples"}, + {"detectclock", Cmddetectclockrate,1, " Detect clock rate"}, + {"detectreader", CmdDetectReader,0, "['l'|'h'] -- Detect external reader field (option 'l' or 'h' to limit to LF or HF)"}, + {"em410xsim", CmdEM410xsim,1, " -- Simulate EM410x tag"}, + {"em410xread", CmdEM410xread,1, "[clock rate] -- Extract ID from EM410x tag"}, + {"em410xwatch", CmdEM410xwatch,0, " Watches for EM410x tags"}, + {"em4x50read", CmdEM4x50read,1, " Extract data from EM4x50 tag"}, + {"exit", CmdQuit,1, " Exit program"}, + {"flexdemod", CmdFlexdemod,1, " Demodulate samples for FlexPass"}, + {"fpgaoff", CmdFPGAOff,0, " Set FPGA off"}, // ## FPGA Control + {"hexsamples", CmdHexsamples,0, " -- Dump big buffer as hex bytes"}, + {"hi14alist", CmdHi14alist,0, " List ISO 14443a history"}, // ## New list command + {"hi14areader", CmdHi14areader,0, " Act like an ISO14443 Type A reader"}, // ## New reader command + {"hi14asim", CmdHi14asim,0, " -- Fake ISO 14443a tag"}, // ## Simulate 14443a tag + {"hi14asnoop", CmdHi14asnoop,0, " Eavesdrop ISO 14443 Type A"}, // ## New snoop command + {"hi14bdemod", CmdHi14bdemod,1, " Demodulate ISO14443 Type B from tag"}, + {"hi14list", CmdHi14list,0, " List ISO 14443 history"}, + {"hi14read", CmdHi14read,0, " Read HF tag (ISO 14443)"}, + {"hi14sim", CmdHi14sim,0, " Fake ISO 14443 tag"}, + {"hi14snoop", CmdHi14snoop,0, " Eavesdrop ISO 14443"}, + {"hi15demod", CmdHi15demod,1, " Demodulate ISO15693 from tag"}, + {"hi15read", CmdHi15read,0, " Read HF tag (ISO 15693)"}, + {"hi15reader", CmdHi15reader,0, " Act like an ISO15693 reader"}, // new command greg + {"hi15sim", CmdHi15tag,0, " Fake an ISO15693 tag"}, // new command greg + {"hiddemod", CmdHiddemod,1, " Demodulate HID Prox Card II (not optimal)"}, + {"hide", CmdHide,1, " Hide graph window"}, + {"hidfskdemod", CmdHIDdemodFSK,0, " Realtime HID FSK demodulator"}, + {"hidsimtag", CmdHIDsimTAG,0, " -- HID tag simulator"}, + {"higet", CmdHi14read_sim,0, " -- Get samples HF, 'analog'"}, + {"hisamples", CmdHisamples,0, " Get raw samples for HF tag"}, + {"hisampless", CmdHisampless,0, " -- Get signed raw samples, HF tag"}, + {"hisamplest", CmdHi14readt,0, " Get samples HF, for testing"}, + {"hisimlisten", CmdHisimlisten,0, " Get HF samples as fake tag"}, + {"hpf", CmdHpf,1, " Remove DC offset from trace"}, + {"indalademod", CmdIndalademod,0, "['224'] -- Demodulate samples for Indala 64 bit UID (option '224' for 224 bit)"}, + {"lcd", CmdLcd,0, " -- Send command/data to LCD"}, + {"lcdreset", CmdLcdReset,0, " Hardware reset LCD"}, + {"load", CmdLoad,1, " -- Load trace (to graph window"}, + {"locomread", CmdLoCommandRead,0, " <'0' period> <'1' period> ['h'] -- Modulate LF reader field to send command before read (all periods in microseconds) (option 'h' for 134)"}, + {"loread", CmdLoread,0, "['h'] -- Read 125/134 kHz LF ID-only tag (option 'h' for 134)"}, + {"losamples", CmdLosamples,0, "[128 - 16000] -- Get raw samples for LF tag"}, + {"losim", CmdLosim,0, " Simulate LF tag"}, + {"ltrim", CmdLtrim,1, " -- Trim samples from left of trace"}, + {"mandemod", Cmdmanchesterdemod,1, "[i] [clock rate] -- Manchester demodulate binary stream (option 'i' to invert output)"}, + {"manmod", Cmdmanchestermod,1, "[clock rate] -- Manchester modulate a binary stream"}, + {"norm", CmdNorm,1, " Normalize max/min to +/-500"}, + {"plot", CmdPlot,1, " Show graph window"}, + {"quit", CmdQuit,1, " Quit program"}, + {"reset", CmdReset,0, " Reset the Proxmark3"}, + {"save", CmdSave,1, " -- Save trace (from graph window)"}, + {"scale", CmdScale,1, " -- Set cursor display scale"}, + {"setlfdivisor", CmdSetDivisor,0, "<19 - 255> -- Drive LF antenna at 12Mhz/(divisor+1)"}, + {"sri512read", CmdSri512read,0, " -- Read contents of a SRI512 tag"}, + {"sweeplf", CmdSweepLF,0, " Sweep through LF freq range and store results in buffer"}, + {"tibits", CmdTibits,0, " Get raw bits for TI-type LF tag"}, + {"tidemod", CmdTidemod,0, " Demodulate raw bits for TI-type LF tag"}, + {"tiread", CmdTiread,0, " Read a TI-type 134 kHz tag"}, + {"tune", CmdTune,0, " Measure antenna tuning"}, + {"vchdemod", CmdVchdemod,0, "['clone'] -- Demodulate samples for VeriChip"}, + {"zerocrossings", CmdZerocrossings,1, " Count time between zero-crossings"}, }; -- 2.39.2