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
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 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
This section describes the RockBox
port for the hardware. We are hosting our patch against Rockbox source here
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.
is already tested and actually launches applications that are flashed on DataFlash
memory starting at address 0x1000.
The Rockbox bootloader is an application that will be launched by bootstrap.
The following was code was implemented:
/* Initialize system */
/* 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 */
/* to initialize the Rockbox kernel. Kernel sleep() function is used on LCD, buttons and ATA drivers.*/
/* Initialize the LCD */
/* to initialize SPI bus communications. We use SPI to communicate with the LCD. */
/* to initialize the LCD. */
/* Initialize the buttons */
we don't have yet buttons hardware so we are using empty stubs.
/* 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 */
/* Initialize the SD card reader and the controller */
/* Mount all partitions of SD card. */
/* Load Rockbox firmware and start it */
load_firmware(loadbuffer, _BOOTFILE, MAX_LOADSIZE);
The firmware is loaded from the SD card by the bootloader and run it.
some work had been done.
We don't have yet the hardware for the audio codec IC so we are using empty stubs.
Topic discussions on Rockbox forum
All documentation to produce the RockboxPlayer
is under 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:
Copyright © by the contributing authors.