Ok , Thanks !!!!! it was the solution, but now I have another problem:
I want to write some data in SDRAM with a FOR cicle and connect the audio codec MIC (in) to audio codec spk(out), the audio code segment is ok, the problem is when I add the write sdram function because the program stops, I saw (before running program) that initially some data (probably code) is in sdram memory and I think maybe the write sdram function is changing the program code. Here the question is: Why program data in SDRAM if I configured in SOPC builder reset and exception vector in SRAM ??? What I can do to put the code program on SRAM and not SDRAM.
Here the code :
# include "sdram_to_audio.h"
long i;
alt_u16 cont=0;
void write_sdram()
{
alt_u16 *buffer = (alt_u16 *) 0x00800000; // base addr SDRAM
for (i=0; i<=127; i++){
buffer[i]=cont;
cont++;
}
}
int main()
{
volatile int * audio_ptr = (int *) 0x10003040; // audio port
long audiobuf[128];
/* used for audio record/playback */
int fifospace;//, leftdata, rightdata;
int buffer_index = 0;
write_sdram();
while (1)
{
fifospace = *(audio_ptr+1); // read the audio port fifospace register
if ((fifospace & 0x000000FF) > 96)
{
audiobuf[buffer_index] = *(audio_ptr + 3); // read right channel only
buffer_index++;
}
fifospace = *(audio_ptr+1); // read the audio port fifospace register
if (((fifospace & 0x00ff0000)>>16) > 96) {
buffer_index--;
//Write to both channels
*(audio_ptr + 2) = audiobuf[buffer_index];
*(audio_ptr + 3) = audiobuf[buffer_index];
}
}
}