Hello,
I've created a project for NXP RT1064 evaluation board per
https://doc.embedded-wizard.de/getting-started-mimxrt1064-evk?v=9.30
All EW generated code.
It runs the default (one) thread/task, GuiThread() which processes the EW main loop EwProcess().
It has three (3) dialogs, startupDialog, Dialog1 and Dialog2.
Application class Init() creates the startupDialog which has two buttons, button_1 and button_2.
newDialog = new Application::StartupDialog;
PresentDialog( newDialog, null, null, null, null, null, null, null, null, false );
Pressing button_1 selects Dialog_1:
Dialog1 has two buttons (OK and Cancel), Application::virtualkeyboard and Application::Editor.
Pressing the Cancel button on Dialog_1, switches to the StartupDialog
var Core::Group newDialog = new Application::StartupDialog;
SwitchToDialog( newDialog, null, null, null, null, null, null, null, null, null, false );
By pressing button_1 on StratupDialog and Cancel button on Dialog1, it switches between the two dialogs three (3) times, before the Micro crashes.
The min stack size is the default value set by EW.
#define configMINIMAL_STACK_SIZE ( ( uint16_t ) 128 )
If I change this to 256, the above sequence will go up to ten (10) times before the micro crashes.
#define configMINIMAL_STACK_SIZE ( ( uint16_t ) 256)
If I have the configASSERT defined, it reports:
ASSERT ERROR " uxCriticalNesting ": file ../ThirdParty/MCUXpressoSDK/rtos/freertos/freertos_kernel/portable/GCC/ARM_CM4F/port.c" Line "422" function name "vPortExitCritical"
If the configASSERT is not defined, and having the debugger running, it might stay at line 150 of list.c, for( pxIterator = ( ListItem_t * ) &( pxList->xListEnd ); pxIterator->pxNext->xItemValu....
or HardFault_Handler() or MemManage_Handler().
Toolset:
NXP RT1064 Eval board
MCUEpresso IDE V11.2.1 (Build 4149)
Embedded Wizard Studio Free Version 9.30
Please kindly help and advise how this can be addressed.
Thanks in advance.
julian