본문 바로가기

[MCU]/adStar

[adStar] SDRAM 사용하기

[adStar] SDRAM 사용하기

 

adStar의 SDRAM은 최대 16Mbyte가 내장되어 있고 이를 활용하면 여러가지 사용할곳이 많을것 같다.

 

 

 

 

SDRAM초기화 코드

static void SDramInit()
{
 register int addr;
 addr = 0x80000400 ;
 register int ahbclock;


 *(volatile unsigned int*)addr = 0x10059;   //16MBytes, CAS Lantency 2  modify lab
 //*(volatile unsigned int*)addr = 0x10049;   //8MBytes, CAS Lantency 2  modify lab
 

ahbclock = get_ahb_clock();
 //*(volatile unsigned int*)(addr+4) = (0x4<<8)|((ahbclock/1000000)-1);     //FEEDBACK Clock control 


 *(volatile unsigned int*)(addr+4) = 0xc2f; //FEEDBACK Clock control // 48MHz
}

 

 

 malloc 함수로 할당하면 SDRAM(0x20000000번지)영역에 설정된다.

#define SDRAM1_SIZE            (8196*1024)


volatile unsigned char *buffer;

buffer = malloc(SDRAM1_SIZE);

 

 

반응형