NANO103 BSP V3.02.000
The Board Support Package for Nano103 Series
Data Structures | Macros | Enumerations | Functions | Variables
retarget.c File Reference

Nano 103 retarget source file. More...

#include <stdio.h>
#include "Nano103.h"
Include dependency graph for retarget.c:

Go to the source code of this file.

Data Structures

struct  __FILE
 

Macros

#define DEBUG_PORT   UART0
 
#define BUF_SIZE   512
 
#define __WEAK   __attribute__((weak))
 Routine to send a char. More...
 

Enumerations

enum  {
  r0 ,
  r1 ,
  r2 ,
  r3 ,
  r12 ,
  lr ,
  pc ,
  psr
}
 

Functions

int kbhit (void)
 Check any char input from UART. More...
 
int IsDebugFifoEmpty (void)
 Check if debug message finished. More...
 
void _ttywrch (int ch)
 C library retargetting. More...
 
int fputc (int ch, FILE *stream)
 Write character to stream. More...
 
char GetChar (void)
 Routine to get a char. More...
 
void SendChar_ToUART (int ch)
 Routine to send a char. More...
 
void SendChar (int ch)
 
static void DumpStack (uint32_t stack[])
 Helper function to dump register while hard fault occurred. More...
 
int32_t SH_Return (int32_t n32In_R0, int32_t n32In_R1, int32_t *pn32Out_R0)
 
 __attribute__ ((weak))
 A callback called by library while smartcard request for a time extension. More...
 
int fgetc (FILE *stream)
 Get character from UART debug port or semihosting input. More...
 
int ferror (FILE *stream)
 Check error indicator. More...
 

Variables

FILE __stdout
 
FILE __stdin
 
static volatile int32_t g_ICE_Conneced = 1
 

Detailed Description

Nano 103 retarget source file.

Version
V2.00
Note
SPDX-License-Identifier: Apache-2.0 Copyright (C) 2024 Nuvoton Technology Corp. All rights reserved.

Definition in file retarget.c.

Macro Definition Documentation

◆ __WEAK

#define __WEAK   __attribute__((weak))

Routine to send a char.

Parameters
[in]ch: A character data writes to debug port
Returns
Send value from UART debug port or semihost

Send a target char to UART debug port or semihost.

Definition at line 350 of file retarget.c.

◆ BUF_SIZE

#define BUF_SIZE   512

Definition at line 30 of file retarget.c.

◆ DEBUG_PORT

#define DEBUG_PORT   UART0

Definition at line 28 of file retarget.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
r0 
r1 
r2 
r3 
r12 
lr 
pc 
psr 

Definition at line 94 of file retarget.c.

Function Documentation

◆ _ttywrch()

void _ttywrch ( int  ch)

C library retargetting.

Parameters
[in]chWrite a character data
Returns
None

Check if message finished (FIFO empty of debug port)

Definition at line 503 of file retarget.c.

Here is the call graph for this function:

◆ DumpStack()

static void DumpStack ( uint32_t  stack[])
static

Helper function to dump register while hard fault occurred.

Parameters
[in]stackpointer points to the dumped registers in SRAM
Returns
None

This function is implement to print r0, r1, r2, r3, r12, lr, pc, psr

Definition at line 103 of file retarget.c.

Here is the caller graph for this function:

◆ ferror()

int ferror ( FILE *  stream)

Check error indicator.

Parameters
[in]streamPointer to a FILE object that identifies the stream.
Returns
If the error indicator associated with the stream was set, the function returns a nonzero value. Otherwise, it returns a zero value.

Checks if the error indicator associated with stream is set, returning a value different from zero if it is. This indicator is generally set by a previous operation on the stream that failed.

Note
The above descriptions are copied from http://www.cplusplus.com/reference/clibrary/cstdio/ferror/.

Definition at line 603 of file retarget.c.

◆ fgetc()

int fgetc ( FILE *  stream)

Get character from UART debug port or semihosting input.

Parameters
[in]streamPointer to a FILE object that identifies the stream on which the operation is to be performed.
Returns
The character read from UART debug port or semihosting

For get message from debug port or semihosting.

Definition at line 583 of file retarget.c.

Here is the call graph for this function:

◆ fputc()

int fputc ( int  ch,
FILE *  stream 
)

Write character to stream.

Parameters
[in]chCharacter to be written. The character is passed as its int promotion.
[in]streamPointer to a FILE object that identifies the stream where the character is to be written.
Returns
If there are no errors, the same character that has been written is returned. If an error occurs, EOF is returned and the error indicator is set (see ferror).

Writes a character to the stream and advances the position indicator.
The character is written at the current position of the stream as indicated
by the internal position indicator, which is then advanced one character.

Note
The above descriptions are copied from http://www.cplusplus.com/reference/clibrary/cstdio/fputc/.

Definition at line 527 of file retarget.c.

Here is the call graph for this function:

◆ GetChar()

char GetChar ( void  )

Routine to get a char.

Parameters
None
Returns
Get value from UART debug port or semihost

Wait UART debug port or semihost to input a char.

Definition at line 399 of file retarget.c.

Here is the caller graph for this function:

◆ IsDebugFifoEmpty()

int IsDebugFifoEmpty ( void  )

Check if debug message finished.

Parameters
None
Return values
1Message is finished
0Message is transmitting.

Check if message finished (FIFO empty of debug port)

Definition at line 488 of file retarget.c.

◆ kbhit()

int kbhit ( void  )

Check any char input from UART.

Parameters
None
Return values
1No any char input
0Have some char input

Check UART RSR RX EMPTY or not to determine if any char input from UART

Definition at line 472 of file retarget.c.

◆ SendChar()

__WEAK void SendChar ( int  ch)

Definition at line 352 of file retarget.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SendChar_ToUART()

void SendChar_ToUART ( int  ch)

Routine to send a char.

Parameters
[in]chA character data writes to debug port
Returns
Send value from UART debug port

Send a target char to UART debug port .

Definition at line 261 of file retarget.c.

Here is the caller graph for this function:

◆ SH_Return()

int32_t SH_Return ( int32_t  n32In_R0,
int32_t  n32In_R1,
int32_t *  pn32Out_R0 
)

Definition at line 175 of file retarget.c.

Variable Documentation

◆ __stdin

FILE __stdin

Definition at line 58 of file retarget.c.

◆ __stdout

FILE __stdout

Definition at line 57 of file retarget.c.

◆ g_ICE_Conneced

volatile int32_t g_ICE_Conneced = 1
static

Definition at line 93 of file retarget.c.