Segger rtt lib
Dependents: acnSensa_LIS acd52832_Indoor_Posit_Peripheral acd52832_Indoor_Posit_Central iBeacon acnsensa ... more
SEGGER_RTT_Syscalls_GCC.c
- Committer:
- jurica238814
- Date:
- 2018-05-31
- Revision:
- 1:5acbf302ee01
- Parent:
- 0:e61e7fc7cfe1
- Child:
- 2:abdc4190029b
File content as of revision 1:5acbf302ee01:
/********************************************************************* * SEGGER MICROCONTROLLER GmbH & Co. KG * * Solutions for real time microcontroller applications * ********************************************************************** * * * (c) 2014 - 2015 SEGGER Microcontroller GmbH & Co. KG * * * * www.segger.com Support: support@segger.com * * * ********************************************************************** * * * All rights reserved. * * * * * This software may in its unmodified form be freely redistributed * * in source form. * * * The source code may be modified, provided the source code * * retains the above copyright notice, this list of conditions and * * the following disclaimer. * * * Modified versions of this software in source or linkable form * * may not be distributed without prior consent of SEGGER. * * * This software may only be used for communication with SEGGER * * J-Link debug probes. * * * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * * DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR * * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT * * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; * * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE * * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH * * DAMAGE. * * * ********************************************************************** -------- END-OF-HEADER --------------------------------------------- File : SEGGER_RTT_Syscalls_GCC.c Purpose : Low-level functions for using printf() via RTT in GCC. To use RTT for printf output, include this file in your application. ---------------------------------------------------------------------- */ //#include <reent.h> // required for _write_r #include "SEGGER_RTT.h" #include <stdint.h> typedef uint32_t size_t; /********************************************************************* * * Types * ********************************************************************** */ // // If necessary define the _reent struct // to match the one passed by the used standard library. // struct _reent; /********************************************************************* * * Function prototypes * ********************************************************************** */ /********************************************************************* * * Global functions * ********************************************************************** */ /********************************************************************* * * _write() * * Function description * Low-level write function. * libc subroutines will use this system routine for output to all files, * including stdout. * Write data via RTT. */ int _write(int file, char *ptr, int len) { (void) file; /* Not used, avoid warning */ SEGGER_RTT_Write(0, ptr, len); return len; } /********************************************************************* * * _write_r() * * Function description * Low-level reentrant write function. * libc subroutines will use this system routine for output to all files, * including stdout. * Write data via RTT. */ int _write_r(struct _reent *r, int file, const void *ptr, size_t len) { (void) file; /* Not used, avoid warning */ (void) r; /* Not used, avoid warning */ SEGGER_RTT_Write(0, ptr, len); return len; } /****** End Of File *************************************************/