Chapter 218. eCos port

Table of Contents

218.1. Overview

218.1. Overview

The goal for the CYGPKG_RTT package is to avoid, where possible, having to have any core RTT source file changes made specifically for eCos. This is to ensure that re-imports of newer versions of the Segger sources involve minimal effort. The files are as provided in the official JLinkRTT release package as imported, with the following exceptions:

  1. Files have been moved, unmodified, to create a standard eCos package tree structure to integrate with the eCosPro build environment

    Only relevant files from the original project have been included in the eCos package.

  2. The file include/Config/SEGGER_RTT_Conf.h is a wrapper that includes the original, unmodified, version of the Segger supplied header. This is done to allow for configuration of the underlying RTT system without having to change the original header source file.
  3. Portions of the test source files found in the original Examples directory have been used, but wrapped as eCos test applications. This has been done to avoid inclusion of unnecessary run-time code.

The current RTT version provided by the eCos package is the SEGGER_RTT_V788m release contained within the JLink_Linux_V788m_x86_64.tgz Linux package.

The following table highlights the files taken from the RTT package and their new location within the eCos CYGPKG_RTT package:

OriginaleCos package
Config/SEGGER_RTT_Conf.hinclude/Config/base/SEGGER_RTT_Conf.h
RTT/SEGGER_RTT.hinclude/RTT/SEGGER_RTT.h
RTT/SEGGER_RTT.csrc/SEGGER_RTT.c
RTT/SEGGER_RTT_ASM_ARMv7M.Ssrc/SEGGER_RTT_ASM_ARMv7M.S
RTT/SEGGER_RTT_printf.csrc/SEGGER_RTT_printf.c
LICENSE.mddoc/LICENSE.md
README.mddoc/README.md

The include structure clunkiness is a side-effect of Segger embedding relative pathnames in their original sources, which we have maintined for the sake of forward maintenance.