| NUC472_NUC442_BSP V3.04.000 The Board Support Package for NUC472/NUC442

Macros | Functions | Variables
retarget.c File Reference

NUC472 Series Debug Port and Semihost Setting Source File. More...

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

Go to the source code of this file.

## Macros
#define | __WEAK __attribute__((weak))
#define | __NO_RETURN __attribute__((noreturn))
#define | DEBUG_PORT UART0

## 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...
char | GetChar (void)
| Routine to get a char. More...
void | SendChar_ToUART (int ch)
| Routine to send a char. More...
void | SendChar (int ch)
| Routine to send a char. More...
int32_t | SH_Return (int32_t n32In_R0, int32_t n32In_R1, int32_t *pn32Out_R0)
| This function is called by Hardfault handler. More...
__WEAK uint32_t | ProcessHardFault (uint32_t lr, uint32_t msp, uint32_t psp)
int | fputc (int ch, FILE *stream)
| Write character to stream. 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

## Detailed Description

NUC472 Series Debug Port and Semihost Setting Source File.

NUC472/NUC442 Debug Port and Semihost Setting Source File.

Version
  V3.00

SPDX-License-Identifier: Apache-2.0

Copyright
  (C) 2024 Nuvoton Technology Corp. All rights reserved.

Version
  V1.00

Revision
  12

Date
  15/10/30 3:33p

Note
  SPDX-License-Identifier: Apache-2.0 Copyright (C) 2014 Nuvoton Technology Corp. All rights reserved.

Definition in file retarget.c.

## Macro Definition Documentation

## ◆ __NO_RETURN

#define __NO_RETURN __attribute__((noreturn))

Definition at line 18 of file retarget.c.

## ◆ __WEAK

#define __WEAK __attribute__((weak))

Definition at line 15 of file retarget.c.

## ◆ DEBUG_PORT

#define DEBUG_PORT UART0

Definition at line 47 of file retarget.c.

## Function Documentation

## ◆ _ttywrch()

void _ttywrch | ( | int | ch | ) |

C library retargetting.

Parameters

  [in] | ch | Character to send to debug port.

Returns
  None

Check if message finished (FIFO empty of debug port)

Definition at line 660 of file retarget.c.

Here is the call 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 757 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 736 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 685 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 561 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 641 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 622 of file retarget.c.

## ◆ ProcessHardFault()

__WEAK uint32_t ProcessHardFault | ( | uint32_t | lr,
|  | uint32_t | msp,
|  | uint32_t | psp
| ) |  |

Definition at line 292 of file retarget.c.

## ◆ SendChar()

void SendChar | ( | int | ch | ) |

Routine to send a char.

Parameters

  [in] | ch | Character to send 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 517 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 | Character to send to debug port.

Returns
  Send value from UART debug port

Send a target char to UART debug port .

Definition at line 440 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
| ) |  |

This function is called by Hardfault handler.

Parameters

  None |

Returns
  None

This function is called by Hardfault handler and check if it is caused by __BKPT or not.

Definition at line 421 of file retarget.c.

## Variable Documentation

## ◆ __stdin

FILE __stdin

Definition at line 57 of file retarget.c.

## ◆ __stdout

FILE __stdout

Definition at line 56 of file retarget.c.