This is what went on before the site reorganisation. theres some information about Toshibas customer service, and much reverse assembly work.
I bought a Toshiba e740, fully intending to run Linux on it. Of course, no-one had ported it yet, but I wasn't about to let such piffling details bother me.
I have done a partial disassembly and analysis of the bootloader, and have also used this to write a C program to regenerate the devices memory map, based on data found inside the bootloader.
*UPDATE* (11/03/2003) Heres some further work done on the main() part of the bootloader, right up to the point (the only one AFAIK) where execution jumps to the kernel. This will come in handy when I get my PDA back…
I have found that there is a simple way to upload new code to this device - simply write a file titled 'KERNEL.nb0' to a compactflash card, and hold down 'home' and 'notes' (the two centre buttons), whilst performing a soft reset.
Im not certain how the new code begins executing. I *suspect* that it is executed linearly, from the very first byte in the image, however, this may not be the case.
Using my disassembled memory map, I am attempting to get the IrDA port working as a simple serial console.
So far the device simply resets on most attempts to do anything useful, however, this is, I feel, the right way to go. (27/02/2003).
I have been approached by someone who is planning on getting an e740 also, and who has done some neat diagrams. I will add these here soon, if I can
Oh, and heres some information on Toshibas customer support, btw.
01/04/2003 No, this *isnt* an april fool. I have code running on the e740. I can flash the status LED on and off now. The assembler source is here.
04/04/2003 Well, thanks to some comments from Ashwin Patwekar I have gotten IrDA to work. The image shows IR light as deteced by my camera, proving that the transceiver is active. Sourcecode is here.
02/05/2003 Just got my replacement PDA from Toshiba. They have kindly replaced my beleagured e740 with a *wonderful* e750. The good news is that the bootloader (albeit newer) still flashes images the same way. Interestingly, the WinCE image is 4MB smaller than before, and starts 256KB later in the ROM image. In anycase, it looks like linux should work very similarly on either an e740 or an e750. I'll test my IrDA and LED blinker programs tomorrow and see if they still work (if the GPIOs are the same). Its about 10,000,000 times faster at flashing its OS image, too, which is nice for reinstalling WinCE when i'm not hacking it.
09/05/2003 Quick update - the flashing on the e750 is not quite the same - the e740 would flash any old crap, the e750 will NOT. oh, and the e750 bootloader relocates to 0xa0078000 not 0xa0000000. I am reverse engineeriing the bootloader to find out WHY this is - probably a checksum.
15/05/2003
Another quickie. Managed to get some dialogue going with Tosh. I wonder what will come of it. They say the bootloader does some checks (duh!) and that its a business secret… the employee said they would like to see linux on the device though
27/05/2003 Hugo Fortier has replicated my success with his e740 and my GPIO_flasher program. Great news :)
15/06/2003 Hugo dug up this document describing the ce rom layout from (I think) a smartphone. May be a useful reference.
20/06/2003 I have some tools that may understand the checksum (which will save some time reverse engineering the bootloader). better still, I spent a few mins playing tonight (this morning?) and it turns out the bootloader doesnt care about anything beyond 2KBytes into the image in order to validate it. this makes things a bit easier. Well, bed time. I just need to flash wince back on the thing so its useful tomorrow…
08/07/2003 Dataworm has confirmed the framebuffer address is 0x0c100000. Great news!.
07/10/2003 Got linux up on the e740 today! heres a picture! Framebuffer address is not *quite* what we thought. close, though.
15/10/2003 Software has been running for a few days now. I thought I'd put up another screenie: picture. The IrDA dongle I bought isnt Linux compatible. I'll need to find a new one but they are REALLY expensive! Wolfson (the touchscreen and audio codec used in the e740 is by Wolfson) have been helpful too (without even asking!).