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?