ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
dualcore_background.h
Go to the documentation of this file.
1
43
44#pragma once
45
46#include <stdint.h>
47
49
50#ifdef __cplusplus
51extern "C" {
52#endif
53
67typedef enum : uintptr_t {
69} bg_addr_t;
70
85typedef enum : uint32_t {
86 k_bg_m33_signature = 0x33330033UL,
89
113typedef struct {
114 volatile uint32_t counter;
115 volatile uint32_t done;
116 volatile uint32_t m33_sig;
118
136static inline volatile dualcore_bg_t* dualcore_bg(void)
137{
138 return (volatile dualcore_bg_t*)(uintptr_t)k_bg_sram_base;
139}
140
141#ifdef __cplusplus
142}
143#endif
static volatile dualcore_bg_t * dualcore_bg(void)
Typed pointer to the fixed-address shared control block.
bg_const_t
Protocol constants shared by both core images.
@ k_bg_m33_signature
Boot sentinel written by M33.
@ k_bg_target_count
Increment iterations M33 runs.
bg_addr_t
Fixed SRAM address for the shared control block.
@ k_bg_sram_base
Shared block = window base.
Where the EK-RA8D2's Cortex-M85 and Cortex-M33 meet, stated once.
@ k_ra8_board_shared_ram_base
Start of SRAM2: the CPU0 <-> CPU1 meeting window.
Shared control block for the autonomous M33 counter demo.
volatile uint32_t counter
Incremented k_bg_target_count times by M33.
volatile uint32_t m33_sig
M33 stamps k_bg_m33_signature here on boot.
volatile uint32_t done
Set to 1 by M33 once counting is complete.