rusEFI
The most advanced open source ECU
controllers
global_shared.h
Go to the documentation of this file.
1
/*
2
* @file global_shared.h
3
*
4
* part of global.h which is shared between firmware and simulator
5
* See also common_headers.h
6
*
7
* Dec 25, 2018
8
* @author Andrey Belomutskiy, (c) 2012-2020
9
*/
10
11
#pragma once
12
13
/**
14
* Of note is that interrupts are NOT serviced on the stack of the thread that was running when the
15
* interrupt occurred. The only thing that happens on that thread's stack is that its registers are
16
* pushed (by hardware) when an interrupt occurs, just before swapping the stack pointer out for the
17
* main stack (currently 0x400=1024 bytes), where the ISR actually runs.
18
* see also __main_stack_size__
19
* see also __process_stack_size__
20
*
21
* see also http://www.chibios.org/dokuwiki/doku.php?id=chibios:kb:stacks
22
*
23
* In the firmware we are using 'extern *Engine' - in the firmware Engine is a singleton
24
*
25
* On the other hand, in order to have a meaningful unit test we are passing Engine * engine as a parameter
26
*/
27
28
#include "
global.h
"
29
30
/*
31
* Stack debugging
32
*/
33
EXTERNC
int
getRemainingStack
(thread_t *otp);
34
int
CountFreeStackSpace
(
const
void
* wabase);
35
36
#define assertStackVoid(message, code, desiredAvailableStack) { if (getCurrentRemainingStack() < desiredAvailableStack) { firmwareError(code, "stack: %s"
, message); return; } }
37
#define assertStack(message, code, desiredAvailableStack, result) { if (getCurrentRemainingStack() < desiredAvailableStack) { firmwareError(code, "stack: %s"
, message); return result; } }
global.h
getRemainingStack
EXTERNC int getRemainingStack(thread_t *otp)
Definition:
at32_common.cpp:164
CountFreeStackSpace
int CountFreeStackSpace(const void *wabase)
Definition:
eficonsole.cpp:181
Generated on Tue Sep 17 2024 00:06:36 for rusEFI by
1.9.1