Chinaunix首页 | 论坛 | 博客
  • 博客访问: 195198
  • 博文数量: 30
  • 博客积分: 1571
  • 博客等级: 上尉
  • 技术积分: 363
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-28 11:42
文章分类

全部博文(30)

文章存档

2012年(6)

2011年(11)

2010年(13)

我的朋友

分类: LINUX

2010-04-12 11:31:58

    直接在rtc-s3c.c上修改的,对比一下2440和6410的手册,RTC的不同主要在:
    1、 Tick Enable和Tick Time Count不同。Tick Enable的几个地方比较好改。
        Tick Time Count的最大值是不同的,在s3c_rtc_setfreq计算的时候要注意,我加了一个宏 S3C_MAX_CNT ,6410里面为32768(TICCKSEL 使用默认的0),2440为128。
    //tmp |= (128 / freq)-1;      //wy ! modify
    tmp |= (S3C_MAX_CNT / freq) - 1;      //wy ! add for s3c6410

    2、 6410多了个中断寄存器INTP,在s3c_rtc_alarmirq和s3c_rtc_tickirq里面要加上清中断的操作。
    writeb(S3C2410_INTP_ALM, s3c_rtc_base + S3C2410_INTP);   // add to s3c_rtc_alarmirq

    writeb(S3C2410_INTP_TIC, s3c_rtc_base + S3C2410_INTP);   // add to s3c_rtc_tickirq

    具体的自己改吧,不难改。

阅读(1827) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~