|
||||||||||||||
Rockbox Player LittleObjectivesMake 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.HardwareThe 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 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.SoftwareThis section describes the RockBox port for the hardware. We are hosting our patch against Rockbox source here.BootstrapStatus - 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 bootloaderThe Rockbox bootloader is an application that will be launched by bootstrap. The following was code was implemented: /* Initialize system */ 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. kernel_init(); /* to initialize the Rockbox kernel. Kernel sleep() function is used on LCD, buttons and ATA drivers.*/ /* Initialize the LCD */ 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. 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. 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. load_firmware(loadbuffer, _BOOTFILE, MAX_LOADSIZE); Rockbox firmwareThe firmware is loaded from the SD card by the bootloader and run it. Status - 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 forumLicenseAll documentation to produce the LyreProject 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: http://www.rockbox.org/twiki/bin/view/Main/LyreProject
r17 - 02 Apr 2021 - 20:46:07 - UnknownUser
Copyright © by the contributing authors.
|