Возвращает количество секунд с 00 часов 00 минут 1-го января 1970 г. по Гринвичу
#include <sys/startup.h>
unsigned long rtc_time( void );
libstartup
Эта функция возвращает количество секунд с 00 часов 00 минут 1-го января 1970 г. по Гринвичу и может быть заменена на пользовательскую функцию.
- x86
- Эта функция по умолчанию вызывает rtc_time_mc146818(), которая считывает время из стандартной микросхемы часов IBM-PC.
- MIPS
- PowerPC
- ARM
- Библиотечная функция возвращает значение
0
и не выполняет никаких других действий.
На текущий момент существуют следующие версии для конкретных микросхем:
- rtc_time_ds1386()
- Совместимые с Dallas Semiconductor DS-1386
- rtc_time_m48t5x()
- SGS-Thomson M48T59 RTC/NVRAM
- rtc_time_mc146818()
- Совместимые с Motorola 146818
- rtc_time_rtc72423()
- Совместимые с FOX RTC-72423
- rtc_time_rtc8xx()
- Встроенные часы реального времени PPC 800
- rtc_time_none()
- "пустая" версия этой функции для плат без часов реального времени
При разработке собственной функции rtc_time() необходимо вызывать в ней одну из функций для конкретной микросхемы либо создавать такую функцию самостоятельно.
Все функции для конкретных микросхем имеют одинаковый список параметров:
- base
- Параметр содержит физический базовый адрес или порт ввода/вывода устройства и имеет тип
paddr_t
. - reg_shift
- В параметре reg_shift указывается смещение регистра в виде степени двойки (тип
unsigned
). Как правило, используется значение 0
(смещение равно 2⁰ = 1
), при котором расстояние между регистрами в адресном пространстве равно 1 байту. Если значение этого параметра равно 2
(смещение равно 2² = 4
), расстояние между регистрами равно 4 байтам. - mmap
- Если параметр равен
0
, устройство расположено в пространстве ввода/вывода, а если 1
— в пространстве памяти. - cent_reg
- Параметр задает регистр устройства, в котором хранится байт столетия (значение
-1
указывает, что такой регистр отсутствует). При отсутствии регистра с байтом столетия действия функции зависят от микросхемы: если в ней решена проблема 2000 года, возвращаемое время корректно; в противном случае если год меньше 70, он находится в диапазоне от 2000 до 2069, иначе — в диапазоне от 1970 до 1999.
- значение
- Количество секунд с 00 часов 00 минут 1-го января 1970 г. по Гринвичу.
ЗОСРВ «Нейтрино», startup
Построение встраиваемых систем
Предыдущий раздел: перейти