您的位置 首页 电路

mini2440开发板 u-boot 移植

本实验所用的u-boot源码包,是国嵌提供的u-boot-2008101解压源码包命令:tarjxvfu-boot-200810tarbz22在顶层的Makefile中找到smd

本试验所用的u-boot源码包,是国嵌供给的u-boot-2008.10

1.解压源码包

指令: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)修正时钟设置(将s3c2440主频设置为405MHZ)

将180行左右关于时钟设置的代码注释掉

*
*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

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/dianlu/256996.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部