mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-02-02 05:58:30 -04:00
HAL_ChibiOS: adjust MAIN_STACK for more ISR stack
we need more stack to deal with interrupt nesting between CAN, system timer and serial interrupts
This commit is contained in:
parent
52a90e7a33
commit
573cd6db6d
@ -119,7 +119,7 @@ define NO_DATAFLASH TRUE
|
||||
define DMA_RESERVE_SIZE 0
|
||||
|
||||
define PERIPH_FW TRUE
|
||||
MAIN_STACK 0x100
|
||||
MAIN_STACK 0x200
|
||||
PROCESS_STACK 0x600
|
||||
define HAL_DISABLE_LOOP_DELAY
|
||||
|
||||
|
@ -82,8 +82,8 @@ define DMA_RESERVE_SIZE 0
|
||||
|
||||
define PERIPH_FW TRUE
|
||||
|
||||
# MAIN_STACK is stack of initial thread
|
||||
MAIN_STACK 0x80
|
||||
# MAIN_STACK is stack of initial thread and ISRs
|
||||
MAIN_STACK 0x200
|
||||
|
||||
# PROCESS_STACK controls stack for main thread
|
||||
PROCESS_STACK 0x600
|
||||
|
@ -58,7 +58,7 @@ define DMA_RESERVE_SIZE 0
|
||||
define PERIPH_FW TRUE
|
||||
|
||||
# MAIN_STACK is stack of initial thread
|
||||
MAIN_STACK 0x80
|
||||
MAIN_STACK 0x200
|
||||
|
||||
# PROCESS_STACK controls stack for main thread
|
||||
PROCESS_STACK 0x800
|
||||
|
@ -77,8 +77,8 @@ define DMA_RESERVE_SIZE 0
|
||||
|
||||
define PERIPH_FW TRUE
|
||||
|
||||
# MAIN_STACK is stack of initial thread
|
||||
MAIN_STACK 0x80
|
||||
# MAIN_STACK is stack of initial thread and of ISRs
|
||||
MAIN_STACK 0x200
|
||||
|
||||
# PROCESS_STACK controls stack for main thread
|
||||
PROCESS_STACK 0x800
|
||||
@ -107,7 +107,7 @@ define IO_THD_WA_SIZE 256
|
||||
|
||||
define HAL_NO_GCS
|
||||
define HAL_NO_LOGGING
|
||||
define HAL_NO_MONITOR_THREAD
|
||||
//define HAL_NO_MONITOR_THREAD
|
||||
|
||||
define HAL_MINIMIZE_FEATURES 0
|
||||
|
||||
|
@ -679,10 +679,13 @@ def write_mcu_config(f):
|
||||
else:
|
||||
env_vars['PROCESS_STACK'] = "0x2000"
|
||||
|
||||
# MAIN_STACK is location of initial stack on startup and is also the stack
|
||||
# used for slow interrupts. It needs to be big enough for maximum interrupt
|
||||
# nesting
|
||||
if get_config('MAIN_STACK', required=False):
|
||||
env_vars['MAIN_STACK'] = get_config('MAIN_STACK')
|
||||
else:
|
||||
env_vars['MAIN_STACK'] = "0x400"
|
||||
env_vars['MAIN_STACK'] = "0x600"
|
||||
|
||||
if get_config('IOMCU_FW', required=False):
|
||||
env_vars['IOMCU_FW'] = get_config('IOMCU_FW')
|
||||
|
Loading…
Reference in New Issue
Block a user