summaryrefslogtreecommitdiff
path: root/AT91SAM7S256
diff options
context:
space:
mode:
authorNicolas Schodet2010-07-13 00:46:25 +0200
committerNicolas Schodet2010-08-20 00:18:22 +0200
commit5b74fd2352297c6f97042b42b946f04c3d55ba11 (patch)
tree905eabc84181a3d1979a3c05225347a7074a72b3 /AT91SAM7S256
parenta76dd27d273424a260908c88c6b3aa5d04e898b7 (diff)
gcc: add __ramdata definition
Data used in RAM functions should also be stored in RAM. This definition is needed because gcc will place static data which are never modified to .rodata section.
Diffstat (limited to 'AT91SAM7S256')
-rw-r--r--AT91SAM7S256/Source/d_lowspeed.r2
-rw-r--r--AT91SAM7S256/Source/d_sound.r1
-rw-r--r--AT91SAM7S256/Source/d_sound_adpcm.r2
-rw-r--r--AT91SAM7S256/Source/stdconst.h3
4 files changed, 8 insertions, 0 deletions
diff --git a/AT91SAM7S256/Source/d_lowspeed.r b/AT91SAM7S256/Source/d_lowspeed.r
index 4b3b8ba..03826ea 100644
--- a/AT91SAM7S256/Source/d_lowspeed.r
+++ b/AT91SAM7S256/Source/d_lowspeed.r
@@ -56,7 +56,9 @@ typedef struct
static LOWSPEEDPARAMETERS LowSpeedData[4];
+__ramdata
ULONG DATA_PINS[4] = {CHANNEL_ONE_DATA, CHANNEL_TWO_DATA, CHANNEL_THREE_DATA, CHANNEL_FOUR_DATA};
+__ramdata
ULONG CLK_PINS[4] = {CHANNEL_ONE_CLK, CHANNEL_TWO_CLK, CHANNEL_THREE_CLK, CHANNEL_FOUR_CLK};
#define LOWSPEED_CHANNEL1 0
diff --git a/AT91SAM7S256/Source/d_sound.r b/AT91SAM7S256/Source/d_sound.r
index 01a3353..4851253 100644
--- a/AT91SAM7S256/Source/d_sound.r
+++ b/AT91SAM7S256/Source/d_sound.r
@@ -94,6 +94,7 @@ const SAMPLEWORD TonePattern[SOUNDVOLUMESTEPS + 1][SAMPLETONENO] =
}
};
+__ramdata
UBYTE FractionPattern[SAMPLEWORDS] =
{
0x00, // 0 -> 00000000
diff --git a/AT91SAM7S256/Source/d_sound_adpcm.r b/AT91SAM7S256/Source/d_sound_adpcm.r
index 2feff3b..f04a760 100644
--- a/AT91SAM7S256/Source/d_sound_adpcm.r
+++ b/AT91SAM7S256/Source/d_sound_adpcm.r
@@ -47,12 +47,14 @@
#ifdef SAM7S256
+__ramdata
static SWORD IndexTable[16] =
{
-1, -1, -1, -1, 2, 4, 6, 8,
-1, -1, -1, -1, 2, 4, 6, 8,
};
+__ramdata
static SWORD StepsizeTable[89] =
{
7, 8, 9, 10, 11, 12, 13, 14, 16, 17,
diff --git a/AT91SAM7S256/Source/stdconst.h b/AT91SAM7S256/Source/stdconst.h
index 07ffd87..bf8f052 100644
--- a/AT91SAM7S256/Source/stdconst.h
+++ b/AT91SAM7S256/Source/stdconst.h
@@ -64,6 +64,9 @@ typedef char* PSZ;
#ifdef __GNUC__
#define __ramfunc __attribute__ ((section (".fastrun"), optimize ("no-jump-tables")))
+#define __ramdata __attribute__ ((section (".data")))
+#else
+#define __ramdata
#endif
#endif