新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > mini2440開發(fā)板 u-boot 移植

mini2440開發(fā)板 u-boot 移植

作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
本實驗所用的u-boot源碼包,是國嵌提供的u-boot-2008.10

1.解壓源碼包

本文引用地址:http://butianyuan.cn/article/201611/322209.htm

命令:tar jxvf u-boot-2008.10.tar.bz2

2.在頂層的Makefile中找到

smdk2410_config:unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0

參照此方法,添加:

mini2440_config:unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t mini2440 NULL s3c24x0

3.修改/cpu/arm920t/start.S

(1)修改編譯條件使其支持s3c2440

代碼第136行#if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410)

改為#if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440)

(2)添加寄存器的定義

在149行左右

#define pWTCON0x53000000
#define INTMSK0x4A000008
#define INTSUBMSK0x4A00001C
#define CLKDIVN0x4C000014
# endif
之后添加代碼

#define CLK_CTL_BASE 0x4C000000
#define MDIV_405 0x7f << 12
#define PSDIV_405 0x21
#define UPLL_MDIV_48 0x38 << 12
#define UPLL_PSDIV_48 0x22
#define MDIV_200 0xa1 << 12
#define PSDIV_200 0x31

(3)修改中斷禁止部分,添加s3c2440中斷禁止代碼

在170行左右:

# if defined(CONFIG_S3C2410)
ldrr1, =0x3ff
ldrr0, =INTSUBMSK
strr1, [r0]
# endif

后面添加:


#if defined(CONFIG_S3C2440)
ldr r1,=0x7fff
ldr r0,=INTSUBMSK
str r1,[r0]
#endif

(4)修改時鐘設(shè)置(將s3c2440主頻設(shè)置為405MHZ)

將180行左右關(guān)于時鐘設(shè)置的代碼注釋掉


*
*ldrr0, =CLKDIVN
*movr1, #3
*strr1, [r0]
*#endif
*/

添加:

#if defined(CONFIG_S3C2440)

ldr r0,=CLKDIVN
move r1,#5
str r1,[r0]

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,#UPLL_MDIV_48
add r2,r2,#UPLL_PSDIV_48
str r2,[r1,#0x08]

mov r2,#MDIV_405
add r2,r2,#PSDIV_405
str r2,[r1,#0x04]

#else

ldr r0,=CLKDIVN
mov r1,#3
str r1,[r0]

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_200
add r2,r2,#PSDIV_200
str r2,[r1,#0x04]

#endif

#endif


上一頁 1 2 下一頁

關(guān)鍵詞: mini2440開發(fā)板u-boot移

評論


技術(shù)專區(qū)

關(guān)閉