도와주세요!!
글 수 15,339
2008.05.28 10:31:52 (*.119.85.60)
11709
아래의 스크립트는 RV-ICE스크립트 입니다. 학교 교수님에게 Multi-ICE를 빌려서 U-Boot를 올려보려고 하는중인데 스크립트를몰라서 그러는데 Multi-ICE용으로 변경좀 부탁드려도 되겠습니까? 꼭 부탁드리겠습니다. Multi-ICE사용자가 많지가 않은지 관련자료가정말 없어서 고치려고 해봤지만 모르는 부분이 너무많습니다. 부탁드립니다. 감사합니다.
define /R void init()
{
int i;
$mmap,disable$;
$printf "Disable WDT"$;
$setm/32 0x53000000 = (47<<8)+(1<<5)+(0<<0)$;
$printf "Bank Select - EBI"$;
$setm/32 0x48800004 = (1<<6)$;
$printf "Clock Divider"$;
$setm/32 0x4C000014 = ((0<<3)+(1<<2)+1)$;
//$printf "set MPLL- 266MHz"$;
//$setm/32 0x4C000004 = ((0x7D<<12) + (4<<4) + 1)$;
$printf "set MPLL- 200MHz"$;
$setm/32 0x4C000004 = ((0x2A<<12) + (1<<4) + 1)$;
$printf "Select MPLL clock out for SYSCLK"$;
$setm/32 0x4C00001C = 0x10$;
$printf "Delay a while"$;
$pause 1$;
$printf "Config DDR Memory"$;
//200us wait
$setm/32 0x48000000 = ((2<<17)+(2<<14)+(2<<11)+(2<<8)+(0<<6)+(0<<4)+(2<<2)+(1<<0))$;
$setm/32 0x48000004 = ((0<<26)+(0<<7)+(1<<6)+(0<<5)+(0<<4))$;
$setm/32 0x48000008 = ((5<<20)+(7<<16)+(3<<4)+(2<<2)+(2<<0))$;
$setm/32 0x4800000C = ((2<<30)+(0<<21)+(0<<16)+(0<<14)+(0<<7)+(3<<4))$;
//4nd : Issue a PALL command
$setm/32 0x48000004 = ((0<<26)+(0<<7)+(1<<6)+(0<<5)+(0<<4)+(1<<0))$;
//5th : refresh cycle every 255-clock cycles
$setm/32 0x48000010 = 0xFF$;
//6th : wait 2 auto - clk
// mov r0, #0x100 ; 6th : wait 2 auto - clk
//0 subs r0, r0,#1;
// bne %B0
$pause 1$;
//7th : Issue a MRS command
$setm/32 0x48000004 = ((0<<26)+(0<<7)+(1<<6)+(0<<5)+(0<<4)+(2<<0))$;
//8fh : refresh normal
$setm/32 0x48000010 = 1037$;
//9th : Issue a EMRS command
$setm/32 0x48000004 = ((0<<26)+(0<<7)+(1<<6)+(0<<5)+(0<<4)+(3<<0))$;
//10th : Issue a Normal mode
$setm/32 0x48000004 = ((0<<26)+(0<<7)+(1<<6)+(0<<5)+(0<<4)+(0<<0))$;
$printf "Unlock write protect"$;
$setm/32 0x56000020 = (1<<12)$;
$setm/32 0x56000024 = (1<<6)$;
$mmap,enable$;
$printf "***************************************"$;
$printf "Target initialize now has been complete"$;
$printf "***************************************"$;
return;
}
.
define /R void burn()
{
init();
//Edit this path---+
$readfile,raw,gui "u-boot.bin"=0x80000000$;
$flash,write$;
}
define /R void init()
{
int i;
$mmap,disable$;
$printf "Disable WDT"$;
$setm/32 0x53000000 = (47<<8)+(1<<5)+(0<<0)$;
$printf "Bank Select - EBI"$;
$setm/32 0x48800004 = (1<<6)$;
$printf "Clock Divider"$;
$setm/32 0x4C000014 = ((0<<3)+(1<<2)+1)$;
//$printf "set MPLL- 266MHz"$;
//$setm/32 0x4C000004 = ((0x7D<<12) + (4<<4) + 1)$;
$printf "set MPLL- 200MHz"$;
$setm/32 0x4C000004 = ((0x2A<<12) + (1<<4) + 1)$;
$printf "Select MPLL clock out for SYSCLK"$;
$setm/32 0x4C00001C = 0x10$;
$printf "Delay a while"$;
$pause 1$;
$printf "Config DDR Memory"$;
//200us wait
$setm/32 0x48000000 = ((2<<17)+(2<<14)+(2<<11)+(2<<8)+(0<<6)+(0<<4)+(2<<2)+(1<<0))$;
$setm/32 0x48000004 = ((0<<26)+(0<<7)+(1<<6)+(0<<5)+(0<<4))$;
$setm/32 0x48000008 = ((5<<20)+(7<<16)+(3<<4)+(2<<2)+(2<<0))$;
$setm/32 0x4800000C = ((2<<30)+(0<<21)+(0<<16)+(0<<14)+(0<<7)+(3<<4))$;
//4nd : Issue a PALL command
$setm/32 0x48000004 = ((0<<26)+(0<<7)+(1<<6)+(0<<5)+(0<<4)+(1<<0))$;
//5th : refresh cycle every 255-clock cycles
$setm/32 0x48000010 = 0xFF$;
//6th : wait 2 auto - clk
// mov r0, #0x100 ; 6th : wait 2 auto - clk
//0 subs r0, r0,#1;
// bne %B0
$pause 1$;
//7th : Issue a MRS command
$setm/32 0x48000004 = ((0<<26)+(0<<7)+(1<<6)+(0<<5)+(0<<4)+(2<<0))$;
//8fh : refresh normal
$setm/32 0x48000010 = 1037$;
//9th : Issue a EMRS command
$setm/32 0x48000004 = ((0<<26)+(0<<7)+(1<<6)+(0<<5)+(0<<4)+(3<<0))$;
//10th : Issue a Normal mode
$setm/32 0x48000004 = ((0<<26)+(0<<7)+(1<<6)+(0<<5)+(0<<4)+(0<<0))$;
$printf "Unlock write protect"$;
$setm/32 0x56000020 = (1<<12)$;
$setm/32 0x56000024 = (1<<6)$;
$mmap,enable$;
$printf "***************************************"$;
$printf "Target initialize now has been complete"$;
$printf "***************************************"$;
return;
}
.
define /R void burn()
{
init();
//Edit this path---+
$readfile,raw,gui "u-boot.bin"=0x80000000$;
$flash,write$;
}