zephyr: ehl_crb: samples/subsys/shell/shell_module does not work

samples/subsys/shell/shell_module on EHL does not work at all.

HW dbg shows it went to the fatal exception handling path.

I disabled all the thread related options in the prj.conf:

CONFIG_PRINTK=y
CONFIG_SHELL=y
CONFIG_LOG=y
CONFIG_INIT_STACKS=y
#CONFIG_THREAD_STACK_INFO=y
CONFIG_KERNEL_SHELL=y
#CONFIG_THREAD_MONITOR=y
CONFIG_BOOT_BANNER=n
#CONFIG_THREAD_NAME=y
CONFIG_DEVICE_SHELL=y
CONFIG_POSIX_CLOCK=y
CONFIG_DATE_SHELL=y
#CONFIG_THREAD_RUNTIME_STATS=y

And it worked again. So one of this option is broken on EHL.

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 28 (8 by maintainers)

Commits related to this issue

Most upvoted comments

Does it still fail if you stub out 100% of the function? That is, replace it with void z_thread_mark_switched_in(void) {}? It’s not impossible this is a stack setup problem that is blowing up due to the simple function call and not anything to do with the content of the function.

If that works, try commenting out individual lines of that function one by one (looking at it, it’s an #ifdef hell, so many may not actually be compiled, but whatever). Eventually you should get to one line that causes the failure. Then we dig down farther. (e.g. if it’s the SYS_PORT_TRACING_FUNC macro, we know to look in the tracing layer, if it’s k_cycle_get_32() then maybe the timer driver isn’t initialized yet, etc…)