Sharp Mobilion Pro PV5000A

From LinuxMIPS
Revision as of 19:22, 17 August 2005 by Skylark (Talk | contribs)

Jump to: navigation, search


14/08/2005: Obtaining the tools & my plans

I've been chasing my tail lately, trying to build a cross-compile toolchain for the mipsel-wince-pe target. It seems this functionality disappeared from binutils back around 2.13 or so, 2.12.2 fails to compile.

I'm currently looking around. So far, I discovered this page which suggests using binutils-2.11.2 and gcc-3.03. Well, worth a try I guess :-), it also gives instructions on how to compile GUI apps for WinCE, so I think this will be a definate winner as far as aiding progress. I also managed to find this site which has loads of WinCE/MIPS stuff, including a POSIX library (celib) which may be useful for phase 2.

I've already managed to get a copy of the entire contents of the "Windows" directory of my PDA (thank you to the devs who made SynCE, it's a wonderful tool), and once I've got a toolchain, I should be able to pull those apart and have a look (I won't be posting code though for legal reasons -- Sure, I never agreed to any licence agreement, none came with the PDA, but I don't want to push my luck there) to see how everything fits together.


Currently, Windows CE 2.11/MIPS is practically dead. There's a couple of sites offering downloads for it, but the vast majority out there is for PPC200x/ARM. Drivers are even harder to find.

Linux on this machine, with a suitable embedded Desktop, should vastly improve the system's capabilities. It's much more modern, with many applications available. Combined with some sort of PCMCIA storage (PCMCIA IDE or SCSI, or perhaps a CF adaptor), it should be capable of running full distributions such as Debian/MIPS or Gentoo/MIPS. Running purely from RAM, things like Qtopia shouldn't be out of the question... and running such an open platform, opens up all sorts of possibilities, many which I haven't touched on yet.

The plan

  1. Create a cross-compiler for mipsel-wince-pe target.
  2. Create some simple programs to explore the system. The aim here is to try and discover where various devices are located.
    • (Me only) Learn some MIPS asm, I've already found what looks to be a fairly complete guide here.
  3. Make a first attempt at some non-trivial applications to interact with the hardware. Specifically, I'll be focussing on interaction with the screen, keyboard & serial interface.
  4. Begin porting Linux. :-)


Once Linux runs; (i.e. I can boot up to some sort of shell, possibly BusyBox and a µClibc environment), I'll look at how to package a distribution to run on the machine.

At the moment, due to the limited memory (32MB) and storage (none), I'm thinking about using QT's Qtopia to provide the full system. It's much more up to date than Windows CE 2.11, and should provide everything I need, whilst leaving sufficient memory over to do something useful.

Eventually, I'd like to burn this into the ROM somehow. The idea at present, is to try and implement the ROM as some sort of block device, with a small partition table. Put a bootloader in at the start, ideally, the kernel should stay in ROM, and be accessed directly. This will all become clearer though as I learn how to talk to the hardware in this device.

Almost certainly, I can forget a full distro like Gentoo or Debian, not without a fairly large root FS sitting on a PCMCIA flash drive of some description. Given the cost of these things, I don't see me trying this anytime soon.

System Specifications

  • CPU: Toshiba TX3922 129MHz MIPS 1. Little Endian.
  • RAM: 32MB
  • ROM: 16MB (Estimated) has Windows CE and numerous applications burned in.
  • Framebuffer: 640x480 12-bit colour. Unknown chipset.

I/O Peripherals:

  • LCD Touch Screen & keypad
  • 1x RS-232 serial port
  • 1x IRDA serial port
  • 1x PCMCIA socket

Operating System Support

Natively, they run Windows CE 2.11 H/PC PRO 3.0. There is some resources on the net to suggest NetBSD potentially runs, but I have not succeeded in this endeavour. I'm looking into the feasability of porting Linux onto these devices.

A look inside

I ended up pulling my unit apart tonight... finally got fed up of the wobbly power socket, so I thought I'd take a look. The power socket was fixed very easy... The solder connections were worn... in fact, I suspect a manufacturing fault. Not to worry though, a quick jab with a soldering iron soon fixed up what the ravages of time had slowly worn away.

I have raw images, straight from the camera here. These are 5MPixel shots.

Motherboard: Top surface

Pulling up the keyboard, you'll see the top surface of the motherboard... shown in this photo.

Sharp hpc pv5000a mb topside.jpg

Some of the ICs shown in the photo:

 TOSHIBA  K97466
 JAPAN   9838HAK

FLASH (seems 28F400 compatible, LVTTL)


buffer chip (PCMCIA) ?

 TOSHIBA  B10415


 0018     SNN

DRAM Memory ?


LCD Controller (now called S1D13504)


1Mx16 EDO DRAM, frame buffer for SED1354

Underside of the Motherboard

Flipping the board over, we reveal more ICs, including the CPU:

Sharp hpc pv5000a mb underside.jpg


Toshiba TX3922 129MHz MIPS 1 CPU

  JAPAN   F01Z
  0018     SNN


  TOSHIBA  B10415

DRAM Memory ?

  SC 12307-0J
    836 137  



Toshiba analog frontend


RS-232 Controller?

The only ICs I've identified thus far are the CPU and the LCD controller... although I'll be pestering Google for info on the others shortly.