CYGPKG_HAL_CORTEXM_KINETIS_TWR_K70F120M — eCos Support for the Freescale TWR-K70F120M board


The Freescale TWR-K70F120M board has a MK70FN1M0VMJ12 microcontroller which incorporates 1MB of internal flash ROM and 128KB of internal SRAM. The stand-alone board may be targetted, but for access to some peripherals it is assumed that a TWR-ELEV setup, with a TWR-SER daughterboard is being used. For example, with a TWR-SER board present it provides a connector for Ethernet. The TWR-K70F120M motherboard has limited I/O interfaces, with most of the I/O signals being propogated via multi-pin connectors.

The TWR-K70F120M motherboard also provides an on-board JTAG debug circuit (OSJTAG) with virtual serial port, 128MB of DDR2 SDRAM, 256MB of SLC NAND, a MMA8451Q 3-axis accelerometer, a potentiometer, a MicroSD card slot, and some LEDs and buttons.

The TWR-SER daughterboard also provides in addition to the Ethernet connector access to a RS232/484 DB9 connection, a USB Mini-AB connector and a 3-pin CAN connector.

On this board, the expected eCos development model is that programs may be downloaded and debugged via the on-board OSJTAG USB interface, or via a hardware debugger (JTAG/SWD) attached to the JTAG socket. While it is possible to build and install RedBoot or a GDB stub image into the internal FLASH, this is not currently supported.

This documentation describes platform-specific elements of the TWR-K70F120M board support within eCos. The Kinetis variant HAL documentation covers various topics including HAL support common to Kinetis variants, and on-chip device support. This document complements the Kinetis documentation.

Supported Hardware

The MK70FN1M0VMJ12 has two on-chip memory regions. There is a SRAM region of 128KiB present at 0x1FFF0000 and a 1MiB FLASH region present at 0x00000000. The TWR-K70F120M motherboard has 128MiB of SDRAM mapped to 0x08000000.

The Kinetis variant HAL includes support for the six on-chip serial devices which are documented in the variant HAL. For the TWR-K70F120M UART2 is connected to the J8 DB9 connector and also as a virtual serial through the on-board OSJTAG J13 USB connection. There is no connection for hardware flow control (RTS/CTS) lines on this UART3 connection.

Device drivers are provided for the Kinetis on-chip Ethernet MAC, I²C interface and SPI interface. Additionally support is provided for the on-chip watchdog, RTC (wallclock) and a flash driver exists to permit management of the Kinetis's on-chip flash.

Also, whilst the board is fitted with a SLC NAND flash, this is not presently supported by the HAL port. The Kinetis MK70FN1M0VMJ12 processor, and the TWR-K70F120M platform, provide a wide variety of peripherals, but unless support is specifically indicated it should be assumed that support is not included.


The board port is intended to work with GNU tools configured for an arm-eabi target. The original port was done using arm-eabi-gcc version 4.7.3a, arm-eabi-gdb version 7.6, and binutils version 2.23.2.