Thanks a lot for your answer. On Wed, Jan 21, 2015 at 4:27 PM, Gedare Bloom <ged...@gwu.edu> wrote: > Martin, > > printf can be quite sensitive to register problems. You should isolate > the bug e.g. by modifying hello world which does not have ISRs to do > printf of a 2-digit int. If printf works there, the problem may be > coming from register problems during ISR handling in which case you > should use something with ISRs like ticker. If you have a small test > case that shows the bug with the current git that would be worth > creating a ticket on Trac and attaching the test case.
I explicitly disabled SCI interrupts when I started testing this (I'm using tms570_sci_handler_polled as opposed to tms570_sci_handler_interrupt as the termios device handler). The weird thing is that printf is working fine with arbitrarily long strings, or when formatting single-digit positive ints. Here's the code I'm testing this with: #ifdef HAVE_CONFIG_H #include "config.h" #endif #include <rtems/test.h> #include <bsp.h> /* for device driver prototypes */ #include <stdio.h> /* forward declarations to avoid warnings */ rtems_task Init(rtems_task_argument argument); rtems_task Init(rtems_task_argument ignored) { printf("%d\n", 10); while(1); } /* NOTICE: the clock driver is explicitly disabled */ #define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER #define CONFIGURE_MAXIMUM_TASKS 1 #define CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM #define CONFIGURE_RTEMS_INIT_TASKS_TABLE #define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION #define CONFIGURE_INIT #include <rtems/confdefs.h> _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel