IMote2: Difference between revisions
From University of Washington - Ubicomp Research Page
Jump to navigationJump to search
mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
== Overview == | == Overview == | ||
The iMote2 is an embedded platform developed by researchers at Intel Santa Clara. It consists of an Intel PXA271 XScale processor, Chipcon CC2420 802.15.4 radio, and various expansion slots. The PXA271 consists of a Processor combined with 32MB of on-board Flash storage and 32MB of SRAM. | The iMote2 is an embedded platform developed by researchers at Intel Santa Clara. It consists of an Intel PXA271 XScale processor, Chipcon CC2420 802.15.4 radio, and various expansion slots. The PXA271 consists of a Processor combined with 32MB of on-board Flash storage and 32MB of SRAM. | ||
== Documentation == | |||
[{{SERVER}}/files/imote2/docs/PXA27x_Developers_Manual-280000003.pdf PXA27x Developers Manual - 280000003.pdf] | |||
Revision as of 00:06, 2 March 2007
Overview
The iMote2 is an embedded platform developed by researchers at Intel Santa Clara. It consists of an Intel PXA271 XScale processor, Chipcon CC2420 802.15.4 radio, and various expansion slots. The PXA271 consists of a Processor combined with 32MB of on-board Flash storage and 32MB of SRAM.
Documentation
PXA27x Developers Manual - 280000003.pdf
Flash Filesystem
The 32MB of flash is currently divided as shown on the right. The system consists of three main components:
Bootloader
-
The bootloader, called BLOB, is the first piece of software run when the iMote2 is booted. It does basic system startup and initialization of the various system components. For example, when the processor is turned on the system memory must be initialized, system clocks setup, GPIOs initialized, and the various system peripherals setup.
Once the bootloader has finished initializing the system it is setup to automatically boot the Linux kernel. However, BLOB has several additional modules and plugins that allow for programming of the system via serial, Ethernet, or USB programming. Currently various parts of the programming via BLOB system are working; however, some are not. Nearly all programming is simply carried out by using JTAG flash programming.
Linux Kernel
-
The Linux kernel is stored in a special area of FLASH instead of on the flash filesystem on the iMote2. Traditionally the kernel is read from a mounted filesystem by the bootloader and then loaded; however, due to the setup of our system we instead have a dedicated section of FLASH memory where the kernel resides.
Note: If your kernel is larger than the 2MB window allocated than the kernel will be corrupted by filesystem programming, or the filesystem will be corrupted.
JFFS2 Filesystem
-
The main root filesystem on the iMote2 is stored at the end of the FLASH memory range as a JFFS2 filesystem. JFFS2 is a journaling filesystem incorporating compression, wear leveling, versioning, and garbage collection. Since FLASH memories wear out after ~10,000 write operations it’s necessary to use wear leveling to avoid damaging frequently used portions of the memory.
While the JFFS2 filesystem uses wear leveling it is best to not have your applications write to the / root filesystem. Instead it is preferable to use the mounted miniSD storage card as it should provide faster and less resource consuming storage.
Board Images
Overview Images