返回列表 发新帖

CM4_CM在Ubuntu server下RTC(pcf85063)测试

[复制链接] 0
回复
17588
查看
打印 上一主题 下一主题

11

主题

12

帖子

1万

积分

允许发帖

积分
10171
楼主
跳转到指定楼层
发表于 2021-5-8 13:56:47 | 只看该作者 | 只看大图 回帖奖励 |正序浏览 | 阅读模式
本帖最后由 Mcuzone_LJY 于 2021-5-8 14:14 编辑

关键词:树莓派、CM4核心板、Ubuntu server 、RTC 、 pcf85063
概述:RTC是嵌入式设备中一个非常重要的功能,我司CM4_CM、CM4_MAX_Pro等扩展底板均集成了此功能,现以CM4_CM为例,详细描述下其流程。

1.准备工作

本文此次烧写的系统为ubuntu-20.04.1-preinstalled-server-arm64+raspi,系统烧写完毕后,先不急于将烧写好的系统盘移除PC,打开系统盘根目录,找到config.txt并编辑,由于Ubuntu系统下无法在boot文件夹下找到此config.txt文件,因此我们直接在PC上编辑此文件。
将如下代码添加至config.txt文件末尾:
dtoverlay=dwc2,dr_mode=host
dtparam=i2c_vc=on
dtparam=i2c_arm=on
dtoverlay=i2c-rtc,pcf85063


此处建议手打,避免复制Word中文字后出现的格式问题,导致代码无法正常发挥其功能。
按照上述方式编辑完config.txt文件后,连接好HDMI,USB键鼠后上电启动系统,Ubuntu server为无桌面系统,启动完毕后要求输入账号密码来登录,此处的默认账号与密码均为“ubuntu”,验证无误后,会要求更改为新的密码,遵循其指示,先输入现有的密码,即“ubuntu”,无误后开始输入自己的密码,完成后会要求再次输入以确认,两次密码无误后,便会进入系统,以后登录账号依然是“ubuntu”,密码即是自己更改过的密码。

2.配置pcf85036

完成上述准备工作后,即可开始配置pcf85063。输入sudo apt install i2c-tools,下载i2c工具。

输入sudo -i,开启root用户模式。


输入i2cdetect -l,查看是否存在如下4条i2c总线,若存在,则可开始下一步骤。


输入i2cdetect -y 10,查看是否读到pcf85063的id--0x51,如下图所示:


若id存在,输入echo pcf85063 0x51 > /sys/class/i2c-adapter/i2c-10/new_device注册启用pcf85063


但是此时我们并没有pcf85063的驱动,我们需要手动去加载,输入:
insmod /lib/modules/5.4.0-1015-raspi/kernel/drivers/rtc/rtc-pcf85063.ko
加载驱动,若无报错,则加载成功。


然后输入dmesg | grep rtc-pcf85063,查看pcf85063是否已经注册为rtc0


输入hwclock -r查询rtc时间,由于是格林尼治时间,所以与现实时间差8小时,具体调整方式本文便不多赘述。


注:初次使用可能会提示invalid argument,这是由于硬件RTC的月份时间默认是返回-1,这种情况下先输入sudo hwclock -w写入时间,再读取即可。

3. 设置开机自启

由于每次上电启动后,都得重复操作pcf85063的注册与驱动手动加载,显得非常的繁琐,我们可以编辑rc.local文件,让这些操作在系统启动的时候自动完成。
输入sudo touch /etc/rc.local创建rc.local文件。


输入sudo vi /etc/rc.local,如下图所示编辑文件:


编辑完成后,输入sudo chmod 777 /etc/rc.local,赋予其可执行权限。


完成上述操作后,断电一段时间后重启系统,直接输入hwclock -r,看是否能直接获取到时间,若可以,则证明rc.local文件功能正常,以后便可直接使用。


那么以上就是树莓派CM4_CM在Ubuntu server下pcf85063使用指南的全部内容,若有错误的地方还请各路大佬不吝指出,请洒潘江,各倾陆海!


回复

使用道具 举报

发表回复

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

本版积分规则

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