release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Wiki > Main > LyreLittlePrototype (compare)

Difference: LyreLittlePrototype (r15 vs. r14)

Rockbox Player Little

Objectives

Make a simple and cheap DIY kind of prototype for be able to promote the Rockbox Player idea near to the companies that already produce and sells online electronics systems as the Olimex or Sparkfun.

We are a few individuals who believes on possibility of building our own DAP from the scratch, since the hardware to the firmware. We don't own any electronics company and as that we just can build our hardware using cheap and world available electronics parts - final prototype will not look as good as any commercial device. We believe that then we can convince some electronics companies to build and sell our own player to us but with all the characteristic as any commercial device.

Hardware

The prototype is based on a development board and have one color LCD?, a connector for one SD flash memory card, one output audio jack, buttons and some batteries.

The MCU is one ARM9 operating at 180MHz (maximum). The memories are: 64MB SDRAM and 2MB DataFlash memory. The Rockbox bootloader will be stored on the 2MB DataFlash memory while the Rockbox firmware and audio data files will the stored on SD flash memory card.

Please read more about hardware used on RockboxPlayerPrototype? page. We have one SVN server at code.google with an initial port code and with more information about the tools we are using as the JTAG hardware debugger, OpenOCD, Sam-ba and Eclipse.

Software

This section describes the RockBox port for the hardware. We are hosting our patch against Rockbox source here.

Bootstrap

Status - DONE done.

The AT91SAM9260? will boot directly from DataFlash memory. A program called Bootstrap will run on boot and will launch another application - the Rockbox bootloader. Bootstrap also initializes the SDRAM and various peripherals of MCU.

The Bootstrap is already tested and actually launches applications that are flashed on DataFlash memory starting at address 0x1000.

Rockbox bootloader

The Rockbox bootloader is an application that will be launched by bootstrap.

The following was code was implemented:

/* Initialize system */ DONE done.
system_init(); /* to initialize some peripherals. Bootstrap already did initialize the SDRAM controller, the SDRAM, etc, so not need to do much on this stage. */

/* Initialize the kernel */ DONE done.
kernel_init(); /* to initialize the Rockbox kernel. Kernel sleep() function is used on LCD, buttons and ATA drivers.*/

/* Initialize the LCD */ DONE done.
spi_init(); /* to initialize SPI bus communications. We use SPI to communicate with the LCD. */
lcd_init(); /* to initialize the LCD. */

/* Initialize the buttons */ ALERT!DONEwe done. don't have yet buttons hardware so we are using empty stubs.
button_init(); /* to initialize the buttons - configure the MCU IOs that connect to buttons, as digital inputs. */

/* Initialize ATA (SD card reader) and mount the FAT file system partition on SD card */ DONE done.
storage_init(); /* Initialize the SD card reader and the controller */
disk_mount_all(); /* Mount all partitions of SD card. */

/* Load Rockbox firmware and start it */ DONE done.
load_firmware(loadbuffer, _BOOTFILE, MAX_LOADSIZE);

Rockbox firmware

The firmware is loaded from the SD card by the bootloader and run it.

Status - ALERT!some work had been done. We Firmware is working, but we don't have yet the hardware for the audio codec IC IC, so we are using empty stubs. no sound is played yet.

Topic discussions on Rockbox forum

License

All documentation to produce the RockboxPlayer is under license:

Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.

If you use this work, you must reference this project as "Rockbox Player" and use this link: http://www.rockbox.org/twiki/bin/view/Main/RockboxPlayer

r16 - 23 Mar 2009 - 08:36:21 - DanielStenberg

Revision r15 - 18 Feb 2009 - 23:44 - JorgePinto
Revision r14 - 12 Feb 2009 - 16:16 - JorgePinto
Copyright by the contributing authors.