Commit graph

60 commits

Author SHA1 Message Date
Barry Wardell
84b509dc43 FS#6554. Move bootloader code into a common file. Only PortalPlayer devices (iPods, H10, Sansa) are affected for the moment. Someone with access to (and no fear of bricking) an X5, H100, H300 and Gigabeat should try to adapt those bootloaders to also use the code in common.c. The (non-working) patch in the tracker would be a good place to start with this.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12136 a1c6a512-1295-4272-9138-f99709370657
2007-01-28 18:42:11 +00:00
Barry Wardell
2f16d4f1b3 Add working dual-boot bootloaders for H10 and Sansa, which allow booting the OF and Rockbox. Rolo also works.
Changes made:

Combine bootloader/h10.c and bootloader/e200.c into a common bootloader file (bootloader/main-pp.c) to be used by all mi4 based PortalPlayer targets. The file bootloader/main-pp.c is based off the old bootloader/h10.c with some minor changes to allow it to work on the Sansa too. This effectively adds a Sansa bootloader.

Define MODEL_NAME string in config-*.h for use in bootloader.

Split crt0-pp.S into separate files for bootloader and normal builds. Bootloader code is now in crt0-pp-bl.S while normal build code stays in crt0-pp.S.

Improvements to crt0-pp.S and crt0-pp-bl.S (mostly to make it more multiprocessor safe):
* Leave space in bootloader at 0xe0-0xeb since scramble writes over there when it creates the mi4 file (don't leave space for iPods since it's not needed and all code in crt0-pp-bl.S needs to fit before the boot_table at 0x100).
* Remove unused DEBUG and STUB code from crt0-pp.S.
* Make CPU wait for COP to be sleeping when we put the COP to sleep.
* Invalidate COP cache when COP wakes
* Flush CPU cache before waking COP
* Make sure only the CPU clears the BSS (not the COP)
* Make sure only the CPU sets up its own stack (not the COP)

Rolo works on H10, so enable it.

Make Sansa e200 use rockbox.e200 rather than PP5022.mi4 for 'Normal' builds. This makes updating rockbox simpler as we don't need to go through the firmware update procedure, but rather just put a new rockbox.e200 on the device. rockbox.e200 uses a simple 'add' checksum.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11815 a1c6a512-1295-4272-9138-f99709370657
2006-12-19 11:33:53 +00:00
Dave Chapman
657dcb5165 Initial commit of work for port to the Tatung Elio TPJ-1022 - yet another PortalPlayer PP5020 target.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10828 a1c6a512-1295-4272-9138-f99709370657
2006-08-31 19:19:35 +00:00
Daniel Stenberg
70c8b75ab7 use h10.c for H10 GB as well
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10678 a1c6a512-1295-4272-9138-f99709370657
2006-08-21 15:14:50 +00:00
Marcoen Hirschberg
0a0682474e initial gigabeat bootloader (only test code)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10536 a1c6a512-1295-4272-9138-f99709370657
2006-08-12 08:27:48 +00:00
Dave Chapman
8cc73f152b Check for IPOD_ARCH instead of PP5002/PP5020 to decide when to build ipod.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10401 a1c6a512-1295-4272-9138-f99709370657
2006-08-01 23:28:39 +00:00
Daniel Stenberg
0fc30d1174 added mostly dummy changes to allow building of a Sansa e200 bootloader
without functionality


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10399 a1c6a512-1295-4272-9138-f99709370657
2006-08-01 22:28:14 +00:00
Dave Chapman
fa74356083 iPod 3G support in Bootloader from Seven Le Mesle
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8587 a1c6a512-1295-4272-9138-f99709370657
2006-02-05 19:05:55 +00:00
Dave Chapman
38e8fb65d8 Initial check-in of work-in-progress iPod bootloader. Current targets are iPod Color/Photo and iPod Nano.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7784 a1c6a512-1295-4272-9138-f99709370657
2005-11-08 00:52:39 +00:00
Linus Nielsen Feltzing
d397145554 iRiver Boot loader
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5694 a1c6a512-1295-4272-9138-f99709370657
2005-01-28 12:51:10 +00:00