uboot移植问题:u-boot 2012-07启动内核后停在Uncompressing Linux... done, booting the kerne

针对于这个问题,网上有很多原因:U-BOOT传给内核的id出错等原因,

仔细检查之后,我最后找到的原因是时钟分频设置错误(设置错了的情况下u-boot操作外设竟然也能成功!)

 

arch/arm/cpu/arm920t/start.S文件中

# if defined(CONFIG_S3C2400)
#  define pWTCON	0x15300000
#  define INTMSK	0x14400008	/* Interrupt-Controller base addresses */
#  define CLKDIVN	0x14800014	/* clock divisor register */
#else
#  define pWTCON	0x53000000
#  define INTMSK	0x4A000008	/* Interrupt-Controller base addresses */
#  define INTSUBMSK	0x4A00001C
#  define CLKDIVN	0x4C000014	/* clock divisor register */
# endif

	ldr	r0, =pWTCON
	mov	r1, #0x0
	str	r1, [r0]

	/*
	 * mask all IRQs by setting all bits in the INTMR - default
	 */
	mov	r1, #0xffffffff
	ldr	r0, =INTMSK
	str	r1, [r0]
# if defined(CONFIG_S3C2410)
	ldr	r1, =0x3ff
	ldr	r0, =INTSUBMSK
	str	r1, [r0]
# endif

#define CLK_CTL_BASE    0x4c000014
#define CLKDIVNAA   0x05// FCLK:HCLK:PCLK=1:2:4, HDIVN=1,PDIVN=1

	/* 2. 设置运行时钟 */
	ldr r0, =CLK_CTL_BASE
	ldr r1, =CLKDIVNAA  //原先未定义CLKDIVNAA宏,使用了原始代码中的CLKDIVN,导致时钟设置错误	
        //mov r1, #0x05
	str r1, [r0]

CLKDIVN寄存器各位的含义如下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值