rtc

Updated: April 19, 2023

Set or get date from realtime clock (QNX Neutrino)

Note: You must be root or have the right abilities to run this utility.

Syntax:

Update the current time based on the time from the specified clock:

rtc [-a value] [-A seconds] [-b [base][,[reg_shift][,[mem_map][,c_offset]]]]
    [-l] [-r rate] [-S seconds] clock_type

Set the time of the specified clock to the current time:

rtc [-a value] [-A seconds] -b [base][,[reg_shift][,[mem_map][,c_offset]]]]
    -s [-l] clock_type

Runs on:

QNX Neutrino

Options:

Note: All other options are ignored when the RTC Alarm related options (-a or -A) are used.
-A seconds
Set the realtime-clock (RTC) alarm to the specified time, in seconds. The RTC Alarm is disabled before setting a new value. Note that this option is supported only when clock_type is pmqcom.
-a value
Enable or disable RTC alarm. A value of 1 indicates to enable the alarm (ON); any other value disables it. Note that this option is supported only when clock_type is pmqcom.
-b [base][,[reg_shift][,[mem_map][,c_offset]]]
The location of the RTC chip:
  • base — the base address of the chip.
  • reg_shift — spacing of the device registers as a power of 2. For example:
    0
    Registers are 1 byte apart.
    1
    Registers are 2 bytes apart.
    2
    Registers are 4 bytes apart.
    n
    Registers are 2n bytes apart.

    The default reg_shift is 0.

  • mem_map — memory or I/O space.
  • c_offset — offset to the century byte in NVRAM.
-l
(“el”) Set hardware time to local time, not Coordinated Universal Time (UTC). UTC is the standard term for Greenwich Mean Time (GMT). The -l option has no effect if the clock_type is net.
-r rate
The rate at which to adjust the OS time if it's currently within 60 seconds (or the value set by -S) of the time from the source specified by clock_type. The rate is turned into a percentage 1/rate. The default rate is 100 (1%).
-S seconds
Specify the maximum difference, in seconds, between the current time and the new time before jam loading rather than slowly adjusting (see -r for the convergence speed). Default: 60.
-s
Set hardware to current date and time.
clock_type
One of the following:
Clock type Description
at (deprecated) IBM PC/AT Compatible hardware clock
at91rtc MicroChip Technology AT91 RTC
atsama5d3x Microchip Technology ATSMA5D3x
dm816x Texas Instruments DM816x
ds1386 Embedded Dallas Semiconductor DS1386
ds1339c Max Integrated DS1339C
ds15x1 PMC Sierra DS15X1
ds1743 PMC Sierra DS1743
ds3232 Maxim Integrated DS3232
hy7201 Techsol HY7201
hw Hardware clock (automatically selects one based on information provided by the startup)
isl1208 Renesas ISL1208
m48t37 STMicroelectronics M48T37
m48t5x STMicroelectronics M48T5x
m41t6x STMicroelectronics M4lT6x
mc146818 IBM PS/2 Compatible hardware clock
max8925 NXP MAX8925
mc9s08dz60 NXP MC9S08DZ60 RTC
mc9328mxlads NXP MC9328MXLADS
mx25srtc NXP RTC
mx51srtc NXP i.MX51 RTC
mx6srtc NXP i.MX 6 RTC
mx7srtc NXP i.MX 7 RTC
mx8xpsc NXP i.MX 8XPSC
net Hardware clock on a remote node
omap Texas Instruments AM335x clock
pcf2127at NXP PCF2127AT
phoenix Phoenix Contact RTC
pmqcom PrimeCell RTC
primecell PrimeCell RTC
ps/2 (deprecated) IBM PS/2 Compatible hardware clock
pxa250 Marvell PXA250
rocket Rocket Scream RTC
rtc72423 Embedded Fox (Epson) RTC-72423
rtc8564 Epson RTC8564
s35390 Ablic S35390
s3c2400 Samsung S3C2400
sa1100 Marvell SA1100
tps65910 Texas Instruments TPS65910
triton ABB Triton
tuareg Turaeg RTC
ultrazed UltraZed RTC

Description:

The rtc command gets or sets the date and time from a battery backed-up hardware clock.

If your machine has a builtin clock/calendar, you should include the following command in your startup script so QNX Neutrino automatically reads the time when the system starts:

rtc hw

If the RTC chip has been set to the UTC timezone, startup sets the correct time of day automatically on booting. If the RTC chip is set to local time, or for some reason startup doesn't know where the RTC chip is, you'll need to include the appropriate rtc command in the startup script specified in your mkifs buildfile.

You can use clock type net [node] to get the date from a specified node, or to set the date on a specified node. If node isn't specified, the default is the local machine. When clock type net [node] is used, the -l option has no effect.

Note: Be careful if you set the date during the period that a time zone is switching to daylight saving time (DST). When a time zone changes to DST, the local time goes back one hour (for example, 2:00 a.m. becomes 1:00 a.m.). The local time during this hour is ambiguous (e.g. 1:14 a.m. occurs twice in the morning that the time zone switches to DST). To avoid problems, use UTC time to set the date in this period.

Examples:

Update the current date and time from the hardware clock:

rtc hw

Set hardware clock with current date and time:

rtc -s hw

Exit status:

0
Successful.
>0
An error occurred.