zoukankan      html  css  js  c++  java
  • 20、RTC驱动程序

    drivers tc tc-s3c.c

    s3c_rtc_init
      platform_driver_register
        s3c_rtc_probe
          rtc_device_register("s3c", &pdev->dev, &s3c_rtcops, THIS_MODULE)
            rtc_dev_prepare
              cdev_init(&rtc->char_dev, &rtc_dev_fops);
            rtc_dev_add_device
              cdev_add


    app: open("/dev/rtc0");
    -------------------------------------------
    kernel: sys_open
        rtc_dev_fops.open
          rtc_dev_open
            // 根据次设备号找到以前用"rtc_device_register"注册的rtc_device
            struct rtc_device *rtc = container_of(inode->i_cdev,struct rtc_device, char_dev);
            const struct rtc_class_ops *ops = rtc->ops;
            err = ops->open ? ops->open(rtc->dev.parent) : 0;
              s3c_rtc_open
    app: ioctl(fd, RTC_RD_TIME,...)(读写使用ioctl实现的不是read和write)
    -------------------------------------------
    kernel: sys_ioctl
      rtc_dev_fops.ioctl
        rtc_dev_ioctl
          struct rtc_device *rtc = file->private_data;
          rtc_read_time(rtc, &tm);
              err = rtc->ops->read_time(rtc->dev.parent, tm);
                s3c_rtc_gettime



    测试RTC:
    1. 修改archarmplat-s3c24xxcommon-smdk.c
    static struct platform_device __initdata *smdk_devs[] = {
      &s3c_device_nand,
      &smdk_led4,
      &smdk_led5,
      &smdk_led6,
      &smdk_led7,
    改为(在数组smdk_devs里加上s3c_device_rtc):
    static struct platform_device __initdata *smdk_devs[] = {
    &s3c_device_nand,
    &smdk_led4,
    &smdk_led5,
    &smdk_led6,
    &smdk_led7,
    &s3c_device_rtc,

    2. make uImage, 使用新内核启动
    3. ls /dev/rtc* -l
    date /* 显示系统时间 */
    date 123015402011.30 /* 设置系统时间 date [MMDDhhmm[[CC]YY][.ss]] */
    hwclock -w /* 把系统时间写入RTC */

    短电,重启,执行date

     


  • 相关阅读:
    js html table转json 反向生成数据源
    用命令提示符 打开 asp.net Development Server
    asp.net 'Sys'未定义 解决方案
    js form转换成Hash格式
    【转】NSIS 常用安装路径
    Linq lamdba GroupJoin外连接示例
    CDN简单了解
    获取android入口activity
    解决IE6下 li 的 float:left 自动换行
    WinForm窗口基础配置
  • 原文地址:https://www.cnblogs.com/liusiluandzhangkun/p/8654896.html
Copyright © 2011-2022 走看看