Difference between revisions of "Palm-m105-m68328"

From eLinux.org
Jump to: navigation, search
m (Palm-m105-m68328-Flameman moved to Palm-m105-m68328: no need for the -Flameman)
Line 1: Line 1:
= Palm-m105-m68328-Flameman =
+
PLEASE REMOVE THIS PAGE
 
 
== Note ==
 
 
 
i'm developing for this board, the wiki page will be improved soon
 
 
 
feel free to contact me (see the contact below)
 
 
 
== Introduction ==
 
 
 
The Target-goal of this page is
 
* install uClinux into flash
 
* make the board able to boot it
 
* describe how to flash
 
 
 
 
 
=== People you could contact if you need help ===
 
 
 
 
 
* flameman, i'm currently use this board for a project, email
 
** msn daredevil-coder@hotmail.it
 
** email flamemaniii@gmail.com
 
** irc.nick flameman (channel #edev, #gentoo-ppc)
 
* you ... if you want ;-)
 
 
 
----------------
 
 
 
=== About this project ===
 
 
 
hello
 
i am opening this thread to ask if somebody knows about the port of uclinux to the palm 68k PDA.
 
from what has been written in their uclinux-web and what you can read from browsing the linux sources, it seems something code is really existing about a real physical port to this target
 
(even if somebody is talking about "virtual port", meaning the target is a palm emulator)
 
 
 
I really hacked the palm who is called "m105". I do it to force the cpu (68328, m68k family) to bootstrap with the serial bootstrap mode (a special bootstrap mode which only the 328 is provided with)
 
 
 
So i am able to compile a tiny c or assembly code ("hello world", "ROM dumper", and something as easy as these apps), to download and to execute it
 
 
 
unfortunately i have a few issues with the memory map (so with the gnu linker script) that makes me impossible to write applications bigger than 1kbyte
 
 
 
i wander if there is some documentation / hacks or real port of something working that could help me to fix my issues
 
 
 
googling i found there is a compiled uclinux image from http://palm-linux.sourceforge.net/
 
it use useless, it doesn't work with my m105 display (information reported to this URL is partially wrong, the m105 has no frame buffer support, i can appreciate), but it works serially: it shows me something was done, and it works, so it helps me to have HOPE about success
 
 
 
I emailed the uclinux mail list with still nothing answered: it seems nobody is being working for years
 
also all the old web materials seem to be lost: a lot of broken links
 
 
 
 
 
have you read something about ?
 
have you collaborated or worked on this project ?
 
 
 
it should be an interesting embedded study opportunity
 
 
 
=== About the board ===
 
 
 
First let's get into the hardware stuff. Many wonderful things can be discovered by consulting the MC68328 DragonBall ™ User's Manual. Read this cover to digital cover and you will gain endless insights on what your Pilot is capable of. Many of these capabilities are not exposed by the PalmOS so if you want 'em you'll have to be prepared to go direct. WARNING: one of the primary purposes of the PalmOS (and most operating systems) is to isolate you from the specifics of the hardware. A Pilot application that writes exclusively to the PalmOS APIs has a good chance of being fully portable to other platforms running the PalmOS (e.g., the Emulator running on the Mac, new hardware devices). Writing directly to the hardware is like playing with fire -- you might get burned as USRobotics and their licensees release new hardware, operating system upgrades, etc. Plus, since the multitasking PalmOS manages and uses much of the hardware you may be interested in playing with there's a good chance conflicts will arise with unexpected consequences. On the other hand, fire is pretty cool and so are some of the nifty DragonBall capabilities the PalmOS doesn't provide access to (yet).
 
 
 
