dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Search | Go
Wiki > Main > LyreProject > LyreLittlePrototype

Rockbox Player Little


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.


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 LyrePrototype page. We have one SVN server at 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.


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


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 */ DONE done.
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. Firmware is working, but we don't have the hardware for audio codec IC, so no sound is played yet.

Topic discussions on Rockbox forum


All documentation to produce the LyreProject 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:

I Attachment Action Size Date Who Comment
rockboxplayer_little-diagram-600x.pngpng rockboxplayer_little-diagram-600x.png manage 316.3 K 23 Aug 2008 - 11:10 JorgePinto  
r17 - 02 Apr 2021 - 20:46:07 - UnknownUser

Parents: WebHome > LyreProject
Copyright © by the contributing authors.