Hello Bill,
If you do printf from inside tx_application_define_user, please make sure that the "main stack" (configured in the properties on the BSP tab) is big enough. Since this code is executed before threads are dispatched, it uses the main stack just like HAL-only application. Additionally, no changes in the configurator will affect GUIX System Thread stack size. GUIX does not run on the thread that initializes it, instead it creates its own thread with stack size pre-defined as 4096 bytes. You can re-configure stack size by defining GX_THREAD_STACK_SIZE=newsize in the compiler preprocessor settings. I also recommend adjusting miscellaneous linker settings to use newlib-nano, as it implements lightweight version of printf and does not require as much heap or stack to execute. Lastly, stack needs to be aligned on an 8-byte boundary on a public interface (i.e. between stdlib and guix library). I'm currently looking at the place the stack is allocated from, and I can't see any forced alignment (the map file shows 4-byte alignment for _gx_system_thread_stack which is the default for arrays) - this mey be why you're seeing the problem. Verify that the printf() calls work in other threads in your project to make sure that there aren't any other factors "breaking" this feature.
Regards