Common target options – Comtrol eCos User Manual
Page 334

Chapter 11. Porting Guide
define -file system.h CYGHWR_MEMORY_LAYOUT_H
calculated { CYG_HAL_STARTUP == "RAM" ? "
<
pkgconf/mlt_mips_tx39_jmr3904_ram.h
>
" : \
"
<
pkgconf/mlt_mips_tx39_jmr3904_rom.h
>
" }
}
}
Common Target Options
All platforms also specify real-time clock details:
# Real-time clock/counter specifics
cdl_component CYGNUM_HAL_RTC_CONSTANTS {
display
"Real-time clock constants."
flavor
none
cdl_option CYGNUM_HAL_RTC_NUMERATOR {
display
"Real-time clock numerator"
flavor
data
calculated
1000000000
}
cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
display
"Real-time clock denominator"
flavor
data
calculated
100
}
# Isn’t a nice way to handle freq requirement!
cdl_option CYGNUM_HAL_RTC_PERIOD {
display
"Real-time clock period"
flavor
data
legal_values
{ 15360 20736 }
calculated
{ CYGHWR_HAL_MIPS_CPU_FREQ == 50 ? 15360 : \
CYGHWR_HAL_MIPS_CPU_FREQ == 66 ? 20736 : 0 }
}
}
The
NUMERATOR
divided by the
DENOMINATOR
gives the number of nanoseconds per tick. The
PERIOD
is the divider
to be programmed into a hardware timer that is driven from an appropriate hardware clock, such that the timer
overflows once per tick (normally generating a CPU interrupt to mark the end of a tick). The tick default rate is
typically 100Hz.
Platforms that make use of the virtual vector ROM calling interface (see
the Section called Virtual Vectors
(eCos/ROM Monitor Calling Interface)
) will also specify details necessary to define configuration channels (these
options are from the SH/EDK7707 HAL) :
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
display
"Number of communication channels on the board"
flavor
data
calculated
1
}
cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
display
"Debug serial port"
flavor data
230