Palm-m105-m68328

From eLinux.org
Revision as of 07:56, 27 December 2008 by Flameman (talk | contribs) (Memory Locations)
Jump to: navigation, search

Palm-m105-m68328-Flameman

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, email speeder@alice.it msn daredevil-coder@hotmail.it
  • 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
  • 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


addr begin addr end area
... ?? ram, userspace
400000 ?? ram, 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

M105b.jpg


About uClinux

what/where

dmesg

.

.

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/