HAL Port — Implementation Details
This documentation explains how the eCos HAL specification has been mapped onto the STB220 hardware, and should be read in conjunction with that specification. The STB220 platform HAL package complements the MIPS architectural HAL, the PNX8330 variant HAL, and the PNX83xx support HAL. It provides functionality which is specific to the target board.
Following a hard or soft reset the HAL will set up some of the on-chip
peripherals appropriately for eCos, but most peripherals are left to
their default settings. Full details of this initialization can be
found in the function
The platform HAL provides configuration options for the eCos system clock. This always uses the 4kEc COUNTER/COMPARE registers accessed via coprocessor 0. The actual HAL macros for managing the clock are provided by the MIPS architectural HAL. The specific numbers used are a characteristic of the platform because they depend on the processor speed. The CONFIG unit's timer 0 is used for profiling and its watchdog timer is supported by a watchdog driver.
The STB220 platform HAL enables MIPS16 support in the architecture HAL. This allows application code to be compiled using MIPS16 options and linked against the 32 bit mode eCos library.
To compile for MIPS16 the standard flags that are used in eCos and exported
ecos.mak file should be used except that
-mips32 flag should be replaced by
-mips16 -fwritable-strings. The
-mips16 option enables MIPS16 compilation and the
-fwritable-strings option is a work-around for a
bug in the compiler.
The STB220 platform HAL does not affect the implementation of other parts of the eCos HAL specification.
|2019-09-17||eCosPro Non-Commercial Public License|