cancel
Showing results for 
Search instead for 
Did you mean: 

STM3210E-EVAL External Data RAM

robinsm
Associate II
Posted on September 02, 2009 at 14:16

STM3210E-EVAL External Data RAM

2 REPLIES 2
robinsm
Associate II
Posted on May 17, 2011 at 13:22

I'm trying to use the external RAM as a spot for data with the example code (SRAM_DataMemory). When I single step the code, I get 0xFF's for all the data here in Tab[] after the loop.

for (Index = 0; Index

{

Tab[Index] =Index;

}

The linker script is working in ths case but it is not accessing the external memory. In the reset handler I have:

//#ifdef DATA_IN_ExtSRAM

/* FSMC Bank1 NOR/SRAM3 is used for the STM3210E-EVAL, if another Bank is

required, then adjust the Register Addresses*/

/* Enable FSMC clock */

*(vu32 *)0x40021014 = 0x00000114;

/* Enable GPIOD, GPIOE, GPIOF and GPIOG clocks */

*(vu32 *)0x40021018 = 0x000001E0;

/* --------------- SRAM Data lines, NOE and NWE configuration ---------------*/

/*---------------- SRAM Address lines configuration --------*/

/*---------------- NOE and NWE configuration ---------------*/

/*---------------- NE3 configuration ------*/

/*---------------- NBL0, NBL1 configuration ----------------*/

*(vu32 *)0x40011400 = 0x44BB44BB;

*(vu32 *)0x40011404 = 0xBBBBBBBB;

*(vu32 *)0x40011800 = 0xB44444BB;

*(vu32 *)0x40011804 = 0xBBBBBBBB;

*(vu32 *)0x40011C00 = 0x44BBBBBB;

*(vu32 *)0x40011C04 = 0xBBBB4444;

*(vu32 *)0x40012000 = 0x44BBBBBB;

*(vu32 *)0x40012004 = 0x44444B44;

/*---------------- FSMC Configuration -----*/

/*---------------- Enable FSMC Bank1_SRAM Bank -------------*/

*(vu32 *)0xA0000010 = 0x00001011;

*(vu32 *)0xA0000014 = 0x00000200;

//#endif /*DATA_IN_ExtSRAM*/

I folowed everything in the readme for the RIDE7 software and even commented the ifdef.

Are the registers just not set up properly? Any ideas?

Thanks in advance.

[ This message was edited by: robinsm on 02-09-2009 14:45 ]

robinsm
Associate II
Posted on May 17, 2011 at 13:22

I cannot inspect that these values are changing while single stepping, Why not? I just see A0000010: -- -- -- -- --...

*(vu32 *)0xA0000010 = 0x00001011;

*(vu32 *)0xA0000014 = 0x00000200;