Difference between revisions of "Sharp Mobilion Pro PV5000A"
Sjlongland (Talk | contribs) (→The plan: s/\d./#/ :-)) |
Sjlongland (Talk | contribs) m (→The plan) |
||
| Line 19: | Line 19: | ||
# Create a cross-compiler for mipsel-wince-pe target. | # Create a cross-compiler for mipsel-wince-pe target. | ||
# Create some simple programs to explore the system. The aim here is to try and discover where various devices are located. | # 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 [http://chortle.ccsu.edu/AssemblyTutorial/TutorialContents.html here]. |
# 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. | # 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. | ||
# Begin porting Linux. :-) | # Begin porting Linux. :-) | ||
Revision as of 05:37, 14 August 2005
Contents |
News
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.
Why?
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
- Create a cross-compiler for mipsel-wince-pe target.
- 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.
- 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.
- Begin porting Linux. :-)
Goal
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.
Motherboard: Top surface
Pulling up the keyboard, you'll see the top surface of the motherboard... shown in this photo.
Some of the ICs shown in the photo:
TOSHIBA B10415
9839KBD
JAPAN
TC5165165FTS-50
|
DRAM Memory |
TOSHIBA K97466 JAPAN 9838HAK TC58FVB400FT-05 |
FLASH (seems 28F400 compatible) |
TOSHIBA TC6345AF 9833FAI JAPAN |
|
EPSON
SED1354F0A
F98350199
JAPAN
|
LCD Controller ? |
JAPAN F01Z 0018 SNN 5165165FLTT6 |
Unknown |
SEC KOREA 837 JK416V1004CT-L5 |
Unknown |
Underside of the Motherboard
Flipping the board over, we reveal more ICs, including the CPU:
TOSHIBA
TMPR3922U
JAPAN 9842YAK
19468##
|
|
JAPAN F01Z 5165165FLTT6 0018 SNN |
Unknown |
TOSHIBA B10415
JAPAN
9839KBD
TC5165165FTS-50
|
Memory |
SC 12307-0J
836 137
|
Unknown |
TOSHIBA TC35143AF |
Toshiba analog frontend |
NEC JAPAN
D4722GS
9833P301
|
RS-232 Controller? |
The only IC I've identified thus far is the CPU... although I'll be pestering Google for info on the others shortly.