21 #include <data_specification.h>
22 #include <simulation.h>
24 #include <recording.h>
28 #ifndef APPLICATION_NAME_HASH
29 #error APPLICATION_NAME_HASH was undefined. Make sure you define this\
76 static inline bool initialise_common_regions(
79 prov_callback_t store_provenance_function, callback_t
timer_callback,
81 data_specification_metadata_t **ds_regions) {
84 *ds_regions = data_specification_get_data_address();
87 if (!data_specification_read_header(*ds_regions)) {
92 if (!simulation_initialise(
93 data_specification_get_region(regions.system, *ds_regions),
98 simulation_set_provenance_function(
99 store_provenance_function,
100 data_specification_get_region(regions.provenance, *ds_regions));
103 profiler_init(data_specification_get_region(regions.profiler, *ds_regions));
106 void *rec_addr = data_specification_get_region(regions.recording, *ds_regions);
126 recording_finalise();
static uint32_t recording_flags
The recording flags indicating if anything is recording.
static uint32_t simulation_ticks
Simulation speed.
static uint32_t infinite_run
True if we're running forever.
static uint32_t timer_period
Used for configuring the timer hardware.
static void timer_callback(uint timer_count, uint unused1)
Main timer callback.
static uint32_t time
Simulation time.
The callback priorities used by all simulation cores.
uint32_t sdp
The SDP callback priority.
uint32_t dma
The DMA callback priority.
uint32_t timer
The timer callback priority.
The identifiers of the regions used by all simulation cores.
uint32_t provenance
Where provenance data will be stored.
uint32_t recording
Where recording metadata will be read and stored.
uint32_t profiler
Where profile data will be read and stored.
uint32_t system
Data for general simulation setup.