ST M41TXX Wallclock Device Driver

Name

CYGPKG_DEVICES_WALLCLOCK_ST_M41TXX -- eCos Support for the ST M41TXX Serial Real-Time Clock

Description

This package CYGPKG_DEVICES_WALLCLOCK_ST_M41TXX provides a device driver for the wallclock device in the ST M41TXX Serial Real-Time Clock chips. This is a real-time clock, alarm and watchdog in a single package. eCos only currently supports the real-time clock function.

The package will usually be loaded into the configuration automatically whenever selecting a target which contains a compatible chip. By default it will provide the standard eCos wallclock device, although another implementation such as software emulation may be selected if desired. The only other configuration options related to this package allow users to change the compiler flags. If the application does not actually use the wallclock device, directly or indirectly, then the code should get removed automatically at link-time to ensure that the application does not suffer any unnecessary overheads.

Functionality

This wallclock device driver package implements the standard functionality required by the generic wallclock support CYGPKG_IO_WALLCLOCK. The functionality is not normally accessed directly. Instead it is used by the C library time package to implement standard calls such as time and gmtime. The eCos C library also provides a non-standard function cyg_libc_time_settime for changing the current wallclock setting. In addition RedBoot provides a date command which interacts with the wallclock device.

Porting

M41TXX platform support is implemented via the generic I2C API, as defined by the package CYGPKG_IO_I2C. The platform HAL can just provide a cyg_i2c_device structure cyg_i2c_wallclock_m41txx. The M41TXX driver will now use I2C rx and tx operations to interact with the chip.

In addition the M41TXX device driver package CYGPKG_DEVICES_WALLCLOCK_ST_M41TXX should be included in the CDL target entry so that it gets loaded automatically whenever eCos is configured for that target.

2017-02-09
Documentation license for this page: eCosPro License