1
0
Fork 0
forked from len0rd/rockbox

Working ROLO for the Gigabeat F/X

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17304 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Karl Kurbjun 2008-05-02 03:27:17 +00:00
parent a74d15025e
commit 6c6a2ed910
2 changed files with 8 additions and 3 deletions

View file

@ -41,7 +41,7 @@
#endif #endif
#if !defined(IRIVER_IFP7XX_SERIES) && \ #if !defined(IRIVER_IFP7XX_SERIES) && \
(CONFIG_CPU != PP5002) && (CONFIG_CPU != S3C2440) (CONFIG_CPU != PP5002)
/* FIX: this doesn't work on iFP, 3rd Gen ipods */ /* FIX: this doesn't work on iFP, 3rd Gen ipods */
#define IRQ0_EDGE_TRIGGER 0x80 #define IRQ0_EDGE_TRIGGER 0x80
@ -168,7 +168,7 @@ void rolo_restart(const unsigned char* source, unsigned char* dest,
"mov pc, r0 \n" "mov pc, r0 \n"
); );
#elif defined(CPU_TCC780X) || (CONFIG_CPU==IMX31L) #elif defined(CPU_TCC780X) || (CONFIG_CPU==IMX31L) || (CONFIG_CPU == S3C2440)
/* Flush and invalidate caches */ /* Flush and invalidate caches */
invalidate_icache(); invalidate_icache();
@ -226,7 +226,7 @@ int rolo_load(const char* filename)
length = filesize(fd) - FIRMWARE_OFFSET_FILE_DATA; length = filesize(fd) - FIRMWARE_OFFSET_FILE_DATA;
#if defined(CPU_COLDFIRE) || defined(CPU_PP) || (CONFIG_CPU==DM320) \ #if defined(CPU_COLDFIRE) || defined(CPU_PP) || (CONFIG_CPU==DM320) \
|| defined(CPU_TCC780X) || (CONFIG_CPU==IMX31L) || defined(CPU_TCC780X) || (CONFIG_CPU==IMX31L) || (CONFIG_CPU == S3C2440)
/* Read and save checksum */ /* Read and save checksum */
lseek(fd, FIRMWARE_OFFSET_FILE_CRC, SEEK_SET); lseek(fd, FIRMWARE_OFFSET_FILE_CRC, SEEK_SET);
if (read(fd, &file_checksum, 4) != 4) { if (read(fd, &file_checksum, 4) != 4) {

View file

@ -33,6 +33,11 @@ MEMORY
SECTIONS SECTIONS
{ {
/* This nice little hack is to trick ROLO into loading in a certain place
* CRT0.s takes care of making sure the code is where it needs to be
*/
loadaddress = 0x31000000;
.vectors DRAMORIG : .vectors DRAMORIG :
{ {
_vectorstart = .; _vectorstart = .;