当前位置: 首页 > article >正文

边缘计算【智能+安全检测】系列教程--agx orin解决RTC时间问题

因为是离线运行,首要问题是时间不准确,就在主板上加装了纽扣电池,但是会有一系列问题,比如无法将RTC时间回写到系统时间,或者无法将系统时间写到RTC中等等一些列问题。为解决这些问题,一劳永逸的方式,修改完RTC后,直接使用date -s 进行回写系统,具体步骤如下:

1.查看系统硬件设备树相关的信息

nvidia@orin:~$ sudo dmesg | grep DTB
[sudo] password for nvidia:
[ 0.003912] DTB Build time: Aug 10 2022 20:31:40
nvidia@orin:~$ sudo dmesg | grep DTS
[ 0.003900] DTS File Name: /dvs/git/dirty/git-master_linux/kernel/kernel-5.10/arch/arm64/boot/dts/…/…/…/…/…/…/hardware/nvidia/platform/t23x/concord/kernel-dts/tegra234-p3701-0000-p3737-0000.dts
nvidia@orin:~$ uname -a
Linux orin 5.10.104-tegra #1 SMP PREEMPT Wed Aug 10 20:17:07 PDT 2022 aarch64 aarch64 aarch64 GNU/Linux

2.设置系统时间

nvidia@orin:~$ date
Thu 21 Apr 2022 08:58:36 AM EDT
nvidia@orin:~$ date -s “2024-10-19 17:23:00”
date: cannot set date: Operation not permitted
Mon 19 Sep 2022 05:23:00 PM EDT
nvidia@orin:~$ sudo date -s “2024-10-19 17:23:00”
  1. 修改系统时钟为rtc0。 vim /lib/udev/rules.d/50-udev-default.rules
SUBSYSTEM=="rtc", ATTR{hctosys}=="0", SYMLINK+="rtc"
SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100"

在这里插入图片描述

4.查看系统对应的时钟信息,为rtc0,还是rtc1

 ls -al /dev/rtc*

在这里插入图片描述
5.将系统时间写入RTC中
先看一下hwclock -h有哪些命令
在这里插入图片描述
执行以下命令,如果快捷方式指向rtc0,下面就写rtc0,如果是rtc1,就为rtc1。

Mon 19 Sep 2022 05:23:00 PM EDT
nvidia@orin:~$ sudo hwclock -w -f /dev/rtc0
[sudo] password for nvidia:

执行下述命令查看是否写入

nvidia@orin:~$ timedatectl **

在这里插入图片描述
写入成功后如上图。

nvidia@orin:~$ sudo reboot

6.开机修改时间的shell脚本

hwclock -s  # 将rtc时间回写到系统

如果上述脚本无法执行,就使用下面的脚本

#! /bin/bash

# 修改时间
SUDOPASS='用户管理员密码'
RTC_TIME=$(timedatectl | grep 'RTC time' | awk '{print$3, $4,$5}')

# 检查是否成功获取了时间
if [ -z "$RTC_TIME" ]; then
  echo "无法获取RTC时间,跳过设置系统时间。"
else
  echo $SUDOPASS | sudo -S date -s "$RTC_TIME"
fi

http://www.kler.cn/a/371788.html

相关文章:

  • postman的脚本设置接口关联
  • Xss_less靶场攻略(1-18)
  • MySQL 9从入门到性能优化-创建触发器
  • unity后端kbengine用DOTween让 移动同步丝滑
  • 音视频入门基础:AAC专题(11)——AudioSpecificConfig简介
  • 数据结构---链表(一)【不带头单向非循环】
  • python 轮子是什么
  • pytest脚本常用的执行命令
  • 【Gorm】传统sql的增删查改,通过go去操作sql
  • STM32 I2C通信:硬件I2C与软件模拟I2C的区别
  • 数据库OCP 19C要考哪两门
  • 【学习】ZLMediaKit试用
  • 利用前向勾子获取神经网络中间层的输出并将其进行保存(示例详解)
  • shodan5,参数使用,批量查找Mongodb未授权登录,jenkins批量挖掘
  • QT编辑框带行号
  • 迷你航拍高清智能无人机技术详解
  • 云服务器和物理服务器有区别吗?
  • docker使用简介
  • 【WRF数据处理】基于GIS4WRF插件将geotiff数据转为tiff(geogrid,WPS所需数据)
  • AI Agents - 自动化项目:计划、评估和分配
  • JAVA的设计模式都有那些
  • ppt演示如何计时?分享2个ppt使用技巧,轻松搞定ppt计时!
  • STM32 从0开始系统学习4 编写LED驱动
  • 基于Java语言的充电桩管理系统
  • DICOM标准:DICOM服务类详解,了解存储服务类、查询/检索服务类(Q/R Service Class)和工作流管理服务类等原理
  • 无人机协同控制技术详解!