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.
2024-03-18 | eCosPro Non-Commercial Public License |