[E3-hacking] Initial version of pblq

David Given e3-hacking@earth.li
Wed, 16 Mar 2005 22:23:28 +0000


--=-ismXNkAMTzb2AO6bmqij
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

Here it is --- it's only 6kB, so I've attached it, and I'm only doing
that because this is a low subscription list.

Features:

      * Lots of complex handshaking code; on startup, if PBL is running,
        it'll connect to that, otherwise it'll wait for you to power
        cycle the device. 
      * After handshaking, it changes the baud rate for faster
        transfers.
      * Command-line interface, easily scriptable.
      * 100 Bps download speed at 115200 baud!

It currently only supports three commands; ping, checksum and read.
write (0500) is next on my list; do we know how to change the NAND flash
yet? Is that 0E00?

BTW, there's a typo in the PBL spec --- the documentation for 0900 is
specifying that the baud rate should be passed in big-endian; it's
actually little-endian.

How to build:

	./configure
	make

How to use on the E2:

	./pblq read outputfile.img 0x80000000 0x10000

...and on the E3 (untested):

	./pblq -s 115200 read outputfile.img 0x80000000 0x10000

Let me know if it works, is useful, or is broken. (Tip: -v is helpful.)

...

Right. I now have a copy of the PBL flash image. Looking at it with a
hex editor, I notice immediately that my serial number seems to be in it
at 0xFF20. Can anyone confirm this? This would imply that each version
of PBL is unique. My MD5 is:

08f841b5a4c14052bcd94b25e1363120  pbl-flash.img

(That's the version read out of flash, as above, not the version in
RAM.)

I also notice that trying to read the contents of the NAND flash at
0x80010000, using the byte-at-a-time checksum technique, makes PBL very
unhappy. At one point I ended up with a file full of Qs; mostly PBL acts
oddly which makes pblq die with protocol errors. Any suggestions?

-- 
+- David Given --McQ-+ 
|  dg@cowlark.com    | "Two of my imaginary friends reproduced once ...
| (dg@tao-group.com) | with negative results." --- Ben, from a.s.r
+- www.cowlark.com --+ 

--=-ismXNkAMTzb2AO6bmqij
Content-Disposition: attachment; filename=pblq-0.1.tar.bz2
Content-Type: application/x-bzip-compressed-tar; name=pblq-0.1.tar.bz2
Content-Transfer-Encoding: base64

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


--=-ismXNkAMTzb2AO6bmqij--