Name
Configuration — Platform-specific Configuration Options
Overview
The CYGPKG_HAL_CORTEXM_KINETIS_TWR_K60N512
platform
HAL package is loaded automatically when eCos is configured for either
the twr_k60n512
or twr_k60d100m
targets. 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 target board platform HAL package supports the standard variant HAL startup types:
- ROM
- This startup type can be used for finished applications which will be programmed into internal flash ROM at location 0x00000000. Data and BSS will be put into on-chip SRAM starting from 0x1FFF0000. The application will be self-contained with no dependencies on services provided by other software. The program expects to boot from reset with ROM mapped at location zero. eCos startup code will perform all necessary hardware initialization.
- RAM
- This is the startup type which is used if relying on either a RedBoot or a GDB stub ROM image programmed into internal flash to download and run applications into on-chip SRAM via arm-eabi-gdb. It is assumed that the hardware has already been initialized by the ROM monitor. By default the application will use the eCos virtual vectors mechanism to obtain services from the ROM monitor, including diagnostic output.
- JTAG
- This is the startup type used to build applications that are loaded via a hardware debug interface into on-chip SRAM. The application will be self-contained with no dependencies on services provided by other software. For the variant JTAG startup type the eCos run-time will perform all necessary hardware initialization.
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 GDB stub ROM
(or RedBoot).
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 the serial port will be claimed for HAL diagnostic output.
UART Serial Driver
The platform HAL uses the Kinetis's internal UART serial support. The HAL diagnostic interface, used for both polled diagnostic output and GDB stub communication, can be directed to either UART3 (default) or UART5 as required.
As well as the polled HAL diagnostic interface, there is also
a CYGPKG_IO_SERIAL_FREESCALE_UART
package which
contains all the code necessary to support interrupt-driven operation
with greater functionality. All six UARTs can be supported by this
driver. Note that it is not recommended to use this driver with a port
at the same time as using that port 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. By default this will only enable support in the driver
for the UART2 port (the same as the HAL diagnostic interface), but the
default configuration can be modified to enable support for other
serial ports.
Ethernet Driver
The TWR-SER daughterboard is fitted with an Ethernet port connected
via a KSZ8041NL PHY to the K60
on-chip Ethernet
MAC. This is supported in eCosPro with a driver contained in the
package CYGPKG_DEVS_ETH_FREESCALE_ENET
.
The driver will be inactive (not built and greyed out in the eCos
Configuration Tool) unless the
“Common Ethernet support”
(CYGPKG_IO_ETH_DRIVERS
) package is included in your
configuration. As the Kinetis ethernet driver is likely to be used in
deeply embedded, low footprint, applications it is most appropriate to
choose the lwip_eth
template as a starting point
when choosing an eCos configuration, which will cause the necessary
packages to be automatically included.
SPI Driver
A Kinetis SPI bus driver is available in the package
“Freescale DSPI driver”
(CYGPKG_DEVS_SPI_FREESCALE_DSPI
).
No SPI devices are instantiated by default. Consult the generic SPI driver API documentation in the eCosPro Reference Manual for further details on SPI support in eCosPro, along with the configuration options in the Freescale DSPI device driver.
I²C Driver
A Kinetis I²C hardware driver is available in the package
“Freescale I2C driver”
(CYGPKG_DEVS_I2C_FREESCALE_I2C
).
Flash Driver
The Kinetis's on-chip flash may be programmed and managed using the
flash driver located in the
“Kinetis FLASH memory support”
(CYGPKG_DEVS_FLASH_KINETIS
) package. This driver is
enabled automatically if the generic
“Flash device drivers”
(CYGPKG_IO_FLASH
) package is included in the eCos
configuration.
The driver will configure itself automatically for the size and parameters of the specific Kinetis variant present on the TWR-K60N512/TWR-K60D100M board.
2024-03-18 | eCosPro Non-Commercial Public License |