[linux kernel] 内核下RX8025对接系统时钟

2023-10-26

系统版本:Ubuntu18.04-64

编译器版本:gcc version 7.4.0 (Ubuntu/Linaro 7.4.0-1ubuntu1~18.04.1)

uboot版本:2018.07 -linux4sam_6.0

板子型号:at91sama5d3x-xplained

MCU型号:sama5d36

RTC型号:RX8025T

[Datasheet] RX8025T时钟芯片解读

RX8025T和RX8025SA有点区别,主要是时间寄存器的移位上面有差异;

属于爱普生公司的设计,EPSON,这个信息对于内核查找对应的驱动很有帮助。

一、启动板子查看内核启动信息

系统时钟的rtc,从打印信息可以看出,是使用cpu内部的rtc寄存器,而非外部的RX8025芯片,作为rtc0供系统读取调用;

qt1070 1-001b: ID 206 not supported
at91_rtc fffffeb0.rtc: registered as rtc0
at91_rtc fffffeb0.rtc: AT91 Real Time Clock driver.
i2c /dev entries driver

系统调用/dev/rtc0, 这是一个软链接,相当于调用的是at91内部的rtc寄存器,不是我们想要的。

二、如果你不知道调用内部rtc是哪个文件里面的函数,有个很简单的方法,到rtc文件夹下面看看哪个文件被编译成了.o文件。

cd drivers/rtc

ls *.o

linux-at91-linux-4.19-at91\drivers\rtc\rtc-at91rm9200.c这个文件有对应的.o;

打开Makefile文件

在这里插入图片描述

可以看到是通过宏CONFIG_RTC_DRV_AT91RM9200选择编译的;

三、让这个宏不生效,修改默认配置文件,进行裁剪

arch/arm/configs/sama5_defconfig

CONFIG_RTC_DRV_AT91RM9200=y

改为:

# CONFIG_RTC_DRV_AT91RM9200 is not set

四、进入图形化配置界面,选择EPSON的8025芯片选型

make menuconfig

Device Drivers —>

[*] Real Time Clock  --->

在这里插入图片描述

在这里插入图片描述

可以看到官网给出的例程为Epson RX-8025SA/NB,如果你使用的芯片刚好是RX-8025SA就可以直接使用,RX-8025T的芯片要做修改,不然时间总是错的,会发现校时后过几个小时,就乱了。

保存退出,直接编译,8025的驱动就调试好了。

驱动文件在drivers/rtc/rtc-8025.c里面。

在这里插入图片描述

在文件系统中调用函数测试一下

在这里插入图片描述

读取时间 hwclock -r

设置时间 hwclock -w

还可以添加一些打印信息在驱动里面,查看对应的寄存器数据。

在这里插入图片描述

在这里插入图片描述

两款芯片的区别主要在于寄存器的读取数据这里;

对寄存器的读取操作做了如下修改:

在这里插入图片描述

更多linux知识点推荐:

[linux kernel]内核启动阶段控制IO口时序输出

[职场吐槽]如何缓解焦虑

[linux kernel] 内核下ksz8081驱动调试

[linux kernel] 内核下ksz9031驱动调试

[linux kernel]内核图形化裁剪配置

[linux kernel]内核移植过程记录

[linux kernel] 内核启动流程梳理

[linux 底层]u-boot EMMC驱动

[linux 底层]u-boot图形化裁剪配置

[Linux 底层]U-boot ksz9031网络驱动调试

[Linux 底层]U-boot调试命令使用技巧

[Linux 底层]U-boot编译移植

[Linux 底层]U-boot烧录脚本介绍SecureCRT

[Linux 底层]bootstrap移植裁剪及编译

[Linux 底层] 平台软件分层介绍

[Linux 驱动] RS485测试程序编写

[Linux 驱动] CAN测试程序编写

推荐阅读:

芯片手册解读 | Linux底层 | 职场吐槽 | C语言视频

关注微信公众号,回复“rtc8025驱动”,下载启动文件源代码。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[linux kernel] 内核下RX8025对接系统时钟 的相关文章

