mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-14 02:27:39 -04:00
Gigabeat S bootloader: 1) Switch order of .vectors to be contiguous with initialized sections. 2) Clean all caches in main before doing anything else because vector copying counts as self-modifying code. Up to v.00000012.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17381 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
9a54d9645d
commit
0218397cf4
2 changed files with 16 additions and 13 deletions
|
@ -147,8 +147,11 @@ void main(void)
|
||||||
char tarstring[6];
|
char tarstring[6];
|
||||||
char model[5];
|
char model[5];
|
||||||
|
|
||||||
|
/* Flush and invalidate all caches (because vectors were written) */
|
||||||
|
invalidate_icache();
|
||||||
|
|
||||||
lcd_clear_display();
|
lcd_clear_display();
|
||||||
printf("Gigabeat S Rockbox Bootloader v.00000011");
|
printf("Gigabeat S Rockbox Bootloader v.00000012");
|
||||||
system_init();
|
system_init();
|
||||||
kernel_init();
|
kernel_init();
|
||||||
printf("kernel init done");
|
printf("kernel init done");
|
||||||
|
|
|
@ -57,25 +57,6 @@ SECTIONS
|
||||||
_dataend = . ;
|
_dataend = . ;
|
||||||
} > DRAM
|
} > DRAM
|
||||||
|
|
||||||
.stack :
|
|
||||||
{
|
|
||||||
*(.stack)
|
|
||||||
_stackbegin = .;
|
|
||||||
stackbegin = .;
|
|
||||||
. += 0x2000;
|
|
||||||
_stackend = .;
|
|
||||||
stackend = .;
|
|
||||||
} > IRAM
|
|
||||||
|
|
||||||
.bss :
|
|
||||||
{
|
|
||||||
_edata = .;
|
|
||||||
*(.bss*);
|
|
||||||
*(.ibss);
|
|
||||||
*(COMMON)
|
|
||||||
_end = .;
|
|
||||||
} > DRAM
|
|
||||||
|
|
||||||
.vectors 0x0 :
|
.vectors 0x0 :
|
||||||
{
|
{
|
||||||
_vectorsstart = .;
|
_vectorsstart = .;
|
||||||
|
@ -85,6 +66,25 @@ SECTIONS
|
||||||
} AT > DRAM
|
} AT > DRAM
|
||||||
_vectorscopy = LOADADDR(.vectors);
|
_vectorscopy = LOADADDR(.vectors);
|
||||||
|
|
||||||
|
.stack (NOLOAD) :
|
||||||
|
{
|
||||||
|
*(.stack)
|
||||||
|
_stackbegin = .;
|
||||||
|
stackbegin = .;
|
||||||
|
. += 0x2000;
|
||||||
|
_stackend = .;
|
||||||
|
stackend = .;
|
||||||
|
} > IRAM
|
||||||
|
|
||||||
|
.bss (NOLOAD) :
|
||||||
|
{
|
||||||
|
_edata = .;
|
||||||
|
*(.bss*);
|
||||||
|
*(.ibss);
|
||||||
|
*(COMMON)
|
||||||
|
_end = .;
|
||||||
|
} > DRAM
|
||||||
|
|
||||||
.devbss (NOLOAD) :
|
.devbss (NOLOAD) :
|
||||||
{
|
{
|
||||||
_devbssdata = .;
|
_devbssdata = .;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue