Difference between revisions of "Flameman/m105"

From eLinux.org
Jump to: navigation, search
 
(Overview)
Line 68: Line 68:
 
* '''LAN''' SPI-to-ethernet (it will be added soon)
 
* '''LAN''' SPI-to-ethernet (it will be added soon)
 
* '''UART''' RS232
 
* '''UART''' RS232
 +
* '''TOUCHSCREEN''' ads7843
 
* '''ROM''' ROM-2MB ... the label is unreadable,  i wander if it ~ to flash-sst39vf160 ~ 29LV160B-90(Fujitsu)
 
* '''ROM''' ROM-2MB ... the label is unreadable,  i wander if it ~ to flash-sst39vf160 ~ 29LV160B-90(Fujitsu)
 
* '''POWER''' 3.3V
 
* '''POWER''' 3.3V

Revision as of 09:23, 4 March 2009

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 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
  • TOUCHSCREEN ads7843
  • 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


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

M105b.jpg


About uClinux

what/where

dmesg

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

# 


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/