Name

Configuration — Platform-specific Configuration Options

Overview

The LM3S8962-EVAL board platform HAL package is loaded automatically when eCos is configured for an lm3s8962_eval target. It should never be necessary to load this package explicitly. Unloading the package should only happen as a side effect of switching target hardware.

Startup

The LM3S8962-EVAL board platform HAL package supports three separate startup types:

RAM
This is the startup type which is normally used during application development. The board has GDB stubs programmed into internal Flash at location 0x00000000 and uses internal RAM at location 0x20000000. arm-eabi-gdb is then used to load a RAM startup application into memory from 0x20001000 and debug it. It is assumed that the hardware has already been initialized by the stubs. By default the application will use the eCos virtual vectors mechanism to obtain services from the stubs, including diagnostic output.
ROM
This startup type can be used for finished applications which will be programmed into internal ROM at location 0x00000000. Data and BSS will be put into internal RAM starting from 0x20000400. The application will be self-contained with no dependencies on services provided by other software. The program expects to boot from reset into ROM at location zero. eCos startup code will perform all necessary hardware initialization.
JTAG
This is the startup type used to build applications that are loaded via a JTAG interface. The application will be self-contained with no dependencies on services provided by other software. The program expects to be loaded from 0x20000400 and entered at that address. eCos startup code will perform all necessary hardware initialization.

Monitors and Virtual Vectors

If the application is intended to act as a ROM monitor, providing services for other applications, then the configuration option CYGSEM_HAL_ROM_MONITOR should be set. Typically this option is set only when building the Stubrom.

If the application is supposed to make use of services provided by a ROM monitor, via the eCos virtual vector mechanism, then the configuration option CYGSEM_HAL_USE_ROM_MONITOR should be set. By default this option is enabled when building for a RAM startup, disabled otherwise. It can be manually disabled for a RAM startup, making the application self-contained, as a testing step before switching to ROM startup.

If the application does not rely on a ROM monitor for diagnostic services then serial port 0 will be claimed for HAL diagnostics.

UART Serial Driver

The LM3S8962-EVAL board uses the LM3S's internal UART serial support. As well as the polled HAL diagnostic interface, there is also a CYGPKG_IO_SERIAL_CORTEXM_LM3S package which configures the CYGPKG_IO_SERIAL_ARM_PL011 for use in the LM3S series. Both UARTs can be supported by this driver, although only UART0 is actually routed to an external connector. Note that it is not recommended to enable this driver on the port used for HAL diagnostic I/O. This driver is not active until the CYGPKG_IO_SERIAL_DEVICES configuration option within the generic serial driver support package CYGPKG_IO_SERIAL is enabled in the configuration.