Common target options – Comtrol eCos User Manual

Page 334

Advertising
background image

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

Advertising