From: eLinux.org
Didj
This device is part of the LeapFrog Pollux
Platform, it’s
recommended to start there for general information.
The LeapFrog Didj
Contents
- 1 Summary
- 2 Platform
- 3 Boot Loader
- 4 Sources and Toolchains
- 5 Tutorials/How To’s
- 6 Development Scripts and
Programs - 7 Technical Information
- 8 Images
- 9 External Links
Summary
The Didj was a toy produced by Leapfrog marketed for educational games
for children aged 5-10.
Didj was end-of-lifed by Leapfrog in mid-2010. It has been replaced by
the Leapster Explorer.
Although Didj has a proprietary graphical front end, it runs a generic
Linux distribution on an Arm based processor. Soon after the Didj’s
release, it was discovered that the cartridge port contained pins that
allowed for serial console access with root privileges. After this
discovery, work began to modify the Didj into an accessible emulation
device.
Since development began, much has been accomplished, including:
- Discovered that the Arm chip is the same as on the GP2X
Wiz, only at a lower clock speed. - Created cartridges that support SD cards
- Accessed the UART features in the cartridge slot
Platform
The Didj is part of 3 different devices that all share a common hardware
platform, based around the Pollux SoC. The platform
page contains information generic across these devices, and it is
recommended that you refer to that page as it is a good starting point
to understanding the Didj, and contains some basic How To’s and
Tutorials to get you started.
Boot Loader
Sources and Toolchains
Tutorials/How To’s
General
Networking
- Enable Networking via USB
Gadget - Install Dropbear
SSH - Playing MP3 network streams and
files - Networking
Setup - Networking
Applications - Internet Access from
Device - Mount NFS
Directory
USB Storage
Cartridge
Flash NAND
Firmware Image
-
- Relevant Settings
- Correct endianess
-
- Relevant Settings
- -e 128
- -p
Kernel/RootFS/Firmware
- Building
libSDL - Building SDL_ttf font
library - Building SDL_image library with jpg and png
support - Building SDL_mixer audio
library - Building
tslib - SDL
Resources - Didj Kernel 2.6.31
Upgrade - 2.6.31 Kernel for
Didj - Boot Kernel and Rootfs from SD
w/Framebuffer - Linux Framebuffer
Driver - Enable SD Card
Module - Building The Explorer Root File
System - Changing the fb driver to display the boot logo
correctly - TV
Out - Generic Buildroot Rootfs and Kernel
build
Games and Emulators
Brio Development
JTAG
Compiling Source Code
Development Scripts and Programs
- LF1000 UART Bootstrap
Utility
written in Python - LF1000 UART Bootstrap
Utilities
based on the OMAP boot utilities from TI
Technical Information
File System Info
- rootfs / rootfs rw
- /dev/root / jffs2 ro
- none /proc proc rw
- sysfs /sys sysfs rw
- /dev/ram0 /tmp tmpfs rw
- /dev/mtdblock1 /flags jffs2 rw,sync,noatime
- /dev/mtdblock2 /mfgdata jffs2 ro,sync,noatime
- /dev/mtdblock10 /Didj vfat
rw,noatime,fmask=0022,dmask=0022,codepage=cp437,iocha rset=iso8859-1 - /dev/mtdblock11 /Cart vfat
ro,noatime,fmask=0022,dmask=0022,codepage=cp437,iocha rset=iso8859-1
Filesystem Size Mounted on
/dev/mtdblock6 14.0M /
/dev/mtdblock1 896.0k /flags
/dev/mtdblock2 1.0M /mfgdata
/dev/mtdblock9 215.8M /Didj
Active Kernel/Rootfs
Near the begging of the boot message you should see one of two root
options:
root=31:04
You are using mtd4: 00e00000 00020000 “Linux_RFS0” or
root=31:06
You are using mtd6: 00e00000 00020000 “Linux_RFS1”
Partitions
Name | Location | Size | Device | Notes |
LF1000_uniboot | 0x00000000 | 0x00020000 | /dev/mtd0 | Lightning Boot |
Atomic_Boot_Flags | 0x00020000 | 0x000E0000 | /dev/mtd1 | On NAND |
Manufacturing_Data | 0x00100000 | 0x00100000 | /dev/mtd2 | On NAND |
Kernel0 | 0x00200000 | 0x00200000 | /dev/mtd3 | On NAND |
Linux_RFS0 | 0x00400000 | 0x00E00000 | /dev/mtd4 | On NAND |
Kernel1 | 0x01200000 | 0x00200000 | /dev/mtd5 | On NAND |
Linux_RFS1 | 0x01400000 | 0x00E00000 | /dev/mtd6 | On NAND |
Brio | 0x02200000 | 0x0DE00000 | /dev/mtd7 | On NAND |
EXT | 0x10000000 | 0x10000000 | /dev/mtd8 | |
Cartridge | 0x00000000 | 0x10000000 | On Cartridge NAND |
Battery Compartments
The Didj has two identical battery compartments, the combined collection
of batteries are wired in series.
- Battery Compartment Terminals:
- Term 1 - Battery +
- Term 2 - Temp Sensor + Wired to Pollux pins K20 / GPIOA 28 and
K21 / GPIOA 29 - Term 3 - Temp Sensor -
- Term 4 - Battery -
Rechargeable Batteries
In addition to the terminals facing the Didj’s contacts, there are
another set of contacts facing away from the Didj. These contacts are
duplicates used by the charging station. The batteries themselves are
NIMH cells, producing around 2.5v per pack when fully charged.
Recharging Station
The recharger station contains a battery charge circuit with temperature
monitoring. The station also has a pair of contacts that duplicate the
9V dc barrel jack.
SSP / SPI Controller Didj SPI
Info
Images
- PCB Images
Error creating thumbnail: Invalid thumbnail parameters
Front side mainboard, with LF1000 CPU and SDRAM de-soldered.
-
Close up of the LF1000 CPU ball-grid.
Error creating thumbnail: Invalid thumbnail parameters
Back side mainboard, with cartridge socket and NAND de-soldered.
-
Front side mainboard
-
Back side mainboard