[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);
반응형