主题 : u-boot 在mini2440上的移植问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 50943
精华: 0
发帖: 4
金钱: 20 两
威望: 4 点
贡献值: 0 点
综合积分: 8 分
注册时间: 2011-06-28
最后登录: 2011-07-14
楼主  发表于: 2011-07-07 17:55

 u-boot 在mini2440上的移植问题

//下面添加2440中u-boot从Nand Flash启动
#ifdef CONFIG_S3C2440_NAND_BOOT
    mov r1, #NAND_CTL_BASE   //复位Nand Flash
    ldr r2, =( (7<<12)|(7<<8)|(7<<4)|(0<<0) )
    str r2, [r1, #oNFCONF]   //设置配置寄存器的初始值,参考s3c2440手册
  ldr r2, [r1, #oNFCONF]

    ldr r2, =( (1<<4)|(0<<1)|(1<<0) )
    str r2, [r1, #oNFCONT]   //设置控制寄存器
  ldr r2, [r1, #oNFCONT]

这是start.文件中的一小代码,其中
  ldr r2, =( (7<<12)|(7<<8)|(7<<4)|(0<<0) )
    str r2, [r1, #oNFCONF]   //设置配置寄存器的初始值,参考s3c2440手册
  ldr r2, [r1, #oNFCONF]
从s3c2440的数据手册上查到 NFCONF 寄存器的 Reset Value 为0x0000100X
但为什么这里的 ldr r2, =( (7<<12)|(7<<8)|(7<<4)|(0<<0) ),得出r2的值为0x7770,显然不是0x0000100X,NFCONT寄存器的设置也是如此。


我是个新手,请高手解答下,万分感激!!
级别: 新手上路
UID: 50943
精华: 0
发帖: 4
金钱: 20 两
威望: 4 点
贡献值: 0 点
综合积分: 8 分
注册时间: 2011-06-28
最后登录: 2011-07-14
1楼  发表于: 2011-07-08 14:22
ldr r2, =( (7<<12)|(7<<8)|(7<<4)|(0<<0) )
    str r2, [r1, #oNFCONF]   //设置配置寄存器的初始值,参考s3c2440手册
  ldr r2, [r1, #oNFCONF]


就是这三行代码不理解,是我的问题太没水平?
级别: 新手上路
UID: 50943
精华: 0
发帖: 4
金钱: 20 两
威望: 4 点
贡献值: 0 点
综合积分: 8 分
注册时间: 2011-06-28
最后登录: 2011-07-14
2楼  发表于: 2011-07-09 10:20
算是了解了,来这个论坛本来就没熟手的。
级别: 新手上路
UID: 50943
精华: 0
发帖: 4
金钱: 20 两
威望: 4 点
贡献值: 0 点
综合积分: 8 分
注册时间: 2011-06-28
最后登录: 2011-07-14
3楼  发表于: 2011-07-12 09:47
虽然走了些弯路,但哥还是自己搞懂了。。。感觉这论坛可以解散了。