2017-07-31 1:08 GMT+02:00 Hesham Almatary <heshamelmat...@gmail.com>:
> On Mon, Jul 31, 2017 at 5:03 AM, Denis Obrezkov <denisobrez...@gmail.com> > wrote: > > 2017-07-30 20:40 GMT+02:00 Joel Sherrill <j...@rtems.org>: > >> > >> > >> > >> On Jul 30, 2017 12:19 PM, "Denis Obrezkov" <denisobrez...@gmail.com> > >> wrote: > >> > >> 2017-07-30 3:10 GMT+02:00 Joel Sherrill <j...@rtems.org>: > >>> > >>> > >>> > >>> On Jul 29, 2017 8:02 PM, "Denis Obrezkov" <denisobrez...@gmail.com> > >>> wrote: > >>> > >>> > >>> > >>> 2017-07-30 2:34 GMT+02:00 Joel Sherrill <j...@rtems.org>: > >>>> > >>>> > >>>> Sorry to top post but this thread is very deep to answer on a phone. > >>>> > >>>> Try looking at the same code on the erc32 bsp and see how it is done. > >>>> > >>>> Also you could disable the atexit() call and see how.much further you > >>>> get. > >>>> > >>>> > >>> Ok, I will look at erc32 bsp. > >>> I have removed atexit call, now I can proceed further, till the > while(1) > >>> loop in the low ticker test. > >>> But the Dummy Clock doesn't tick. > >>> So, I again get the output: > >>> *** LOW MEMORY CLOCK TICK TEST *** > >>> TA1 - rtems_clock_get_tod - 09:00:00 12/31/1988 > >>> TA2 - rtems_clock_get_tod - 09:00:00 12/31/1988 > >>> TA3 - rtems_clock_get_tod - 09:00:00 12/31/1988 > >>> > >>> > >>> Low ticker has its Init task become the idle task. Your clock driver > >>> simulator thread is likely never running. > >>> > >>> Try turning that option off in the test > >>> > >>> > >>> > >>> -- > >>> Regards, Denis Obrezkov > >>> > >>> > >> > >> I tried it, but I had an error > >> ../../../../../hifive1/lib/include/rtems/confdefs.h:3586:2: error: > #error > >> "CONFIGURATION ERROR: No initialization tasks or threads configured!!" > >> #error "CONFIGURATION ERROR: No initialization tasks or threads > >> configured!!" > >> > >> > >> You have to configure an Init task. > >> > >> > >> > >> > >> -- > >> Regards, Denis Obrezkov > >> > >> > > Yes, I understand that, but I can't find proper configuration options. > > > #define CONFIGURE_INIT > > There might be other #ifdefs needed as well like: > > #define CONFIGURE_RTEMS_INIT_TASKS_TABLE > > Have a look at the existing hello and ticker examples (not low ticker). > > > > > > -- > > Regards, Denis Obrezkov > > > > _______________________________________________ > > devel mailing list > > devel@rtems.org > > http://lists.rtems.org/mailman/listinfo/devel > > > > -- > Hesham > I was trying to implement interrupt-driven clock driver. In bspstart.c I added bsp_interrupt_initialize() and added an interrupt initialization code static void FE310_clock_driver_support_install_isr( rtems_isr_entry Clock_isr ) { rtems_status_code sc = RTEMS_SUCCESSFUL; sc = rtems_interrupt_handler_install( 1, "Clock", RTEMS_INTERRUPT_UNIQUE, (rtems_interrupt_handler) Clock_isr, NULL ); if ( sc != RTEMS_SUCCESSFUL ) { rtems_fatal_error_occurred(0xdeadbeef); } } Also, I added a call in IRQ handler: bsp_interrupt_handler_table[1].handler(bsp_interrupt_handler_table[1].arg); This way I was able to generate one tick and get an exception on the second with -O0 and I wasn't able to generate any interrupts with -Os option with the same code. With -O0 code behaves differently, I think I am missing something. -- Regards, Denis Obrezkov
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel