ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_board_ek_ra8d2_dualcore.c
Go to the documentation of this file.
1
21
23
24#include <stdint.h>
25
26#include "ra8_check.h"
27#include "ra8_err.h"
28
30static const char* const s_tag = "ra8_board.dualcore";
31
49#ifdef RA8_BOOT_ENABLE_CACHE_MPU
50static const bool s_shared_ram_is_non_cacheable = true;
51#else
52static const bool s_shared_ram_is_non_cacheable = false;
53#endif
54
56{
57 RA8_CHECK_NULL_PTR(out, s_tag, "out must not be nullptr");
59 .base = (void*)(uintptr_t)k_ra8_board_shared_ram_base,
60 .size_bytes = (uint32_t)k_ra8_board_shared_ram_size_bytes,
61 .non_cacheable = s_shared_ram_is_non_cacheable,
62 };
63 return k_ra8_ok;
64}
static const char * s_tag
Logging / check tag.
Definition ra8_app.c:17
static const bool s_shared_ram_is_non_cacheable
Whether the boot MPU marks the shared window Normal non-cacheable.
ra8_err_t ra8_board_shared_ram(ra8_board_shared_ram_t *out)
Describe the window where the M85 and the M33 meet.
Where the EK-RA8D2's Cortex-M85 and Cortex-M33 meet, stated once.
@ k_ra8_board_shared_ram_size_bytes
576 KiB, base up to CPU1's bank.
@ k_ra8_board_shared_ram_base
Start of SRAM2: the CPU0 <-> CPU1 meeting window.
Validation and Error-Checking Macros for ra8-firmware.
#define RA8_CHECK_NULL_PTR(ptr, tag, message)
Reject nullptr pointer, returning k_ra8_err_null_ptr.
Definition ra8_check.h:243
Error Code Definitions for ra8-firmware.
@ k_ra8_ok
Success – operation completed with all postconditions satisfied.
Definition ra8_err.h:119
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Definition ra8_err.h:546
Runtime descriptor of the CPU0 <-> CPU1 shared window.