1
0
Fork 0
forked from len0rd/rockbox

Compile the simulators without special code & data sections. Fixes intermittent hangs/ crashes of mpa2wav.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6181 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Jens Arnold 2005-03-10 20:02:08 +00:00
parent 64d3470541
commit 657fdf26f2
4 changed files with 24 additions and 6 deletions

View file

@ -21,6 +21,15 @@
#include "config.h"
#if CONFIG_CPU == MCF5249 && !defined(SIMULATOR)
#define ICODE_ATTR __attribute__ ((section(".icode")))
#define IDATA_ATTR __attribute__ ((section(".idata")))
#define USE_IRAM 1
#else
#define ICODE_ATTR
#define IDATA_ATTR
#endif
#include <sys/types.h>
/* Get these functions 'out of the way' of the standard functions. Not doing

View file

@ -542,7 +542,7 @@ void dct32(mad_fixed_t const in[32], unsigned int slot,
# endif
static
mad_fixed_t const D[17][32] __attribute__ ((section(".idata"))) = {
mad_fixed_t const D[17][32] IDATA_ATTR = {
# include "D.dat"
};

View file

@ -19,6 +19,15 @@
/* Various "helper functions" common to all the xxx2wav decoder plugins */
#if CONFIG_CPU == MCF5249 && !defined(SIMULATOR)
#define ICODE_ATTR __attribute__ ((section(".icode")))
#define IDATA_ATTR __attribute__ ((section(".idata")))
#define USE_IRAM 1
#else
#define ICODE_ATTR
#define IDATA_ATTR
#endif
/* the main data structure of the program */
typedef struct {
int infile;

View file

@ -28,9 +28,9 @@
static struct plugin_api* rb;
struct mad_stream Stream __attribute__ ((section(".idata")));
struct mad_frame Frame __attribute__ ((section(".idata")));
struct mad_synth Synth __attribute__ ((section(".idata")));
struct mad_stream Stream IDATA_ATTR;
struct mad_frame Frame IDATA_ATTR;
struct mad_synth Synth IDATA_ATTR;
mad_timer_t Timer;
struct dither d0, d1;
@ -130,7 +130,7 @@ unsigned char *OutputPtr=OutputBuffer;
unsigned char *GuardPtr=NULL;
const unsigned char *OutputBufferEnd=OutputBuffer+OUTPUT_BUFFER_SIZE;
#ifndef SIMULATOR
#ifdef USE_IRAM
extern char iramcopy[];
extern char iramstart[];
extern char iramend[];
@ -151,7 +151,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* file)
TEST_PLUGIN_API(api);
rb = api;
#ifndef SIMULATOR
#ifdef USE_IRAM
rb->memcpy(iramstart, iramcopy, iramend-iramstart);
#endif