NEORV32 Software Framework Documentation
The NEORV32 RISC-V Processor
Loading...
Searching...
No Matches
neorv32_aux.h
Go to the documentation of this file.
1// ================================================================================ //
2// The NEORV32 RISC-V Processor - https://github.com/stnolting/neorv32 //
3// Copyright (c) NEORV32 contributors. //
4// Copyright (c) 2020 - 2025 Stephan Nolting. All rights reserved. //
5// Licensed under the BSD-3-Clause license, see LICENSE for details. //
6// SPDX-License-Identifier: BSD-3-Clause //
7// ================================================================================ //
8
13
14#ifndef neorv32_aux_h
15#define neorv32_aux_h
16
17#include <stdint.h>
18
19
20/**********************************************************************/
24#define neorv32_aux_min(a, b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; })
25#define neorv32_aux_max(a, b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a > _b ? _a : _b; })
27
28
29/**********************************************************************/
32typedef struct {
33 uint16_t year;
34 uint8_t month;
35 uint8_t day;
36 uint8_t weekday;
37 uint8_t hours;
38 uint8_t minutes;
39 uint8_t seconds;
40} date_t;
41
42
43/**********************************************************************/
47uint64_t neorv32_aux_date2unixtime(date_t* date);
48void neorv32_aux_unixtime2date(uint64_t unixtime, date_t* date);
49uint64_t neorv32_aux_hexstr2uint64(char *buffer, unsigned int length);
50uint32_t neorv32_aux_xorshift32(void);
51void neorv32_aux_itoa(char *buffer, uint32_t num, uint32_t base);
53void neorv32_aux_print_hw_version(uint32_t impid);
55void neorv32_aux_print_logo(void);
58
59
60#endif // neorv32_aux_h
uint64_t neorv32_aux_hexstr2uint64(char *buffer, unsigned int length)
Definition neorv32_aux.c:150
void neorv32_aux_print_logo(void)
Definition neorv32_aux.c:573
void neorv32_aux_print_license(void)
Definition neorv32_aux.c:614
void neorv32_aux_print_about(void)
Definition neorv32_aux.c:559
void neorv32_aux_unixtime2date(uint64_t unixtime, date_t *date)
Definition neorv32_aux.c:84
uint64_t neorv32_aux_date2unixtime(date_t *date)
Definition neorv32_aux.c:27
void neorv32_aux_print_hw_version(uint32_t impid)
Definition neorv32_aux.c:527
void neorv32_aux_print_hw_config(void)
Definition neorv32_aux.c:260
void neorv32_aux_itoa(char *buffer, uint32_t num, uint32_t base)
Definition neorv32_aux.c:213
uint32_t neorv32_aux_xorshift32(void)
Definition neorv32_aux.c:194
Definition neorv32_aux.h:32
uint8_t seconds
Definition neorv32_aux.h:39
uint8_t month
Definition neorv32_aux.h:34
uint8_t minutes
Definition neorv32_aux.h:38
uint8_t hours
Definition neorv32_aux.h:37
uint8_t weekday
Definition neorv32_aux.h:36
uint8_t day
Definition neorv32_aux.h:35
uint16_t year
Definition neorv32_aux.h:33