Further to my question relating to the CAN example crashing I have found
that the issue is more generic.

1) If I enable Debug Assertions the build will not run at all as it halts
very very early on. Debugger suggests the system is in up_idle().

2) Any (valid and enabled) call for a debug info/warn/error message produces
no actual message on the console. Not just in the CAN example but others
too. Console (and nsh) working fine. For example, the PWM example works just
fine. If I enable debug messages for this it doesn't crash, still works as
expected, but no debug message text. FYI I added this to the example to
prove the point:

  #if defined CONFIG_DEBUG_PWM_INFO
  printf("PWM_WARN_PRINTF_DEBUG\n");
  pwmerr("PWMINFO: starting pwm example PWM\n");
  #else
    printf("JUST A PWM WARN PRINTF\n");
  #endif

I get the "PWM_WARN_PRINTF_DEBUG" text on the console, but not the "PWMINFO:
starting pwm example PWM" text.

3) In the case of the CAN example I have been trying to get working, the
call to open the CAN port open() (/dev/can0) causes a crash - debugger shows
it's in arm_assert.c but implies it's the "armv7-a/arm_assert.c" file.
There is no specific assert file in the sama5 arch folders. Is that right?

Problem 3) is most likely a silly silly bug in my modified CAN init code
that I've created for the SAMA5D27 (so I can register both CAN devices), but
without assert or debug messages working - and until I get my dev
environment properly sorted so I can add breakpoints and inspect the code
etc. - I am limited to a bit of prodding in the dark. 

But I am trying to continue to basically prove my board is actually OK from
a hardware point of view.

Can anyone offer any insight into why Assert and debug info/warn/error
messages are "misbehaving" like this?







Reply via email to