Starting at address $fffff000 you can find the 68328 registers. These are not the CPU registers but a block of registers (~130 total) that control hardware functions like interrupts, parallel I/O (hey, I don't see a parallel port on my Pilot!), audio, timers, serial I/O, the LCD display, and the Real Time Clock. What these registers are do are beyond the scope of this document (and in many cases beyond the scope of my knowledge!) but I'll call out a couple here to give you an idea of what can be found.
 
 
 
 
 
=== Overview ===
 
 
 
The board (palm m105) consists of:
 
 
 
* '''CPU''' MC68EZ328-16Mhz
 
* '''RAM''' soldered 8MB-edo-k4e641612d
 
* '''LAN''' SPI-to-ethernet (it will be added soon)
 
* '''UART''' RS232
 
* '''ROM''' ROM-2MB ... the label is unreadable,  i wander if it ~ to flash-sst39vf160 ~ 29LV160B-90(Fujitsu)
 
* '''POWER''' 3.3V
 
* '''System''' PCB xxx cm x xxx cm
 
* '''RTC''' the real time clock chip inside the cpu
 
 
 
=== Memory Locations ===
 
 
 
memory map of the board will be added as soon as possible
 
 
 
 
 
{| border="1" cellspacing="0" cellpadding="5" align="center"
 
! addr begin
 
! addr end
 
! area
 
|-
 
| ...
 
| ??
 
| ram, userspace
 
|-
 
| 00400000
 
| ??
 
| ram, userspace
 
|-
 
| 00000400
 
| 00007fff
 
| ram, my.userspace
 
|-
 
| 00000000
 
| 000003ff
 
| 68k vectors, including traps starting at $80 for instance trap #15 at $bc point to $10c03656
 
|-
 
| 00000000
 
| 00007fff
 
| Dynamic RAM. The 68k vectors are in Dynamic RAM.
 
|-
 
| 00008000
 
| 0fffffff
 
| Faults on access attempt
 
|-
 
| 10000000
 
| 10007fff
 
| Mirror of the 00000000-00007fff range above (RO w/o permission)
 
|-
 
| 10008000
 
| 1001ffff
 
| Storage RAM on 128k machine (RO w/o permission)
 
|-
 
| 10020000
 
| 1003ffff
 
| Out of bounds but doesn't cause a fault
 
|-
 
| 10040000
 
| 10bfffff
 
| Faults on access attempt
 
|-
 
| 10c00000
 
| 10c7ffff
 
| 512K ROM!
 
|-
 
| fffff000
 
| fffffb12
 
| DragonBall registers
 
|}
 
 
 
 
 
Open questions
 
--------------
 
...
 
 
 
=== Problems ===
 
 
 
...
 
 
 
=== Images of the board ===
 
 
 
[[Image:m105b.jpg]]
 
 
 
 
 
=== About uClinux ===
 
 
 
==== what/where ====
 
 
 
* '''kernel 2.4.x''' there is a port of cLinux http://palm-linux.sourceforge.net/
 
 
 
==== dmesg ====
 
 
 
<pre>
 
68EZ328 DragonBallEZ support (C) 1999 Rt-Control, Inc
 
 
 
uClinux/MC68EZ328
 
Flat model support (C) 1998,1999 Kenneth Albanowski, D. Jeff Dionne
 
PalmV support by Lineo Inc. <jeff@uClinux.com>
 
Console driver (without boot console): mono mc68328 40x26, 1 virtual console (max 63)
 
Calibrating delay loop.. ok - 1.36 BogoMIPS
 
Memory available: 1108k/1608k RAM, 0k/0k ROM (924k kernel data, 422k code)
 
Swansea University Computer Society NET3.035 for Linux 2.0
 
NET3: Unix domain sockets 0.13 for Linux NET3.035.
 
Swansea University Computer Society TCP/IP for NET3.034
 
IP Protocols: ICMP, UDP, TCP
 
uClinux version 2.0.38.1pre3 (root@meteor) (gcc version 2.7.2.3) #2 Tue Jun 20 01:39:24 CDT 2000
 
MC68328 serial driver version 1.00
 
ttyS0 at 0xfffff900 (irq = 64) is a builtin MC68328 UART
 
Ramdisk driver initialized : 16 ramdisks of 4096K size
 
Blkmem copyright 1998,1999 D. Jeff Dionne
 
Blkmem copyright 1998 Kenneth Albanowski
 
Blkmem 1 disk images:
 
0: 6B090-B248F (RO)
 
PPP: version 2.2.0 (dynamic channel allocation)
 
TCP compression code copyright 1989 Regents of the University of California
 
PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
 
PPP line discipline registered.
 
SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256).
 
CSLIP: code copyright 1989 Regents of the University of California.
 
Open of blkmem arena 0 at 6b090, length 47400
 
VFS: Mounted root (romfs filesystem) readonly.
 
 
 
 
 
Welcome to uClinux/Pilot!
 
 
 
uClinux release 2.0.38.1pre3/Pilot release 1.0.0
 
 
 
#
 
</pre>
 
 
 
 
 
 
 
=== About firmware ===
 
 
 
I am replacing the firmware: a MON is in developing
 
With an hw hack I am able to force the CPU to boot into the special serial bootstrap mode, so i can upload the firmware by UART
 
There is a lot to work to support the hw
 
 
 
=== About devtools ===
 
 
 
palmOS dev tools are not still available, so I don't know how to compile what has been developed by the sourceforge team
 
 
 
you can find something useful here http://www.cs.cmu.edu/~pprk/
 
 
 
http://prc-tools.sourceforge.net/
 
 
 
M68k Boot loader idea
 
http://www.mac.linux-m68k.org/
 

Revision as of 17:15, 28 February 2009

PLEASE REMOVE THIS PAGE