| NANO100_BSP V3.05.000 The Board Support Package for Nano100BN Series

Data Structures | Macros | Enumerations | Functions | Variables
retarget.c File Reference

Nano100 series retarget source file. More...

`#include <stdio.h>`
`#include "Nano100Series.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

Nano100 series 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] | ch | Write 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] | stack | pointer 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] | stream | Pointer 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] | stream | Pointer 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] | ch | Character to be written. The character is passed as its int promotion.
  [in] | stream | Pointer 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

  1 | Message is finished
  0 | Message 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

  1 | No any char input
  0 | Have 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] | ch | A 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.