From 200cf8b44b4f39dfb975bac6fae35543b2c9c51a Mon Sep 17 00:00:00 2001 From: travisutk Date: Thu, 7 Oct 2010 22:18:42 +0000 Subject: [PATCH 1/1] Block reads in CC_READ_XDATA_MEMORY. git-svn-id: https://svn.code.sf.net/p/goodfet/code/trunk@748 12e2690d-a6be-4b82-a7b7-67c4a43b65c8 --- firmware/apps/chipcon/chipcon.c | 16 ++++++++++++++-- firmware/apps/jtag/jtag430.c | 2 -- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/firmware/apps/chipcon/chipcon.c b/firmware/apps/chipcon/chipcon.c index d2f70ac..c2b7838 100644 --- a/firmware/apps/chipcon/chipcon.c +++ b/firmware/apps/chipcon/chipcon.c @@ -148,6 +148,7 @@ void cchandle(unsigned char app, //Might hurt too. //ccdebuginit(); long i; + int blocklen, blockadr; switch(verb){ //CC_PEEK and CC_POKE will come later. @@ -187,6 +188,7 @@ void cchandle(unsigned char app, //Micro commands! case CC_CHIP_ERASE: + case CC_MASS_ERASE_FLASH: cc_chip_erase(); txdata(app,verb,1); break; @@ -244,9 +246,18 @@ void cchandle(unsigned char app, txdata(app,verb,1); break; case CC_READ_XDATA_MEMORY: - cmddata[0]=cc_peekdatabyte(cmddataword[0]); + //Read the length. + blocklen=1; + if(len>2) + blocklen=cmddataword[1]; + blockadr=cmddataword[0]; + + //Return that many bytes. + for(i=0;i