Hi,Hui_Ma:
Code is below:
#define SRAM_START_ADDRESS (*(volatile unsigned char*)(0x60000000))
unsigned short LoadWord(unsigned int offset)
{
return (*(volatile unsigned short*)(&SRAM_START_ADDRESS + offset));
}
void StoreWord(unsigned int offset,unsigned short data)
{
*(volatile unsigned short*)(&SRAM_START_ADDRESS + offset) = data;
}
void SramWriteBuffer(unsigned short *pBuf,unsigned int addr,unsigned int length)
{
int s,t;
if((addr % 2 >0) || (length % 2 >0))
{
return;
}
s=length/2;
for(t=0;t<s;t++)
{
StoreWord(addr+t*2, *(pBuf+t*2));
}
}
/////////////// TestSram : write sram 16 times
void TestSram(void)
{
unsigned short wbuf[16];
unsigned int t;
for(t=0;t<16;t++)
{
wbuf[t]=0x1234+t;
}
SramWriteBuffer(wbuf,0x0,16*2);
}
Thank you!