随机推荐

  • 疯壳AI语音及人脸识别3-3语音传输与解析显示

    详情地址 https fengke club GeekMart views offline ai 购买链接 https fengke club GeekMart su fKw7Nb7oC jsp 视频地址 https fengke club
  • 源码安装PHP

    安装PHP 阿铭写这本教程时 php当前最新版本为5 5 相信大多网站还在跑着5 2甚至更老的版本 其实5 2版本的php很经典也很稳定 因为阿铭的公司一直在使用5 2版本 但是考虑到版本太老 难免会有些漏洞 所以建议你使用5 3或者5 4
  • 电子科技大学操作系统期末复习笔记(一):操作系统概述

    目录 前言 操作系统概述 操作系统的目标与功能 操作系统的定义 目标 功能 操作系统的历史 单用户系统 简单批处理系统 多道批处理系统 分时系统 个人电脑 分布式系统 互联网时代 移动计算时代 实时系统 操作系统的基本特征 并发 共享 虚拟
  • C++系统的避免各种指针错误

    C 常见的内存问题与解决 原始指针 1 动态内存使用者 仅仅是使用 不负责该对象的生命周期 这种情况下原始指针不会有任何问题 简洁明了 不会影响引用计数 更不会导致循环引用 2 几乎所有的第三方库都是以这种方式使用用户的数据的 智能指针 1
  • linux sleep 头文件

    include
  • Burpsuite使用

    Burpsuite使用 简介 Burp Suite 是用于攻击web 应用程序的集成平台 它包含了许多工具 并为这些工具设计了许多接口 以促进加快攻击应用程序的过程 所有的工具都共享一个能处理并显示HTTP 消息 持久性 认证 代理 日志
  • 编写PE文件解析器(一)

    第一篇先写一个PE格式解析器 学了那么久了写出来防止自己忘记 顺便练练手 PE格式解析是比较基础的内容 后面再越写越深 我写这个不是介绍pe格式 而是说编写解析代码 解释定义什么的网上一堆就不粘了 重要的定义我尽量简洁的描述清楚就行 如果想
  • element-ui表头动态渲染

  • NodeJS 获取指定时区的时间

    获取指定时区的时间 param offset 时区 returns Date 指定时区的 时间信息 module exports getZoneTime offset gt 取本地时间 let localtime new Date 取本地毫
  • mac下的readelf和objdump

    本文转载至 http www cnblogs com zlcxbb p 6059517 html ELF文件包括 1 可重定位的目标文件 2 可执行的目标文件 3 可被共享的目标文件 可以用file命令来看目标文件是否是ELF文件 在lin
  • matlab2018求多元函数驻点,机械优化设计课后习题答案.doc

    第一章习题答案 1 1 某厂每日 8h制 产量不低于1800件 计划聘请两种不同的检验员 一级检验员的标准为 速度为25件 h 正确率为98 计时工资为4元 h 二级检验员标准为 速度为15件 h 正确率为95 计时工资3元 h 检验员每错
  • 笔记:java、android网络交互频繁gc

    背景 纯手写没用三方异步方式网络通讯 现象 execute 之后log出现大量gc 内存总体没有多大变化 频繁出现的gc导致UI等待界面卡顿也着实吓了我一跳 解决思路 1 断点调试跟踪了一下发现是execute的问题 因为其他交互没有出现过
  • 信息学竞赛中的时间复杂度以及算法内容

    信息学竞赛一般的时间限制是1秒或2秒 在这种情况下 C 代码中的操作次数控制在 1 0 7 1 0 8 10 7 10 8 107
  • score-based generative models (Yang Song) 笔记

    20220524 Yang Song s blog 文章目录 20220524 方法 方法 The score function score based models and score matching Fisher divergence
  • Mybatisplus报错@TableId can‘t more than one in Class解决方案

    Mybatisplus报错 TableId can t more than one in Class解决方案 问题背景 解决方案 Lyric 能不能原谅我 问题背景 Caused by org springframework beans f
  • 安装es-header插件

    1 官网下载https github com mobz elasticsearch head 2 解压 3 进入解压目录 调出cmd窗口 确定自己已经安装了node 如下确定 没有自行下载安装 4 输入前端包安装命令 等待几分钟下载 npm
  • 在android中opencv视频采集,【Android】【opencv】实现摄像头拍照和录像

    1 0 需求 在安卓开发板上实现视频监控功能 并能后台监控 由于后期可能跑视频识别 所以考虑用OpenCV实现 通过OpenCV Manager进行动态库的链接 实现帧的预览和保存 android版本 5 0 1 开发平台 Android
  • 1、VScode汉化以及如何设置跳转到函数定义

    一 汉化 1 首先打开软件 软件默认是英文配置状态 如图所示 2 使用快捷键 Ctrl Shift P 进入如下界面 3 然后在弹出的界面中 输入 configure language 然后选择 install additional lan
  • CocosCreator在电脑Web打印vConsole日志的问题

    忘了什么时候开始 Web端的日志打印的文件输入信息全是vconsole min js文件 很纠结啊有木有 完全不知道日志的出处 日志输入如以下图片 官方还没有给出对于这个问题的配置是怎么样解决的 所以我们自己搞定 我们进入CocosCrea
  • [linux kernel] 内核下RX8025对接系统时钟

    系统版本 Ubuntu18 04 64 编译器版本 gcc version 7 4 0 Ubuntu Linaro 7 4 0 1ubuntu1 18 04 1 uboot版本 2018 07 linux4sam 6 0 板子型号 at91