LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1069|回复: 1

u-boot1.1.1中的cpu/s3c44b0/start.S中的问题

[复制链接]
发表于 2008-4-28 14:56:25 | 显示全部楼层 |阅读模式
最近正在学习u-boot移植,首先是走读hfrk提供的已经移植好的u-boot1.1.1代码。
看到cpu/s3c44b0/start.S中的时候看到如下代码,有些不解:

        /*
         * mask all IRQs by clearing all bits in the INTMRs
         */
        ldr        r1,=INTMSK
        ldr        r0, =0x03fffeff
        str        r0, [r1]
        /* ... */
#if CONFIG_S3C44B0_CLOCK_SPEED==60
   
        ldr        r0, =0x88042 /* 60MHz (Quartz=10MHz) */
#elif CONFIG_S3C44B0_CLOCK_SPEED==75
        ldr        r0, =0xac042 /* 75MHz  */
#else
# error CONFIG_S3C44B0_CLOCK_SPEED undefined
#endif

就拿屏蔽中断的那三行来说吧。
如果根据44b0手册所讲,是不是将中断屏蔽寄存器INTMSK的26~0位全部置位就可以了?
这样的话为什么不直接把一个0x07FFFFFF存入INTMSK呢?

不知我对上面那段代码是否理解有误,
我觉得它的意思好像是想把内存地址0x03FFFEFF中的内容传递给INTMSK。
为什么要这么做呢?

另外,想顺便请教一下学习u-boot移植的推荐过程,从哪些文件开始比较合理?
谢谢。
发表于 2008-5-22 11:50:50 | 显示全部楼层
你没理解str. str是从左向右赋值.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表