SAMV71 Xplained Ultra Software Package 1.3

retarget.c

00001 /* ----------------------------------------------------------------------------
00002  *         ATMEL Microcontroller Software Support
00003  * ----------------------------------------------------------------------------
00004  * Copyright (c) 2010, Atmel Corporation
00005  *
00006  * All rights reserved.
00007  *
00008  * Redistribution and use in source and binary forms, with or without
00009  * modification, are permitted provided that the following conditions are met:
00010  *
00011  * - Redistributions of source code must retain the above copyright notice,
00012  * this list of conditions and the disclaimer below.
00013  *
00014  * Atmel's name may not be used to endorse or promote products derived from
00015  * this software without specific prior written permission.
00016  *
00017  * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
00018  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
00019  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
00020  * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
00021  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
00022  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
00023  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
00024  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
00025  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00026  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00027  * ----------------------------------------------------------------------------
00028  */
00029 
00030 /*
00031  * This file Configures the target-dependent low level functions for character
00032  * I/O.
00033  */
00034 
00035 #include "board.h"
00036 #include "dbg_console.h"
00037 #include <stdio.h>
00038 
00039 /* Disable semihosting */
00040 #pragma import(__use_no_semihosting_swi)
00041 
00042 struct __FILE { int handle;};
00043 FILE __stdout;
00044 FILE __stderr;
00045 
00046 /*------------------------------------------------------------------------------
00047  *  Outputs a character.
00048  *-----------------------------------------------------------------------------*/
00049 int fputc(int ch, FILE *f)
00050 {
00051     if ((f == stdout) || (f == stderr))
00052     {
00053         DBG_PutChar(ch);
00054         return ch;
00055     }
00056     else
00057     {
00058         return EOF;
00059     }
00060 }
00061 
00062 /*------------------------------------------------------------------------------
00063  *  Returns the error status accumulated during file I/O.
00064  *-----------------------------------------------------------------------------*/
00065 int ferror( FILE *f )
00066 {
00067     return EOF;
00068 }
00069 
00070 
00071 void _ttywrch( int ch )
00072 {
00073     DBG_PutChar( (uint8_t)ch );
00074 }
00075 
00076 void _sys_exit(int return_code)
00077 {
00078     while ( 1 );  /* endless loop */
00079 }
00080 
00081 /*------------------------------------------------------------------------------
00082  *  Low level functions I/O for assert().
00083  *-----------------------------------------------------------------------------*/
00084 void __assert_puts(const char *str)
00085 {
00086     printf("%s", str);
00087 }
00088 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines