aboutsummaryrefslogtreecommitdiffstats
path: root/os/ports
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-09-21 10:39:16 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-09-21 10:39:16 +0000
commit442fea6ed3ad06974cbc224b4f719ddd08192f91 (patch)
tree16780d9a2ea56cb8bb69b6eed9f43bb9b42b6b54 /os/ports
parent7a68e17dd09c3c148ba9d50a5728491988940d69 (diff)
downloadChibiOS-442fea6ed3ad06974cbc224b4f719ddd08192f91.tar.gz
ChibiOS-442fea6ed3ad06974cbc224b4f719ddd08192f91.tar.bz2
ChibiOS-442fea6ed3ad06974cbc224b4f719ddd08192f91.zip
Systick works now, better SPC560P ME support.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4707 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/ports')
-rw-r--r--os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P44.ld10
-rw-r--r--os/ports/GCC/PPC/crt0.s1
2 files changed, 8 insertions, 3 deletions
diff --git a/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P44.ld b/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P44.ld
index cf2216867..49b182721 100644
--- a/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P44.ld
+++ b/os/ports/GCC/PPC/SPC560Pxx/ld/SPC560P44.ld
@@ -47,13 +47,17 @@ SECTIONS
. = ORIGIN(flash);
.boot : ALIGN(16) SUBALIGN(16)
{
- __ivpr_base__ = .;
KEEP(*(.bam))
KEEP(*(.crt0))
. = ALIGN(0x00000800);
- KEEP(*(.handlers))
- . = ALIGN(0x00001000);
KEEP(*(.vectors))
+ /* Note, have to waste the first 64KB because the IVPR register
+ requires an alignment of 64KB and the first 64KB cannot be used,
+ IVOR0 would conflict with the BAM word. Applications could
+ allocate code or data in the first 64KB by using special sections.*/
+ . = ALIGN(0x00010000);
+ __ivpr_base__ = .;
+ KEEP(*(.handlers))
} > flash
constructors : ALIGN(4) SUBALIGN(4)
diff --git a/os/ports/GCC/PPC/crt0.s b/os/ports/GCC/PPC/crt0.s
index cec9a306f..4a2bc4dea 100644
--- a/os/ports/GCC/PPC/crt0.s
+++ b/os/ports/GCC/PPC/crt0.s
@@ -44,6 +44,7 @@ _boot_address:
* IVPR initialization.
*/
lis %r4, __ivpr_base__@h
+ ori %r4, %r4, __ivpr_base__@l
mtIVPR %r4
/*
* Small sections registers initialization.