716 views
in Getting started by
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

1 Answer

0 votes
by
Hello Julian,

difficult to say without debugging the project...

Maybe you can compare your project with the provided project that can be used to run all the different GUI examples. Are there differences? Did you change the settings for the stack?

Can you ensure that Embedded Wizard code is called only from the GUI thread/task and not from other tasks?

I assume you are working on the EVK and not on your own hardware, correct?

Best regards,

Manfred.

Ask Embedded Wizard

Welcome to the question and answer site for Embedded Wizard users and UI developers.

Ask your question and receive answers from the Embedded Wizard support team or from other members of the community!

Embedded Wizard Website | Privacy Policy | Imprint

...