Michael, Can you give the attached patch a try?
[Note for those interested, this patch has a fix to the bug Steven found, a fix to the max_chunk_len previous sent out (but not yet committed) and a debug function not currently used, but I'm too lazy to take out at the moment.] -- Phil Dibowitz p...@ipom.com Open Source software and tech docs Insanity Palace of Metallica http://www.phildev.net/ http://www.ipom.com/ "Never write it in C if you can do it in 'awk'; Never do it in 'awk' if 'sed' can handle it; Never use 'sed' when 'tr' can do the job; Never invoke 'tr' when 'cat' is sufficient; Avoid using 'cat' whenever possible" -- Taylor's Laws of Programming
? .deps ? .libs ? Makefile ? Makefile.in ? aclocal.m4 ? autom4te.cache ? binaryfile.lo ? config.h ? config.h.in ? config.log ? config.status ? config.sub ? configure ? depcomp ? install-sh ? libconcord.la ? libconcord.lo ? libtool ? libusbhid.lo ? ltmain.sh ? missing ? remote.lo ? remote_z.lo ? stamp-h1 ? usblan.lo ? web.lo ? bindings/perl/Makefile ? bindings/perl/blib ? bindings/perl/concord.bs ? bindings/perl/concord.pm ? bindings/perl/concord_wrap.c ? bindings/perl/pm_to_blib Index: libconcord.cpp =================================================================== RCS file: /cvsroot/concordance/concordance/libconcord/libconcord.cpp,v retrieving revision 1.38 diff -u -r1.38 libconcord.cpp --- libconcord.cpp 14 Oct 2008 19:35:01 -0000 1.38 +++ libconcord.cpp 4 Feb 2009 20:46:45 -0000 @@ -1061,7 +1061,7 @@ uint8_t data[1]; if (ri.arch->firmware_update_base == ri.arch->firmware_base) { - data[0] = 0x00; + data[0] = 0x02; if ((err = rmt->WriteFlash(0x200000, 1, data, ri.protocol, NULL, NULL))) return LC_ERROR; @@ -1106,6 +1106,11 @@ return 0; } +int read_arbitrary_flash(int addr, uint32_t size, uint8_t **out) +{ + return _read_fw_from_remote(*out, size, addr, NULL, NULL); +} + int read_firmware_from_remote(uint8_t **out, uint32_t *size, lc_callback cb, void *cb_arg) { Index: libconcord.h =================================================================== RCS file: /cvsroot/concordance/concordance/libconcord/libconcord.h,v retrieving revision 1.21 diff -u -r1.21 libconcord.h --- libconcord.h 14 Oct 2008 19:35:01 -0000 1.21 +++ libconcord.h 4 Feb 2009 20:46:46 -0000 @@ -464,6 +464,9 @@ int post_new_code(uint8_t *data, uint32_t size, char *key_name, char *encoded_signal); +/* debug */ +int read_arbitrary_flash(int addr, uint32_t size, uint8_t **out); + #ifdef __cplusplus } #endif Index: remote.cpp =================================================================== RCS file: /cvsroot/concordance/concordance/libconcord/remote.cpp,v retrieving revision 1.37 diff -u -r1.37 remote.cpp --- remote.cpp 20 Dec 2008 23:10:40 -0000 1.37 +++ remote.cpp 4 Feb 2009 20:46:46 -0000 @@ -367,7 +367,7 @@ uint32_t cb_count = 0; const unsigned int max_chunk_len = - protocol == 0 ? 749 : 1023; + protocol == 0 ? 749 : 3150; /* mapping of lenghts - see specs/protocol.txt */ static const unsigned int txlenmap0[] =
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM) software. With Adobe AIR, Ajax developers can use existing skills and code to build responsive, highly engaging applications that combine the power of local resources and data with the reach of the web. Download the Adobe AIR SDK and Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
_______________________________________________ concordance-devel mailing list concordance-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/concordance-devel