Find a file
Aidan MacDonald 02d317a3f4 arm: add nvic_disable_irq_sync()
Disabling an IRQ in the NVIC may not take effect right away;
if the IRQ is being disabled to implement a critical section
it's necessary to follow up with dsb + isb to serialize the
NVIC update. Add a helper function for doing this.

Change-Id: Iaaa238ad39997cc3c6d62867d265cf9e9e0e5c4b
2026-02-22 20:53:53 -05:00
android
apps FS#13788 - Updated Slovak Translation (Matej Golian) 2026-02-22 14:35:43 -05:00
backdrops Rockbox for the HiBy R3 Pro II/R1 2025-12-27 15:44:54 -05:00
bootloader mrobe500: Allow bootloader build without HAVE_BOOTLOADER_USB_MODE 2026-02-07 10:48:22 -05:00
docs plugins: Convert all plugins to using mixer API for playback 2026-02-22 08:15:14 -05:00
firmware arm: add nvic_disable_irq_sync() 2026-02-22 20:53:53 -05:00
fonts
icons
lib cleanup: Get rid of erroneous execututable bit on various source files 2026-02-19 07:54:35 -05:00
manual Remove Creative Zen Vision and Vision:M ports 2026-02-06 07:31:54 -05:00
packaging rgnano: rbutil support and manual updates 2026-01-03 20:03:12 -05:00
tools configure: add ability to select plugins to build in --plugins flag 2026-02-16 13:42:58 +02:00
uisimulator Remove Creative Zen Vision and Vision:M ports 2026-02-06 07:31:54 -05:00
utils cleanup: Get rid of erroneous execututable bit on various source files 2026-02-19 07:54:35 -05:00
wps Rockbox for the HiBy R3 Pro II/R1 2025-12-27 15:44:54 -05:00
.gitattributes
.gitignore tools: add RegGen utility 2025-12-29 18:51:56 -05:00
.gitreview

               __________               __   ___.
     Open      \______   \ ____   ____ |  | _\_ |__   _______  ___
     Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  /
     Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
     Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
                       \/            \/     \/    \/            \/

Build Your Own Rockbox

1. Clone 'rockbox' from git (or extract a downloaded archive).

   $ git clone git://git.rockbox.org/rockbox

     or

   $ tar xJf rockbox.tar.xz

2. Create a build directory, preferably in the same directory as the firmware/
   and apps/ directories. This is where all generated files will be written.

   $ cd rockbox
   $ mkdir build
   $ cd build

3. Make sure you have mips/m68k/arm-elf-gcc and siblings in the PATH. Make sure
   that you have 'perl' in your PATH too. Your gcc cross compiler needs to be
   a particular version depending on what player you are compiling for. These
   can be generated using the rockboxdev.sh script in the /tools/ folder of the
   source.

   $ which arm-elf-eabi-gcc
   $ which perl

4. In your build directory, run the 'tools/configure' script and enter what
   target you want to build for and if you want a debug version or not (and a
   few more questions). It'll prompt you. The debug version is for making a
   gdb version out of it. It is only useful if you run gdb towards your target
   Archos.

   $ ../tools/configure

5. *ploink*. Now you have got a Makefile generated for you.

6. Run 'make' and soon the necessary pieces from the firmware and the apps
   directories have been compiled, linked and scrambled for you.

   $ make
   $ make zip

7. unzip the rockbox.zip on your music player, reboot it and
   *smile*.

If you want to build for more than one target, just create several build
directories and create a setup for each target:

   $ mkdir build-fuzeplus
   $ cd build-fuzeplus
   $ ../tools/configure

   $ mkdir build-xduoox3
   $ cd build-xduoox3
   $ ../tools/configure

Questions anyone? Ask on the mailing list or on IRC. We'll be happy to help you!