Операционная система ЗОСРВ «Нейтрино» > Руководство разработчика > Основные принципы системной разработки > Запуск системы, быстрая активация устройств > Построение встраиваемых систем > API библиотек libipl и libstartup > rtc_time()



rtc_time()

Возвращает количество секунд с 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

Тематические ссылки:

Построение встраиваемых систем




Предыдущий раздел: перейти