minis3c2440移植之uboot移植
ldr
mov
str
mrc p15,0,r1,c1,c0,0
orr r1, r1,#0xc0000000
mcr p15,0,r1,c1,c0,0
mov r1,#CLK_CTL_BASE
mov r2,#MDIV_405
add r2,r2,#PSDIV_405
str r2,[r1,#0x4]
#else
在#endif
#endif
#define LENGTH_UBOOT
#define NAND_CTL_BASE
#ifdef CONFIG_S3C2440_NAND_BOOT
//#define oNFCONF 0x00
//#define oNFCONT 0x04
//#define oNFSTAT 0x08
//#define oNFCMD 0x20
mov r1,#NAND_CTL_BASE
ldr r2,=( (7<<12)|(7<<8)|(7<<4)|(0<<0))
str r2,[r1,#oNFCONF]
ldr r2,[r1,#oNFCONF]
ldr r2,=((1<<4)|(0<<1)|(1<<0))
str r2,[r1,#oNFCONT]
ldr r2,[r1,#oNFCONT]
ldr r2,=(0x6)
str r2,[r1,#oNFSTAT]
ldr r2,[r1,#oNFSTAT]
mov r2,#0xff
strb r2,[r1,#oNFCMD]
mov r3,#0
nand1:
nand2:
ldr r2,[r1,#oNFCONT]
@copy U-Boot to Ram
bad_nand_read:
loop2:
ok_nand_read:
go_next:
notmatch:
loop3:
#endif
在對BSS段清零操作代碼之后添加以點燈操作代碼:
#if defined(CONFIG_TOCORE2440_LED)
#endif
在_start_armboot:
#define STACK_BASE 0x33f00000
#define STACK_SIZE 0x10000
DW_STACK_START: .word
至此start.S文件修改完畢,整個配置文件修改完成。
Linux內核編譯步驟(支持S3C2440)
1.
修改arch宏定義:ARCH?=arm (line176)
修改CROSS_COMPILE為CROSS_COMPILE?=arm-linux- (line177)
2.執(zhí)行命令cp arch/arm/configs/smdk2410_defconfig .config,完成對smdk2410配置信息的拷貝。執(zhí)行命令make menuconfig命令,實現(xiàn)對.config文件的配置信息的設置。
3. 對.config配置方法如下:
選擇S3C24XX Implementations
進入后選定NWFPE math emulation和其子項Support extended precision,至此完成對Floating point emulation項的設置。
1)配置Memory Technology Devices (MTD)
2)配置Block devices
3)配置Network device support
4)進入Character devices
d.配置File systems
e.退出,保存。
#if 0
#endif
};
修改函數(shù)void __init smdk2440_map_io():將主頻設置為12000000。 代碼為s3c24xx_init_clocks(12000000);
評論