Startup type, Build options – Comtrol eCos User Manual

Page 332

Advertising
background image

Chapter 11. Porting Guide

...

}

This specifies that the platform package should be parented under the MIPS packages, requires the TX39 variant
HAL and all configuration settings should be saved in

cyg/hal/hal_mips_tx39_jmt3904.h

.

The

compile

line specifies which files should be built when this package is enabled, and the

define_proc

defines

some macros that are used to access the variant or architecture (the

_TARGET_

name is a bit of a misnomer) and

platform configuration options.

Startup Type

eCos uses an option to select between a set of valid startup configurations. These are normally RAM, ROM and pos-
sibly ROMRAM. This setting is used to select which linker map to use (i.e., where to link eCos and the application
in the memory space), and how the startup code should behave.

cdl_component CYG_HAL_STARTUP {

display

"Startup type"

flavor

data

legal_values

{"RAM" "ROM"}

default_value {"RAM"}

no_define

define -file system.h CYG_HAL_STARTUP

description

"

When targeting the JMR3904 board it is possible to build

the system for either RAM bootstrap, ROM bootstrap, or STUB

bootstrap. RAM bootstrap generally requires that the board

is equipped with ROMs containing a suitable ROM monitor or

equivalent software that allows GDB to download the eCos

application on to the board. The ROM bootstrap typically

requires that the eCos application be blown into EPROMs or

equivalent technology."

}

The

no_define

and

define

pair is used to make the setting of this option appear in the file

system.h

instead of

the default specified in the header.

Build options

A set of options under the components

CYGBLD_GLOBAL_OPTIONS

and

CYGHWR_MEMORY_LAYOUT

specify how

eCos should be built: what tools and compiler options should be used, and which linker fragments should be used.

cdl_component CYGBLD_GLOBAL_OPTIONS {

display "Global build options"

flavor

none

parent

CYGPKG_NONE

description

"

Global build options including control over

compiler flags, linker flags and choice of toolchain."

228

Advertising