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



chip_access()

Предоставляет доступ к микросхеме, которая находится по некоторому физическому адресу

Прототип:

#include <sys/startup.h>
void chip_access( paddr_t base,
unsigned reg_shift,
unsigned mem_mapped,
unsigned size );

Аргументы:

base
Базовый адрес.
reg_shift
Регистровое смещение: 0, если расстояние между соседними регистрами составляет 1 байт, 1 — если 2 байта, и т.д. Дополнительную информацию см. в описании devc-ser8250.
mem_mapped
Если параметр равен нулю, функция получает доступ к памяти с помощью вызова startup_io_map(), в противном случае — с помощью вызова startup_memory_map().
size
Параметр определяет диапазон адресов, к которым предоставляется доступ (размер фактически отображаемой области памяти масштабируется параметром reg_shift).

Библиотека:

libstartup

Описание:

Эта функция предоставляет доступ к микросхеме, которая находится по физическому адресу base и имеет регистровое смещение reg_shift.

После вызова этой функции можно пользоваться доступом к устройству с помощью функций chip_read*() и chip_write*(). В каждый момент времени действуют настройки только одного вызова chip_access().

Доступ к микросхеме прекращается с помощью библиотечного вызова chip_done().

Классификация:

ЗОСРВ «Нейтрино», startup

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

chip_done(), chip_read8(), chip_read16(), chip_read32(), chip_read64(), chip_write8(), chip_write16(), chip_write32(), chip_write64(), devc-ser8250, startup_io_map(), startup_memory_map(), struct syspage_entry

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




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