Rockbox mail archiveSubject: Re: Improved crt0-pp.S for PortalPlayer targets (iPod, H10 and Sansa)
Re: Improved crt0-pp.S for PortalPlayer targets (iPod, H10 and Sansa)
From: Barry Wardell <barry.wardell_at_gmail.com>
Date: Mon, 11 Dec 2006 03:00:33 +0000
Updated version of the patch. This now works on H10 and iPod color,
but needs testing on at least iPod 3g before I will commit it.
On 12/9/06, Barry Wardell <barry.wardell_at_gmail.com> wrote:
> I tested this on an iPod color without success so far. For some
> reason, the new bootloader crashes before even showing anything on the
> LCD. I've also had a similar report with an iPod nano.
> On 12/5/06, Barry Wardell <barry.wardell_at_gmail.com> wrote:
> > Hi,
> > I've been working with Daniel Ankers on getting a dual bootloader
> > working on the Sansa (and also on the H10). In doing so, it was
> > necessary to make some changes to crt0-pp.S (patch attached). The
> > purpose of the changes was to:
> > * Make sure only the CPU clears the BSS (not the COP)
> > * Give the CPU and COP separate stacks
> > * Make the bootloader run from IRAM so it's not overwriting the SDRAM
> > * Flushing the cache as appropriate (before waking up the COP)
> > * Remove the unused DEBUG and STUB code (which was only ever used for
> > the iFP port afaik)
> > I'm told that the current crt0-pp.S in CVS is very very multiprocessor
> > unsafe because of the reasons fixed in this patch, so it's quite
> > possible that some random behaviour in iPods may also be fixed by
> > this, particularly things related to the COP.
> > I've tested on my own H10 and Sansa with great results - dual booting
> > works now where it didn't before. However, I don't have an iPod to
> > test on so I'm asking for people to help with testing it. Both
> > bootloader and normal builds need testing and it would also be good to
> > know if a new bootloader works with an old build of Rockbox and vice
> > versa (this wasn't the case with my H10 but was with the Sansa). It
> > needs to be tested to see if Rockbox loads OK and if playback, etc.
> > still works as it did previously.
> > Thanks,
> > Barry