返回列表 发新帖

CM4_CM在Ubuntu server下RTC(pcf85063)测试

[复制链接]

11

主题

12

帖子

1万

积分

允许发帖

积分
10165
发表于 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
config配置.png

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

2.配置pcf85036

完成上述准备工作后,即可开始配置pcf85063。输入sudo apt install i2c-tools,下载i2c工具。
iictools.png
输入sudo -i,开启root用户模式。
root.png

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

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

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

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

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

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

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

3. 设置开机自启

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

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

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

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

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


回复

使用道具 举报

发表回复

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

本版积分规则

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