public inbox for ecos-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug 1001300] problème de commutation des taches
       [not found] <bug-1001300-777@http.bugs.ecos.sourceware.org/>
@ 2011-08-01 10:07 ` bugzilla-daemon
  2011-08-02 13:38 ` bugzilla-daemon
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: bugzilla-daemon @ 2011-08-01 10:07 UTC (permalink / raw)
  To: unassigned

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

Christophe Coutand <ecos@hotmail.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ecos@hotmail.co.uk

--- Comment #1 from Christophe Coutand <ecos@hotmail.co.uk> 2011-08-01 11:07:29 BST ---
Can you tell if the application crashes? Is the simulator correctly handling
the interrupt that is used for the kernel RTC? if not, the threads will never
go behind the cyg_thread_delay() call.

Christophe

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug 1001300] problème de commutation des taches
       [not found] <bug-1001300-777@http.bugs.ecos.sourceware.org/>
  2011-08-01 10:07 ` [Bug 1001300] problème de commutation des taches bugzilla-daemon
@ 2011-08-02 13:38 ` bugzilla-daemon
  2011-08-03  0:51 ` bugzilla-daemon
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: bugzilla-daemon @ 2011-08-02 13:38 UTC (permalink / raw)
  To: unassigned

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

--- Comment #2 from atef <benhajatef@yahoo.fr> 2011-08-02 14:37:56 BST ---
(In reply to comment #1)
> Can you tell if the application crashes? Is the simulator correctly handling
> the interrupt that is used for the kernel RTC? if not, the threads will never
> go behind the cyg_thread_delay() call.
> 
> Christophe

how we can test the simulator correctly handling the interrupt ??

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug 1001300] problème de commutation des taches
       [not found] <bug-1001300-777@http.bugs.ecos.sourceware.org/>
  2011-08-01 10:07 ` [Bug 1001300] problème de commutation des taches bugzilla-daemon
  2011-08-02 13:38 ` bugzilla-daemon
@ 2011-08-03  0:51 ` bugzilla-daemon
  2011-08-07  3:40 ` bugzilla-daemon
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: bugzilla-daemon @ 2011-08-03  0:51 UTC (permalink / raw)
  To: unassigned

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

--- Comment #3 from Christophe Coutand <ecos@hotmail.co.uk> 2011-08-03 01:50:54 BST ---
I don't know enough about the MIPS architecture to give you pointers. What type
of debugging facility do you have with the simulator? Can you set breakpoints
for debugging? If you get interrupts, you should hit the
__default_interrupt_vsr function call. The RTC clock is default mapped as
following:

Look inside packages\hal\mips\arch\current\include\hal_intr.h:

// The vector used by the Real time clock. The default here is to use
// interrupt 5, which is connected to the counter/comparator registers
// in many MIPS variants.

#ifndef CYGNUM_HAL_INTERRUPT_RTC
#define CYGNUM_HAL_INTERRUPT_RTC            CYGNUM_HAL_INTERRUPT_5
#endif

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug 1001300] problème de commutation des taches
       [not found] <bug-1001300-777@http.bugs.ecos.sourceware.org/>
                   ` (2 preceding siblings ...)
  2011-08-03  0:51 ` bugzilla-daemon
@ 2011-08-07  3:40 ` bugzilla-daemon
  2011-08-07  4:16 ` bugzilla-daemon
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 15+ messages in thread
From: bugzilla-daemon @ 2011-08-07  3:40 UTC (permalink / raw)
  To: unassigned

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

--- Comment #7 from atef <benhajatef@yahoo.fr> 2011-08-07 04:39:23 BST ---
Thank you again,
how can i implement the eCos RTC clock using the vci-xicu, it must change the
file hal_intr.h, or the patch soclib.

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug 1001300] problème de commutation des taches
       [not found] <bug-1001300-777@http.bugs.ecos.sourceware.org/>
                   ` (3 preceding siblings ...)
  2011-08-07  3:40 ` bugzilla-daemon
@ 2011-08-07  4:16 ` bugzilla-daemon
  2011-08-08  2:38 ` bugzilla-daemon
  2011-08-14  1:47 ` bugzilla-daemon
  6 siblings, 0 replies; 15+ messages in thread
From: bugzilla-daemon @ 2011-08-07  4:16 UTC (permalink / raw)
  To: unassigned

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

--- Comment #8 from Christophe Coutand <ecos@hotmail.co.uk> 2011-08-07 05:16:32 BST ---
In the plf_intr.h of the soclib package, you can overwrite the clock definition
provided from the hal_intr.h.

You must select the correct interrupt for the RTC clock:

#define CYGNUM_HAL_INTERRUPT_RTC YOUR_SOCLIB_TIMER_IRQ_NUM

and define the 3 macos used by eCos to access the clock:

externC CYG_WORD32 cyg_hal_clock_period;
#define CYGHWR_HAL_CLOCK_PERIOD_DEFINED

#define HAL_CLOCK_INITIALIZE( _period_ )           \
CYG_MACRO_START                                           \
     /* Place code here * /
    cyg_hal_clock_period = _period_;                       \
CYG_MACRO_END

#define HAL_CLOCK_RESET( _vector_, _period_ )   \
     /* Place code here * /
CYG_MACRO_END

#define HAL_CLOCK_READ( _pvalue_ )                 \
CYG_MACRO_START                                           \
     /* Place code here * /
CYG_MACRO_END

#define CYGHWR_HAL_CLOCK_CONTROL_DEFINED

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug 1001300] problème de commutation des taches
       [not found] <bug-1001300-777@http.bugs.ecos.sourceware.org/>
                   ` (4 preceding siblings ...)
  2011-08-07  4:16 ` bugzilla-daemon
@ 2011-08-08  2:38 ` bugzilla-daemon
  2011-08-14  1:47 ` bugzilla-daemon
  6 siblings, 0 replies; 15+ messages in thread
From: bugzilla-daemon @ 2011-08-08  2:38 UTC (permalink / raw)
  To: unassigned

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

--- Comment #9 from atef <benhajatef@yahoo.fr> 2011-08-08 03:38:15 BST ---
I fail to operate this platform, I am sending the file top.cc (which contains
the description of the MIPS architecture) and the file plf_intr.h. This error
message is displayed during simulation:
[GDB] CPU0 (cpu0) cycle: ................ PC: bfc0039c FAULT: bad address.
end I not find words to thank you for your help.





                            plf_intr.h




#ifdef CYGONCE_HAL_PLF_INTR_H
#define CYGONCE_HAL_PLF_INTR_H

#include <pkgconf/hal.h>
#include <cyg/infra/cyg_type.h>

#define HAL_PLATFORM_RESET()              CYG_EMPTY_STATEMENT
#define HAL_PALTFORM_RESET_ENTRY        0xbfc00000

#define CYGNUM_HAL_INTERRUPT_RTC  p_irq_in[0]


/*  code de trois macro*/




#define CYGHWR_HAL_CLOCK_CONTROL_DEFINE
#endif










                                      TOP.CC


#include <iostream>
#include <cstdlib>
#include <stdexcept>

#define CONFIG_GDB_SERVER

#include "mapping_table.h"

#if defined(CONFIG_GDB_SERVER)
# include "gdbserver.h"
#endif

#include "vci_xcache_wrapper.h"
#include "vci_ram.h"
#include "vci_heterogeneous_rom.h"
#include "vci_multi_tty.h"
//#include "vci_timer.h"
#include "vci_locks.h"
#include "vci_xicu.h"
#include "vci_vgmn.h"

// You may set the SOCLIB_GDB environment variable to
// START_FROZEN before starting the simulator.

#include "mips32_vmem.h"

typedef soclib::common::GdbServer<soclib::common::Mips32El4kpIss> Processor;

int _main(int argc, char *argv[])
{
    // Avoid repeating these everywhere
    using soclib::common::IntTab;
    using soclib::common::Segment;
    size_t cpu_count = 1;

    if (argc < 2)
      return 1;

    // Define our VCI parameters
    typedef soclib::caba::VciParams<4,9,32,1,1,1,8,1,1,1> vci_param;
    //   
soclib::common::GdbServer<soclib::common::Mips32El4kpIss>::start_forzen();
    // Mapping table
    soclib::common::MappingTable maptab(32, IntTab(8), IntTab(8), 0x00c00000);

    maptab.add(Segment("rom",   0x1fc00000, 0x00100000,  IntTab(0), false));
    maptab.add(Segment("ram" ,  0x80000000, 0x00400000 , IntTab(1), true));

    maptab.add(Segment("tty"  , 0xc0c00000,  0x10, IntTab(2), false));
    maptab.add(Segment("xicu",   0xd0c00200, 4096, IntTab(3), false));
    //  maptab.add(Segment("timer", 0xb0c00000,0x00000100, IntTab(2), false));

    // Signals

    sc_core::sc_clock signal_clk("signal_clk");
    sc_core::sc_signal<bool> signal_resetn("signal_resetn");

    sc_core::sc_signal<bool> signal_cpu_it[cpu_count][Processor::n_irq]; 

    soclib::caba::VciSignals<vci_param> signal_vci_m[cpu_count];

    soclib::caba::VciSignals<vci_param> signal_vci_xicu("signal_vci_icu");
    soclib::caba::VciSignals<vci_param> signal_vci_tty("signal_vci_tty");
    soclib::caba::VciSignals<vci_param>
signal_vci_vcimultiram0("signal_vci_vcimultiram0");
    soclib::caba::VciSignals<vci_param>
signal_vci_vcimultiram1("signal_vci_vcimultiram1");
    //    soclib::caba::VciSignals<vci_param>
signal_vci_vcitimer("signal_vci_vcitimer");
    sc_core::sc_signal<bool> signal_xicu_irq;


    // Components

    soclib::common::Loader loader(argv[1]);

    Processor::set_loader(loader);
    //    Processor::setResetAddress(0x80020000);
#if defined(CONFIG_SOCLIB_MEMCHECK)
    Processor::init(maptab, loader, "tty,xicu");
#endif

    soclib::caba::VciXcacheWrapper<vci_param, Processor> *cpu[cpu_count];

    for ( size_t i=0; i<cpu_count; ++i ) {
      std::ostringstream o;
      o << "cpu" << i;
      cpu[i] = new soclib::caba::VciXcacheWrapper<vci_param, Processor>(
               o.str().c_str(), i, maptab,IntTab(i),1, 8, 4, 1, 8, 4);
    }

    //#if defined(CONFIG_GDB_START_FORZEN)
    //    Processor::start_forzen();
    //#endif

    soclib::caba::VciRam<vci_param> vcimultiram0("vcimultiram0", IntTab(0),
maptab, loader);
    soclib::caba::VciRam<vci_param> vcimultiram1("vcimultiram1", IntTab(1),
maptab, loader);
    soclib::caba::VciMultiTty<vci_param> vcitty("vcitty",    IntTab(2), maptab,
"vcitty", NULL);
    soclib::caba::VciXicu<vci_param> vcixicu("vcixicu", maptab, IntTab(3), 2,
1, cpu_count, cpu_count);

    soclib::caba::VciVgmn<vci_param> vgmn("vgmn",maptab, cpu_count, 4, 2, 8);
    //    soclib::caba::VciTimer<vci_param>
vcitimer("vcitimer",IntTab(2),maptab,4);
    //    Net-List
    for ( size_t i=0; i<cpu_count; ++i ) {
      cpu[i]->p_clk(signal_clk);
      cpu[i]->p_resetn(signal_resetn);
      for ( size_t irq=0; irq<Processor::n_irq; ++irq )
        cpu[i]->p_irq[irq](signal_cpu_it[i][irq]);
      vcixicu.p_irq[i](signal_cpu_it[i][0]);
      //  vcitimer.p_vci(signal_vci_vcitimer);
          //vcitimer.p_irq[i](signal_cpu_it[i][0]);
      cpu[i]->p_vci(signal_vci_m[i]);
      vgmn.p_to_initiator[i](signal_vci_m[i]);
    }

    vcimultiram0.p_clk(signal_clk);
    vcimultiram0.p_resetn(signal_resetn);
    vcimultiram0.p_vci(signal_vci_vcimultiram0);

    vcimultiram1.p_clk(signal_clk);
    vcimultiram1.p_resetn(signal_resetn);
    vcimultiram1.p_vci(signal_vci_vcimultiram1);

    vcitty.p_clk(signal_clk);
    vcitty.p_resetn(signal_resetn);
    vcitty.p_vci(signal_vci_tty);
    vcitty.p_irq[0](signal_xicu_irq);

    // vcitimer.p_vci(signal_vci_vcitimer);
    // vcitimer.p_irq[i](signal_cpu_it[i]


    vcixicu.p_clk(signal_clk);
    vcixicu.p_resetn(signal_resetn);
    vcixicu.p_vci(signal_vci_xicu);
    vcixicu.p_hwi[0](signal_xicu_irq);

    vgmn.p_clk(signal_clk);
    vgmn.p_resetn(signal_resetn);
    vgmn.p_to_target[0](signal_vci_vcimultiram0);
    vgmn.p_to_target[1](signal_vci_vcimultiram1);
    vgmn.p_to_target[2](signal_vci_tty);
    vgmn.p_to_target[3](signal_vci_xicu);
    // vgmn.p_to_target[2](signal_vci_vcitimer);

    sc_core::sc_start(sc_core::sc_time(0, sc_core::SC_NS));
    signal_resetn = false;
    sc_core::sc_start(sc_core::sc_time(1, sc_core::SC_NS));
    signal_resetn = true;
    sc_core::sc_start();

    return EXIT_SUCCESS;
}

int sc_main (int argc, char *argv[])
{
    try {
        return _main(argc, argv);
    } catch (std::exception &e) {
        std::cout << e.what() << std::endl;
    } catch (...) {
        std::cout << "Unknown exception occured" << std::endl;
        throw;
    }
    return 1;
}

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug 1001300] problème de commutation des taches
       [not found] <bug-1001300-777@http.bugs.ecos.sourceware.org/>
                   ` (5 preceding siblings ...)
  2011-08-08  2:38 ` bugzilla-daemon
@ 2011-08-14  1:47 ` bugzilla-daemon
  6 siblings, 0 replies; 15+ messages in thread
From: bugzilla-daemon @ 2011-08-14  1:47 UTC (permalink / raw)
  To: unassigned

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

--- Comment #10 from atef <benhajatef@yahoo.fr> 2011-08-14 02:46:39 BST ---
(In reply to comment #9)
> I fail to operate this platform, I am sending the file top.cc (which contains
> the description of the MIPS architecture) and the file plf_intr.h. This error
> message is displayed during simulation:
> [GDB] CPU0 (cpu0) cycle: ................ PC: bfc0039c FAULT: bad address.
> end I not find words to thank you for your help.
> 
> 
> 
> 
> 
>                             plf_intr.h
> 
> 
> 
> 
> #ifdef CYGONCE_HAL_PLF_INTR_H
> #define CYGONCE_HAL_PLF_INTR_H
> 
> #include <pkgconf/hal.h>
> #include <cyg/infra/cyg_type.h>
> 
> #define HAL_PLATFORM_RESET()              CYG_EMPTY_STATEMENT
> #define HAL_PALTFORM_RESET_ENTRY        0xbfc00000
> 
> #define CYGNUM_HAL_INTERRUPT_RTC  p_irq_in[0]
> 
> 
> /*  code de trois macro*/
> 
> 
> 
> 
> #define CYGHWR_HAL_CLOCK_CONTROL_DEFINE
> #endif
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
>                                       TOP.CC
> 
> 
> #include <iostream>
> #include <cstdlib>
> #include <stdexcept>
> 
> #define CONFIG_GDB_SERVER
> 
> #include "mapping_table.h"
> 
> #if defined(CONFIG_GDB_SERVER)
> # include "gdbserver.h"
> #endif
> 
> #include "vci_xcache_wrapper.h"
> #include "vci_ram.h"
> #include "vci_heterogeneous_rom.h"
> #include "vci_multi_tty.h"
> //#include "vci_timer.h"
> #include "vci_locks.h"
> #include "vci_xicu.h"
> #include "vci_vgmn.h"
> 
> // You may set the SOCLIB_GDB environment variable to
> // START_FROZEN before starting the simulator.
> 
> #include "mips32_vmem.h"
> 
> typedef soclib::common::GdbServer<soclib::common::Mips32El4kpIss> Processor;
> 
> int _main(int argc, char *argv[])
> {
>     // Avoid repeating these everywhere
>     using soclib::common::IntTab;
>     using soclib::common::Segment;
>     size_t cpu_count = 1;
> 
>     if (argc < 2)
>       return 1;
> 
>     // Define our VCI parameters
>     typedef soclib::caba::VciParams<4,9,32,1,1,1,8,1,1,1> vci_param;
>     //   
> soclib::common::GdbServer<soclib::common::Mips32El4kpIss>::start_forzen();
>     // Mapping table
>     soclib::common::MappingTable maptab(32, IntTab(8), IntTab(8), 0x00c00000);
> 
>     maptab.add(Segment("rom",   0x1fc00000, 0x00100000,  IntTab(0), false));
>     maptab.add(Segment("ram" ,  0x80000000, 0x00400000 , IntTab(1), true));
> 
>     maptab.add(Segment("tty"  , 0xc0c00000,  0x10, IntTab(2), false));
>     maptab.add(Segment("xicu",   0xd0c00200, 4096, IntTab(3), false));
>     //  maptab.add(Segment("timer", 0xb0c00000,0x00000100, IntTab(2), false));
> 
>     // Signals
> 
>     sc_core::sc_clock signal_clk("signal_clk");
>     sc_core::sc_signal<bool> signal_resetn("signal_resetn");
> 
>     sc_core::sc_signal<bool> signal_cpu_it[cpu_count][Processor::n_irq]; 
> 
>     soclib::caba::VciSignals<vci_param> signal_vci_m[cpu_count];
> 
>     soclib::caba::VciSignals<vci_param> signal_vci_xicu("signal_vci_icu");
>     soclib::caba::VciSignals<vci_param> signal_vci_tty("signal_vci_tty");
>     soclib::caba::VciSignals<vci_param>
> signal_vci_vcimultiram0("signal_vci_vcimultiram0");
>     soclib::caba::VciSignals<vci_param>
> signal_vci_vcimultiram1("signal_vci_vcimultiram1");
>     //    soclib::caba::VciSignals<vci_param>
> signal_vci_vcitimer("signal_vci_vcitimer");
>     sc_core::sc_signal<bool> signal_xicu_irq;
> 
> 
>     // Components
> 
>     soclib::common::Loader loader(argv[1]);
> 
>     Processor::set_loader(loader);
>     //    Processor::setResetAddress(0x80020000);
> #if defined(CONFIG_SOCLIB_MEMCHECK)
>     Processor::init(maptab, loader, "tty,xicu");
> #endif
> 
>     soclib::caba::VciXcacheWrapper<vci_param, Processor> *cpu[cpu_count];
> 
>     for ( size_t i=0; i<cpu_count; ++i ) {
>       std::ostringstream o;
>       o << "cpu" << i;
>       cpu[i] = new soclib::caba::VciXcacheWrapper<vci_param, Processor>(
>                o.str().c_str(), i, maptab,IntTab(i),1, 8, 4, 1, 8, 4);
>     }
> 
>     //#if defined(CONFIG_GDB_START_FORZEN)
>     //    Processor::start_forzen();
>     //#endif
> 
>     soclib::caba::VciRam<vci_param> vcimultiram0("vcimultiram0", IntTab(0),
> maptab, loader);
>     soclib::caba::VciRam<vci_param> vcimultiram1("vcimultiram1", IntTab(1),
> maptab, loader);
>     soclib::caba::VciMultiTty<vci_param> vcitty("vcitty",    IntTab(2), maptab,
> "vcitty", NULL);
>     soclib::caba::VciXicu<vci_param> vcixicu("vcixicu", maptab, IntTab(3), 2,
> 1, cpu_count, cpu_count);
> 
>     soclib::caba::VciVgmn<vci_param> vgmn("vgmn",maptab, cpu_count, 4, 2, 8);
>     //    soclib::caba::VciTimer<vci_param>
> vcitimer("vcitimer",IntTab(2),maptab,4);
>     //    Net-List
>     for ( size_t i=0; i<cpu_count; ++i ) {
>       cpu[i]->p_clk(signal_clk);
>       cpu[i]->p_resetn(signal_resetn);
>       for ( size_t irq=0; irq<Processor::n_irq; ++irq )
>         cpu[i]->p_irq[irq](signal_cpu_it[i][irq]);
>       vcixicu.p_irq[i](signal_cpu_it[i][0]);
>       //  vcitimer.p_vci(signal_vci_vcitimer);
>           //vcitimer.p_irq[i](signal_cpu_it[i][0]);
>       cpu[i]->p_vci(signal_vci_m[i]);
>       vgmn.p_to_initiator[i](signal_vci_m[i]);
>     }
> 
>     vcimultiram0.p_clk(signal_clk);
>     vcimultiram0.p_resetn(signal_resetn);
>     vcimultiram0.p_vci(signal_vci_vcimultiram0);
> 
>     vcimultiram1.p_clk(signal_clk);
>     vcimultiram1.p_resetn(signal_resetn);
>     vcimultiram1.p_vci(signal_vci_vcimultiram1);
> 
>     vcitty.p_clk(signal_clk);
>     vcitty.p_resetn(signal_resetn);
>     vcitty.p_vci(signal_vci_tty);
>     vcitty.p_irq[0](signal_xicu_irq);
> 
>     // vcitimer.p_vci(signal_vci_vcitimer);
>     // vcitimer.p_irq[i](signal_cpu_it[i]
> 
> 
>     vcixicu.p_clk(signal_clk);
>     vcixicu.p_resetn(signal_resetn);
>     vcixicu.p_vci(signal_vci_xicu);
>     vcixicu.p_hwi[0](signal_xicu_irq);
> 
>     vgmn.p_clk(signal_clk);
>     vgmn.p_resetn(signal_resetn);
>     vgmn.p_to_target[0](signal_vci_vcimultiram0);
>     vgmn.p_to_target[1](signal_vci_vcimultiram1);
>     vgmn.p_to_target[2](signal_vci_tty);
>     vgmn.p_to_target[3](signal_vci_xicu);
>     // vgmn.p_to_target[2](signal_vci_vcitimer);
> 
>     sc_core::sc_start(sc_core::sc_time(0, sc_core::SC_NS));
>     signal_resetn = false;
>     sc_core::sc_start(sc_core::sc_time(1, sc_core::SC_NS));
>     signal_resetn = true;
>     sc_core::sc_start();
> 
>     return EXIT_SUCCESS;
> }
> 
> int sc_main (int argc, char *argv[])
> {
>     try {
>         return _main(argc, argv);
>     } catch (std::exception &e) {
>         std::cout << e.what() << std::endl;
>     } catch (...) {
>         std::cout << "Unknown exception occured" << std::endl;
>         throw;
>     }
>     return 1;
> }

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug 1001300] problème de commutation des taches
  2011-08-01  2:54 [Bug 1001300] New: " bugzilla-daemon
                   ` (6 preceding siblings ...)
  2011-08-08  2:38 ` bugzilla-daemon
@ 2011-08-14  1:47 ` bugzilla-daemon
  7 siblings, 0 replies; 15+ messages in thread
From: bugzilla-daemon @ 2011-08-14  1:47 UTC (permalink / raw)
  To: ecos-bugs

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

--- Comment #10 from atef <benhajatef@yahoo.fr> 2011-08-14 02:46:39 BST ---
(In reply to comment #9)
> I fail to operate this platform, I am sending the file top.cc (which contains
> the description of the MIPS architecture) and the file plf_intr.h. This error
> message is displayed during simulation:
> [GDB] CPU0 (cpu0) cycle: ................ PC: bfc0039c FAULT: bad address.
> end I not find words to thank you for your help.
> 
> 
> 
> 
> 
>                             plf_intr.h
> 
> 
> 
> 
> #ifdef CYGONCE_HAL_PLF_INTR_H
> #define CYGONCE_HAL_PLF_INTR_H
> 
> #include <pkgconf/hal.h>
> #include <cyg/infra/cyg_type.h>
> 
> #define HAL_PLATFORM_RESET()              CYG_EMPTY_STATEMENT
> #define HAL_PALTFORM_RESET_ENTRY        0xbfc00000
> 
> #define CYGNUM_HAL_INTERRUPT_RTC  p_irq_in[0]
> 
> 
> /*  code de trois macro*/
> 
> 
> 
> 
> #define CYGHWR_HAL_CLOCK_CONTROL_DEFINE
> #endif
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
>                                       TOP.CC
> 
> 
> #include <iostream>
> #include <cstdlib>
> #include <stdexcept>
> 
> #define CONFIG_GDB_SERVER
> 
> #include "mapping_table.h"
> 
> #if defined(CONFIG_GDB_SERVER)
> # include "gdbserver.h"
> #endif
> 
> #include "vci_xcache_wrapper.h"
> #include "vci_ram.h"
> #include "vci_heterogeneous_rom.h"
> #include "vci_multi_tty.h"
> //#include "vci_timer.h"
> #include "vci_locks.h"
> #include "vci_xicu.h"
> #include "vci_vgmn.h"
> 
> // You may set the SOCLIB_GDB environment variable to
> // START_FROZEN before starting the simulator.
> 
> #include "mips32_vmem.h"
> 
> typedef soclib::common::GdbServer<soclib::common::Mips32El4kpIss> Processor;
> 
> int _main(int argc, char *argv[])
> {
>     // Avoid repeating these everywhere
>     using soclib::common::IntTab;
>     using soclib::common::Segment;
>     size_t cpu_count = 1;
> 
>     if (argc < 2)
>       return 1;
> 
>     // Define our VCI parameters
>     typedef soclib::caba::VciParams<4,9,32,1,1,1,8,1,1,1> vci_param;
>     //   
> soclib::common::GdbServer<soclib::common::Mips32El4kpIss>::start_forzen();
>     // Mapping table
>     soclib::common::MappingTable maptab(32, IntTab(8), IntTab(8), 0x00c00000);
> 
>     maptab.add(Segment("rom",   0x1fc00000, 0x00100000,  IntTab(0), false));
>     maptab.add(Segment("ram" ,  0x80000000, 0x00400000 , IntTab(1), true));
> 
>     maptab.add(Segment("tty"  , 0xc0c00000,  0x10, IntTab(2), false));
>     maptab.add(Segment("xicu",   0xd0c00200, 4096, IntTab(3), false));
>     //  maptab.add(Segment("timer", 0xb0c00000,0x00000100, IntTab(2), false));
> 
>     // Signals
> 
>     sc_core::sc_clock signal_clk("signal_clk");
>     sc_core::sc_signal<bool> signal_resetn("signal_resetn");
> 
>     sc_core::sc_signal<bool> signal_cpu_it[cpu_count][Processor::n_irq]; 
> 
>     soclib::caba::VciSignals<vci_param> signal_vci_m[cpu_count];
> 
>     soclib::caba::VciSignals<vci_param> signal_vci_xicu("signal_vci_icu");
>     soclib::caba::VciSignals<vci_param> signal_vci_tty("signal_vci_tty");
>     soclib::caba::VciSignals<vci_param>
> signal_vci_vcimultiram0("signal_vci_vcimultiram0");
>     soclib::caba::VciSignals<vci_param>
> signal_vci_vcimultiram1("signal_vci_vcimultiram1");
>     //    soclib::caba::VciSignals<vci_param>
> signal_vci_vcitimer("signal_vci_vcitimer");
>     sc_core::sc_signal<bool> signal_xicu_irq;
> 
> 
>     // Components
> 
>     soclib::common::Loader loader(argv[1]);
> 
>     Processor::set_loader(loader);
>     //    Processor::setResetAddress(0x80020000);
> #if defined(CONFIG_SOCLIB_MEMCHECK)
>     Processor::init(maptab, loader, "tty,xicu");
> #endif
> 
>     soclib::caba::VciXcacheWrapper<vci_param, Processor> *cpu[cpu_count];
> 
>     for ( size_t i=0; i<cpu_count; ++i ) {
>       std::ostringstream o;
>       o << "cpu" << i;
>       cpu[i] = new soclib::caba::VciXcacheWrapper<vci_param, Processor>(
>                o.str().c_str(), i, maptab,IntTab(i),1, 8, 4, 1, 8, 4);
>     }
> 
>     //#if defined(CONFIG_GDB_START_FORZEN)
>     //    Processor::start_forzen();
>     //#endif
> 
>     soclib::caba::VciRam<vci_param> vcimultiram0("vcimultiram0", IntTab(0),
> maptab, loader);
>     soclib::caba::VciRam<vci_param> vcimultiram1("vcimultiram1", IntTab(1),
> maptab, loader);
>     soclib::caba::VciMultiTty<vci_param> vcitty("vcitty",    IntTab(2), maptab,
> "vcitty", NULL);
>     soclib::caba::VciXicu<vci_param> vcixicu("vcixicu", maptab, IntTab(3), 2,
> 1, cpu_count, cpu_count);
> 
>     soclib::caba::VciVgmn<vci_param> vgmn("vgmn",maptab, cpu_count, 4, 2, 8);
>     //    soclib::caba::VciTimer<vci_param>
> vcitimer("vcitimer",IntTab(2),maptab,4);
>     //    Net-List
>     for ( size_t i=0; i<cpu_count; ++i ) {
>       cpu[i]->p_clk(signal_clk);
>       cpu[i]->p_resetn(signal_resetn);
>       for ( size_t irq=0; irq<Processor::n_irq; ++irq )
>         cpu[i]->p_irq[irq](signal_cpu_it[i][irq]);
>       vcixicu.p_irq[i](signal_cpu_it[i][0]);
>       //  vcitimer.p_vci(signal_vci_vcitimer);
>           //vcitimer.p_irq[i](signal_cpu_it[i][0]);
>       cpu[i]->p_vci(signal_vci_m[i]);
>       vgmn.p_to_initiator[i](signal_vci_m[i]);
>     }
> 
>     vcimultiram0.p_clk(signal_clk);
>     vcimultiram0.p_resetn(signal_resetn);
>     vcimultiram0.p_vci(signal_vci_vcimultiram0);
> 
>     vcimultiram1.p_clk(signal_clk);
>     vcimultiram1.p_resetn(signal_resetn);
>     vcimultiram1.p_vci(signal_vci_vcimultiram1);
> 
>     vcitty.p_clk(signal_clk);
>     vcitty.p_resetn(signal_resetn);
>     vcitty.p_vci(signal_vci_tty);
>     vcitty.p_irq[0](signal_xicu_irq);
> 
>     // vcitimer.p_vci(signal_vci_vcitimer);
>     // vcitimer.p_irq[i](signal_cpu_it[i]
> 
> 
>     vcixicu.p_clk(signal_clk);
>     vcixicu.p_resetn(signal_resetn);
>     vcixicu.p_vci(signal_vci_xicu);
>     vcixicu.p_hwi[0](signal_xicu_irq);
> 
>     vgmn.p_clk(signal_clk);
>     vgmn.p_resetn(signal_resetn);
>     vgmn.p_to_target[0](signal_vci_vcimultiram0);
>     vgmn.p_to_target[1](signal_vci_vcimultiram1);
>     vgmn.p_to_target[2](signal_vci_tty);
>     vgmn.p_to_target[3](signal_vci_xicu);
>     // vgmn.p_to_target[2](signal_vci_vcitimer);
> 
>     sc_core::sc_start(sc_core::sc_time(0, sc_core::SC_NS));
>     signal_resetn = false;
>     sc_core::sc_start(sc_core::sc_time(1, sc_core::SC_NS));
>     signal_resetn = true;
>     sc_core::sc_start();
> 
>     return EXIT_SUCCESS;
> }
> 
> int sc_main (int argc, char *argv[])
> {
>     try {
>         return _main(argc, argv);
>     } catch (std::exception &e) {
>         std::cout << e.what() << std::endl;
>     } catch (...) {
>         std::cout << "Unknown exception occured" << std::endl;
>         throw;
>     }
>     return 1;
> }

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug 1001300] problème de commutation des taches
  2011-08-01  2:54 [Bug 1001300] New: " bugzilla-daemon
                   ` (5 preceding siblings ...)
  2011-08-07  4:16 ` bugzilla-daemon
@ 2011-08-08  2:38 ` bugzilla-daemon
  2011-08-14  1:47 ` bugzilla-daemon
  7 siblings, 0 replies; 15+ messages in thread
From: bugzilla-daemon @ 2011-08-08  2:38 UTC (permalink / raw)
  To: ecos-bugs

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

--- Comment #9 from atef <benhajatef@yahoo.fr> 2011-08-08 03:38:15 BST ---
I fail to operate this platform, I am sending the file top.cc (which contains
the description of the MIPS architecture) and the file plf_intr.h. This error
message is displayed during simulation:
[GDB] CPU0 (cpu0) cycle: ................ PC: bfc0039c FAULT: bad address.
end I not find words to thank you for your help.





                            plf_intr.h




#ifdef CYGONCE_HAL_PLF_INTR_H
#define CYGONCE_HAL_PLF_INTR_H

#include <pkgconf/hal.h>
#include <cyg/infra/cyg_type.h>

#define HAL_PLATFORM_RESET()              CYG_EMPTY_STATEMENT
#define HAL_PALTFORM_RESET_ENTRY        0xbfc00000

#define CYGNUM_HAL_INTERRUPT_RTC  p_irq_in[0]


/*  code de trois macro*/




#define CYGHWR_HAL_CLOCK_CONTROL_DEFINE
#endif










                                      TOP.CC


#include <iostream>
#include <cstdlib>
#include <stdexcept>

#define CONFIG_GDB_SERVER

#include "mapping_table.h"

#if defined(CONFIG_GDB_SERVER)
# include "gdbserver.h"
#endif

#include "vci_xcache_wrapper.h"
#include "vci_ram.h"
#include "vci_heterogeneous_rom.h"
#include "vci_multi_tty.h"
//#include "vci_timer.h"
#include "vci_locks.h"
#include "vci_xicu.h"
#include "vci_vgmn.h"

// You may set the SOCLIB_GDB environment variable to
// START_FROZEN before starting the simulator.

#include "mips32_vmem.h"

typedef soclib::common::GdbServer<soclib::common::Mips32El4kpIss> Processor;

int _main(int argc, char *argv[])
{
    // Avoid repeating these everywhere
    using soclib::common::IntTab;
    using soclib::common::Segment;
    size_t cpu_count = 1;

    if (argc < 2)
      return 1;

    // Define our VCI parameters
    typedef soclib::caba::VciParams<4,9,32,1,1,1,8,1,1,1> vci_param;
    //   
soclib::common::GdbServer<soclib::common::Mips32El4kpIss>::start_forzen();
    // Mapping table
    soclib::common::MappingTable maptab(32, IntTab(8), IntTab(8), 0x00c00000);

    maptab.add(Segment("rom",   0x1fc00000, 0x00100000,  IntTab(0), false));
    maptab.add(Segment("ram" ,  0x80000000, 0x00400000 , IntTab(1), true));

    maptab.add(Segment("tty"  , 0xc0c00000,  0x10, IntTab(2), false));
    maptab.add(Segment("xicu",   0xd0c00200, 4096, IntTab(3), false));
    //  maptab.add(Segment("timer", 0xb0c00000,0x00000100, IntTab(2), false));

    // Signals

    sc_core::sc_clock signal_clk("signal_clk");
    sc_core::sc_signal<bool> signal_resetn("signal_resetn");

    sc_core::sc_signal<bool> signal_cpu_it[cpu_count][Processor::n_irq]; 

    soclib::caba::VciSignals<vci_param> signal_vci_m[cpu_count];

    soclib::caba::VciSignals<vci_param> signal_vci_xicu("signal_vci_icu");
    soclib::caba::VciSignals<vci_param> signal_vci_tty("signal_vci_tty");
    soclib::caba::VciSignals<vci_param>
signal_vci_vcimultiram0("signal_vci_vcimultiram0");
    soclib::caba::VciSignals<vci_param>
signal_vci_vcimultiram1("signal_vci_vcimultiram1");
    //    soclib::caba::VciSignals<vci_param>
signal_vci_vcitimer("signal_vci_vcitimer");
    sc_core::sc_signal<bool> signal_xicu_irq;


    // Components

    soclib::common::Loader loader(argv[1]);

    Processor::set_loader(loader);
    //    Processor::setResetAddress(0x80020000);
#if defined(CONFIG_SOCLIB_MEMCHECK)
    Processor::init(maptab, loader, "tty,xicu");
#endif

    soclib::caba::VciXcacheWrapper<vci_param, Processor> *cpu[cpu_count];

    for ( size_t i=0; i<cpu_count; ++i ) {
      std::ostringstream o;
      o << "cpu" << i;
      cpu[i] = new soclib::caba::VciXcacheWrapper<vci_param, Processor>(
               o.str().c_str(), i, maptab,IntTab(i),1, 8, 4, 1, 8, 4);
    }

    //#if defined(CONFIG_GDB_START_FORZEN)
    //    Processor::start_forzen();
    //#endif

    soclib::caba::VciRam<vci_param> vcimultiram0("vcimultiram0", IntTab(0),
maptab, loader);
    soclib::caba::VciRam<vci_param> vcimultiram1("vcimultiram1", IntTab(1),
maptab, loader);
    soclib::caba::VciMultiTty<vci_param> vcitty("vcitty",    IntTab(2), maptab,
"vcitty", NULL);
    soclib::caba::VciXicu<vci_param> vcixicu("vcixicu", maptab, IntTab(3), 2,
1, cpu_count, cpu_count);

    soclib::caba::VciVgmn<vci_param> vgmn("vgmn",maptab, cpu_count, 4, 2, 8);
    //    soclib::caba::VciTimer<vci_param>
vcitimer("vcitimer",IntTab(2),maptab,4);
    //    Net-List
    for ( size_t i=0; i<cpu_count; ++i ) {
      cpu[i]->p_clk(signal_clk);
      cpu[i]->p_resetn(signal_resetn);
      for ( size_t irq=0; irq<Processor::n_irq; ++irq )
        cpu[i]->p_irq[irq](signal_cpu_it[i][irq]);
      vcixicu.p_irq[i](signal_cpu_it[i][0]);
      //  vcitimer.p_vci(signal_vci_vcitimer);
          //vcitimer.p_irq[i](signal_cpu_it[i][0]);
      cpu[i]->p_vci(signal_vci_m[i]);
      vgmn.p_to_initiator[i](signal_vci_m[i]);
    }

    vcimultiram0.p_clk(signal_clk);
    vcimultiram0.p_resetn(signal_resetn);
    vcimultiram0.p_vci(signal_vci_vcimultiram0);

    vcimultiram1.p_clk(signal_clk);
    vcimultiram1.p_resetn(signal_resetn);
    vcimultiram1.p_vci(signal_vci_vcimultiram1);

    vcitty.p_clk(signal_clk);
    vcitty.p_resetn(signal_resetn);
    vcitty.p_vci(signal_vci_tty);
    vcitty.p_irq[0](signal_xicu_irq);

    // vcitimer.p_vci(signal_vci_vcitimer);
    // vcitimer.p_irq[i](signal_cpu_it[i]


    vcixicu.p_clk(signal_clk);
    vcixicu.p_resetn(signal_resetn);
    vcixicu.p_vci(signal_vci_xicu);
    vcixicu.p_hwi[0](signal_xicu_irq);

    vgmn.p_clk(signal_clk);
    vgmn.p_resetn(signal_resetn);
    vgmn.p_to_target[0](signal_vci_vcimultiram0);
    vgmn.p_to_target[1](signal_vci_vcimultiram1);
    vgmn.p_to_target[2](signal_vci_tty);
    vgmn.p_to_target[3](signal_vci_xicu);
    // vgmn.p_to_target[2](signal_vci_vcitimer);

    sc_core::sc_start(sc_core::sc_time(0, sc_core::SC_NS));
    signal_resetn = false;
    sc_core::sc_start(sc_core::sc_time(1, sc_core::SC_NS));
    signal_resetn = true;
    sc_core::sc_start();

    return EXIT_SUCCESS;
}

int sc_main (int argc, char *argv[])
{
    try {
        return _main(argc, argv);
    } catch (std::exception &e) {
        std::cout << e.what() << std::endl;
    } catch (...) {
        std::cout << "Unknown exception occured" << std::endl;
        throw;
    }
    return 1;
}

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug 1001300] problème de commutation des taches
  2011-08-01  2:54 [Bug 1001300] New: " bugzilla-daemon
                   ` (4 preceding siblings ...)
  2011-08-07  3:40 ` bugzilla-daemon
@ 2011-08-07  4:16 ` bugzilla-daemon
  2011-08-08  2:38 ` bugzilla-daemon
  2011-08-14  1:47 ` bugzilla-daemon
  7 siblings, 0 replies; 15+ messages in thread
From: bugzilla-daemon @ 2011-08-07  4:16 UTC (permalink / raw)
  To: ecos-bugs

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

--- Comment #8 from Christophe Coutand <ecos@hotmail.co.uk> 2011-08-07 05:16:32 BST ---
In the plf_intr.h of the soclib package, you can overwrite the clock definition
provided from the hal_intr.h.

You must select the correct interrupt for the RTC clock:

#define CYGNUM_HAL_INTERRUPT_RTC YOUR_SOCLIB_TIMER_IRQ_NUM

and define the 3 macos used by eCos to access the clock:

externC CYG_WORD32 cyg_hal_clock_period;
#define CYGHWR_HAL_CLOCK_PERIOD_DEFINED

#define HAL_CLOCK_INITIALIZE( _period_ )           \
CYG_MACRO_START                                           \
     /* Place code here * /
    cyg_hal_clock_period = _period_;                       \
CYG_MACRO_END

#define HAL_CLOCK_RESET( _vector_, _period_ )   \
     /* Place code here * /
CYG_MACRO_END

#define HAL_CLOCK_READ( _pvalue_ )                 \
CYG_MACRO_START                                           \
     /* Place code here * /
CYG_MACRO_END

#define CYGHWR_HAL_CLOCK_CONTROL_DEFINED

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug 1001300] problème de commutation des taches
  2011-08-01  2:54 [Bug 1001300] New: " bugzilla-daemon
                   ` (3 preceding siblings ...)
  2011-08-06 17:22 ` bugzilla-daemon
@ 2011-08-07  3:40 ` bugzilla-daemon
  2011-08-07  4:16 ` bugzilla-daemon
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 15+ messages in thread
From: bugzilla-daemon @ 2011-08-07  3:40 UTC (permalink / raw)
  To: ecos-bugs

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

--- Comment #7 from atef <benhajatef@yahoo.fr> 2011-08-07 04:39:23 BST ---
Thank you again,
how can i implement the eCos RTC clock using the vci-xicu, it must change the
file hal_intr.h, or the patch soclib.

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug 1001300] problème de commutation des taches
  2011-08-01  2:54 [Bug 1001300] New: " bugzilla-daemon
                   ` (2 preceding siblings ...)
  2011-08-04  4:16 ` bugzilla-daemon
@ 2011-08-06 17:22 ` bugzilla-daemon
  2011-08-07  3:40 ` bugzilla-daemon
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 15+ messages in thread
From: bugzilla-daemon @ 2011-08-06 17:22 UTC (permalink / raw)
  To: ecos-bugs

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

--- Comment #6 from Christophe Coutand <ecos@hotmail.co.uk> 2011-08-06 18:22:20 BST ---
When browsing the MIPS32 architecture of SoClib, i can't see that the
coprocessor 0 count / compare registers are triggering interrupts. You should
check that by asking on the SoClib mailing list.

As a workaround, you can implement the eCos RTC clock using the vci-xicu timer
instead.

BTW, could you provide the ecos.ecc you are using to build eCos?

Christophe

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug 1001300] problème de commutation des taches
  2011-08-01  2:54 [Bug 1001300] New: " bugzilla-daemon
  2011-08-02 13:38 ` [Bug 1001300] " bugzilla-daemon
  2011-08-03  0:51 ` bugzilla-daemon
@ 2011-08-04  4:16 ` bugzilla-daemon
  2011-08-06 17:22 ` bugzilla-daemon
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 15+ messages in thread
From: bugzilla-daemon @ 2011-08-04  4:16 UTC (permalink / raw)
  To: ecos-bugs

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

--- Comment #4 from atef <benhajatef@yahoo.fr> 2011-08-04 05:16:27 BST ---
First of all I want to thank you for your help. Here is a description of the
architecture that I used and debugger.
 GdbServer tool is a software debugger for SocLib. It listens for TCP
connection from Gnu GDB clients :GNU gdb 7.0 
platform mips32_soclib contains:
 *processor mips32 : It implements all instructions defined in the MIPS32
architecture specification, with the following limitations:
The floating point instructions are supported, FPU exception detection is
partially implemented
The Mips virtual memory instructions are not supported. The MMU is implemented
as an external TLB (SoCLib generic).
Both little-endian and big-endian implementations are available.
Mips defines 6 interrupts lines. The handling and prioritization of the
interrupts is deferred to software
 *VciXicu:  memory mapped Hardware interrupt + Timer + IPI controller 
 *Segment of Ram

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
>From ecos-bugs-return-8183-listarch-ecos-bugs=sources.redhat.com@sourceware.org Thu Aug 04 04:17:00 2011
Return-Path: <ecos-bugs-return-8183-listarch-ecos-bugs=sources.redhat.com@sourceware.org>
Delivered-To: listarch-ecos-bugs@sources.redhat.com
Received: (qmail 14621 invoked by alias); 4 Aug 2011 04:16:56 -0000
Received: (qmail 14612 invoked by uid 22791); 4 Aug 2011 04:16:54 -0000
X-SWARE-Spam-Status: No, hits=-2.2 required=5.0
	tests=AWL,BAYES_00,RP_MATCHES_RCVD,SARE_SUB_ENC_UTF8
X-Spam-Check-By: sourceware.org
Received: from hagrid.ecoscentric.com (HELO mail.ecoscentric.com) (212.13.207.197)
    by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 04 Aug 2011 04:16:39 +0000
Received: by mail.ecoscentric.com (Postfix, from userid 48)
	id F41E42F78005; Thu,  4 Aug 2011 05:16:37 +0100 (BST)
X-Original-To: unassigned@bugs.ecos.sourceware.org
Delivered-To: unassigned@bugs.ecos.sourceware.org
From: bugzilla-daemon@bugs.ecos.sourceware.org
To: unassigned@bugs.ecos.sourceware.org
Subject: [Bug
 1001300]=?UTF-8?Q? problème de commutation des taches?X-Bugzilla-Reason: AssignedTo
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: eCos
X-Bugzilla-Component: HAL
X-Bugzilla-Keywords:
X-Bugzilla-Severity: enhancement
X-Bugzilla-Who: benhajatef@yahoo.fr
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: low
X-Bugzilla-Assigned-To: unassigned@bugs.ecos.sourceware.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Changed-Fields:
In-Reply-To: <bug-1001300-777@http.bugs.ecos.sourceware.org/>
References: <bug-1001300-777@http.bugs.ecos.sourceware.org/>
X-Bugzilla-URL: http://bugs.ecos.sourceware.org/
Auto-Submitted: auto-generated
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Date: Thu, 04 Aug 2011 04:16:00 -0000
Message-Id: <20110804041633.072E42F78003@mail.ecoscentric.com>
Mailing-List: contact ecos-bugs-help@sourceware.org; run by ezmlm
Precedence: bulk
List-Id: <ecos-bugs.sourceware.org>
List-Subscribe: <mailto:ecos-bugs-subscribe@sourceware.org>
List-Post: <mailto:ecos-bugs@sourceware.org>
List-Help: <mailto:ecos-bugs-help@sourceware.org>, <http://sourceware.org/lists.html#faqs>
Sender: ecos-bugs-owner@sourceware.org
Delivered-To: mailing list ecos-bugs@sourceware.org
X-SW-Source: 2011/txt/msg01093.txt.bz2
Content-length: 1294

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

--- Comment #4 from atef <benhajatef@yahoo.fr> 2011-08-04 05:16:27 BST ---
First of all I want to thank you for your help. Here is a description of the
architecture that I used and debugger.
 GdbServer tool is a software debugger for SocLib. It listens for TCP
connection from Gnu GDB clients :GNU gdb 7.0 
platform mips32_soclib contains:
 *processor mips32 : It implements all instructions defined in the MIPS32
architecture specification, with the following limitations:
The floating point instructions are supported, FPU exception detection is
partially implemented
The Mips virtual memory instructions are not supported. The MMU is implemented
as an external TLB (SoCLib generic).
Both little-endian and big-endian implementations are available.
Mips defines 6 interrupts lines. The handling and prioritization of the
interrupts is deferred to software
 *VciXicu:  memory mapped Hardware interrupt + Timer + IPI controller 
 *Segment of Ram

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
>From ecos-bugs-return-8185-listarch-ecos-bugs=sources.redhat.com@sourceware.org Fri Aug 05 12:07:39 2011
Return-Path: <ecos-bugs-return-8185-listarch-ecos-bugs=sources.redhat.com@sourceware.org>
Delivered-To: listarch-ecos-bugs@sources.redhat.com
Received: (qmail 11142 invoked by alias); 5 Aug 2011 12:07:37 -0000
Received: (qmail 11133 invoked by uid 22791); 5 Aug 2011 12:07:36 -0000
X-SWARE-Spam-Status: No, hits=-1.8 required=5.0
	tests=AWL,BAYES_00,SARE_SUB_ENC_UTF8
X-Spam-Check-By: sourceware.org
Received: from hagrid.ecoscentric.com (HELO mail.ecoscentric.com) (212.13.207.197)
    by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 05 Aug 2011 12:06:56 +0000
Received: from localhost (hagrid.ecoscentric.com [127.0.0.1])
	by mail.ecoscentric.com (Postfix) with ESMTP id 3B44B2F7800C
	for <ecos-bugs@ecos.sourceware.org>; Fri,  5 Aug 2011 13:06:55 +0100 (BST)
Received: from mail.ecoscentric.com ([127.0.0.1])
	by localhost (hagrid.ecoscentric.com [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id WGSH5Du5i2cs; Fri,  5 Aug 2011 13:06:50 +0100 (BST)
From: bugzilla-daemon@bugs.ecos.sourceware.org
To: ecos-bugs@ecos.sourceware.org
Subject: [Bug
 1001300]=?UTF-8?Q? problème de commutation des taches?X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: eCos
X-Bugzilla-Component: HAL
X-Bugzilla-Keywords:
X-Bugzilla-Severity: enhancement
X-Bugzilla-Who: benhajatef@yahoo.fr
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: low
X-Bugzilla-Assigned-To: unassigned@bugs.ecos.sourceware.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Changed-Fields:
In-Reply-To: <bug-1001300-13@http.bugs.ecos.sourceware.org/>
References: <bug-1001300-13@http.bugs.ecos.sourceware.org/>
X-Bugzilla-URL: http://bugs.ecos.sourceware.org/
Auto-Submitted: auto-generated
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Date: Fri, 05 Aug 2011 12:07:00 -0000
Message-Id: <20110805120650.457132F78006@mail.ecoscentric.com>
Mailing-List: contact ecos-bugs-help@sourceware.org; run by ezmlm
Precedence: bulk
List-Id: <ecos-bugs.sourceware.org>
List-Subscribe: <mailto:ecos-bugs-subscribe@sourceware.org>
List-Post: <mailto:ecos-bugs@sourceware.org>
List-Help: <mailto:ecos-bugs-help@sourceware.org>, <http://sourceware.org/lists.html#faqs>
Sender: ecos-bugs-owner@sourceware.org
Delivered-To: mailing list ecos-bugs@sourceware.org
X-SW-Source: 2011/txt/msg01095.txt.bz2
Content-length: 2330

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

--- Comment #5 from atef <benhajatef@yahoo.fr> 2011-08-05 13:06:45 BST ---
(In reply to comment #4)
> First of all I want to thank you for your help. Here is a description of the
> architecture that I used and debugger.
>  GdbServer tool is a software debugger for SocLib. It listens for TCP
> connection from Gnu GDB clients :GNU gdb 7.0 
> platform mips32_soclib contains:
>  *processor mips32 : It implements all instructions defined in the MIPS32
> architecture specification, with the following limitations:
> The floating point instructions are supported, FPU exception detection is
> partially implemented
> The Mips virtual memory instructions are not supported. The MMU is implemented
> as an external TLB (SoCLib generic).
> Both little-endian and big-endian implementations are available.
> Mips defines 6 interrupts lines. The handling and prioritization of the
> interrupts is deferred to software
>  *VciXicu:  memory mapped Hardware interrupt + Timer + IPI controller 
>  *Segment of Ram

(In reply to comment #4)
> First of all I want to thank you for your help. Here is a description of the
> architecture that I used and debugger.
>  GdbServer tool is a software debugger for SocLib. It listens for TCP
> connection from Gnu GDB clients :GNU gdb 7.0 
> platform mips32_soclib contains:
>  *processor mips32 : It implements all instructions defined in the MIPS32
> architecture specification, with the following limitations:
> The floating point instructions are supported, FPU exception detection is
> partially implemented
> The Mips virtual memory instructions are not supported. The MMU is implemented
> as an external TLB (SoCLib generic).
> Both little-endian and big-endian implementations are available.
> Mips defines 6 interrupts lines. The handling and prioritization of the
> interrupts is deferred to software
>  *VciXicu:  memory mapped Hardware interrupt + Timer + IPI controller 
>  *Segment of Ram

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
>From ecos-bugs-return-8186-listarch-ecos-bugs=sources.redhat.com@sourceware.org Fri Aug 05 12:07:40 2011
Return-Path: <ecos-bugs-return-8186-listarch-ecos-bugs=sources.redhat.com@sourceware.org>
Delivered-To: listarch-ecos-bugs@sources.redhat.com
Received: (qmail 11158 invoked by alias); 5 Aug 2011 12:07:38 -0000
Received: (qmail 11141 invoked by uid 22791); 5 Aug 2011 12:07:37 -0000
X-SWARE-Spam-Status: No, hits=-2.3 required=5.0
	tests=AWL,BAYES_00,RP_MATCHES_RCVD,SARE_SUB_ENC_UTF8
X-Spam-Check-By: sourceware.org
Received: from hagrid.ecoscentric.com (HELO mail.ecoscentric.com) (212.13.207.197)
    by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 05 Aug 2011 12:06:57 +0000
Received: by mail.ecoscentric.com (Postfix, from userid 48)
	id DE1122F78006; Fri,  5 Aug 2011 13:06:55 +0100 (BST)
X-Original-To: unassigned@bugs.ecos.sourceware.org
Delivered-To: unassigned@bugs.ecos.sourceware.org
From: bugzilla-daemon@bugs.ecos.sourceware.org
To: unassigned@bugs.ecos.sourceware.org
Subject: [Bug
 1001300]=?UTF-8?Q? problème de commutation des taches?X-Bugzilla-Reason: AssignedTo
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: eCos
X-Bugzilla-Component: HAL
X-Bugzilla-Keywords:
X-Bugzilla-Severity: enhancement
X-Bugzilla-Who: benhajatef@yahoo.fr
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: low
X-Bugzilla-Assigned-To: unassigned@bugs.ecos.sourceware.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Changed-Fields:
In-Reply-To: <bug-1001300-777@http.bugs.ecos.sourceware.org/>
References: <bug-1001300-777@http.bugs.ecos.sourceware.org/>
X-Bugzilla-URL: http://bugs.ecos.sourceware.org/
Auto-Submitted: auto-generated
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Date: Fri, 05 Aug 2011 12:07:00 -0000
Message-Id: <20110805120650.15EA62F78001@mail.ecoscentric.com>
Mailing-List: contact ecos-bugs-help@sourceware.org; run by ezmlm
Precedence: bulk
List-Id: <ecos-bugs.sourceware.org>
List-Subscribe: <mailto:ecos-bugs-subscribe@sourceware.org>
List-Post: <mailto:ecos-bugs@sourceware.org>
List-Help: <mailto:ecos-bugs-help@sourceware.org>, <http://sourceware.org/lists.html#faqs>
Sender: ecos-bugs-owner@sourceware.org
Delivered-To: mailing list ecos-bugs@sourceware.org
X-SW-Source: 2011/txt/msg01096.txt.bz2
Content-length: 2328

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

--- Comment #5 from atef <benhajatef@yahoo.fr> 2011-08-05 13:06:45 BST ---
(In reply to comment #4)
> First of all I want to thank you for your help. Here is a description of the
> architecture that I used and debugger.
>  GdbServer tool is a software debugger for SocLib. It listens for TCP
> connection from Gnu GDB clients :GNU gdb 7.0 
> platform mips32_soclib contains:
>  *processor mips32 : It implements all instructions defined in the MIPS32
> architecture specification, with the following limitations:
> The floating point instructions are supported, FPU exception detection is
> partially implemented
> The Mips virtual memory instructions are not supported. The MMU is implemented
> as an external TLB (SoCLib generic).
> Both little-endian and big-endian implementations are available.
> Mips defines 6 interrupts lines. The handling and prioritization of the
> interrupts is deferred to software
>  *VciXicu:  memory mapped Hardware interrupt + Timer + IPI controller 
>  *Segment of Ram

(In reply to comment #4)
> First of all I want to thank you for your help. Here is a description of the
> architecture that I used and debugger.
>  GdbServer tool is a software debugger for SocLib. It listens for TCP
> connection from Gnu GDB clients :GNU gdb 7.0 
> platform mips32_soclib contains:
>  *processor mips32 : It implements all instructions defined in the MIPS32
> architecture specification, with the following limitations:
> The floating point instructions are supported, FPU exception detection is
> partially implemented
> The Mips virtual memory instructions are not supported. The MMU is implemented
> as an external TLB (SoCLib generic).
> Both little-endian and big-endian implementations are available.
> Mips defines 6 interrupts lines. The handling and prioritization of the
> interrupts is deferred to software
>  *VciXicu:  memory mapped Hardware interrupt + Timer + IPI controller 
>  *Segment of Ram

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
>From ecos-bugs-return-8188-listarch-ecos-bugs=sources.redhat.com@sourceware.org Sat Aug 06 17:22:50 2011
Return-Path: <ecos-bugs-return-8188-listarch-ecos-bugs=sources.redhat.com@sourceware.org>
Delivered-To: listarch-ecos-bugs@sources.redhat.com
Received: (qmail 13310 invoked by alias); 6 Aug 2011 17:22:49 -0000
Received: (qmail 13302 invoked by uid 22791); 6 Aug 2011 17:22:49 -0000
X-SWARE-Spam-Status: No, hits=-2.2 required=5.0
	tests=AWL,BAYES_00,RP_MATCHES_RCVD,SARE_SUB_ENC_UTF8
X-Spam-Check-By: sourceware.org
Received: from hagrid.ecoscentric.com (HELO mail.ecoscentric.com) (212.13.207.197)
    by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 06 Aug 2011 17:22:32 +0000
Received: by mail.ecoscentric.com (Postfix, from userid 48)
	id 9D09B2F78008; Sat,  6 Aug 2011 18:22:30 +0100 (BST)
X-Original-To: unassigned@bugs.ecos.sourceware.org
Delivered-To: unassigned@bugs.ecos.sourceware.org
From: bugzilla-daemon@bugs.ecos.sourceware.org
To: unassigned@bugs.ecos.sourceware.org
Subject: [Bug
 1001300]=?UTF-8?Q? problème de commutation des taches?X-Bugzilla-Reason: AssignedTo
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: eCos
X-Bugzilla-Component: HAL
X-Bugzilla-Keywords:
X-Bugzilla-Severity: enhancement
X-Bugzilla-Who: ecos@hotmail.co.uk
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: low
X-Bugzilla-Assigned-To: unassigned@bugs.ecos.sourceware.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Changed-Fields:
In-Reply-To: <bug-1001300-777@http.bugs.ecos.sourceware.org/>
References: <bug-1001300-777@http.bugs.ecos.sourceware.org/>
X-Bugzilla-URL: http://bugs.ecos.sourceware.org/
Auto-Submitted: auto-generated
Content-Type: text/plain; charset="UTF-8"
MIME-Version: 1.0
Date: Sat, 06 Aug 2011 17:22:00 -0000
Message-Id: <20110806172224.AE1B42F7800B@mail.ecoscentric.com>
Mailing-List: contact ecos-bugs-help@sourceware.org; run by ezmlm
Precedence: bulk
List-Id: <ecos-bugs.sourceware.org>
List-Subscribe: <mailto:ecos-bugs-subscribe@sourceware.org>
List-Post: <mailto:ecos-bugs@sourceware.org>
List-Help: <mailto:ecos-bugs-help@sourceware.org>, <http://sourceware.org/lists.html#faqs>
Sender: ecos-bugs-owner@sourceware.org
Delivered-To: mailing list ecos-bugs@sourceware.org
X-SW-Source: 2011/txt/msg01098.txt.bz2
Content-length: 747

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id\x1001300

--- Comment #6 from Christophe Coutand <ecos@hotmail.co.uk> 2011-08-06 18:22:20 BST ---
When browsing the MIPS32 architecture of SoClib, i can't see that the
coprocessor 0 count / compare registers are triggering interrupts. You should
check that by asking on the SoClib mailing list.

As a workaround, you can implement the eCos RTC clock using the vci-xicu timer
instead.

BTW, could you provide the ecos.ecc you are using to build eCos?

Christophe

--
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug 1001300] problème de commutation des taches
  2011-08-01  2:54 [Bug 1001300] New: " bugzilla-daemon
  2011-08-02 13:38 ` [Bug 1001300] " bugzilla-daemon
@ 2011-08-03  0:51 ` bugzilla-daemon
  2011-08-04  4:16 ` bugzilla-daemon
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 15+ messages in thread
From: bugzilla-daemon @ 2011-08-03  0:51 UTC (permalink / raw)
  To: ecos-bugs

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

--- Comment #3 from Christophe Coutand <ecos@hotmail.co.uk> 2011-08-03 01:50:54 BST ---
I don't know enough about the MIPS architecture to give you pointers. What type
of debugging facility do you have with the simulator? Can you set breakpoints
for debugging? If you get interrupts, you should hit the
__default_interrupt_vsr function call. The RTC clock is default mapped as
following:

Look inside packages\hal\mips\arch\current\include\hal_intr.h:

// The vector used by the Real time clock. The default here is to use
// interrupt 5, which is connected to the counter/comparator registers
// in many MIPS variants.

#ifndef CYGNUM_HAL_INTERRUPT_RTC
#define CYGNUM_HAL_INTERRUPT_RTC            CYGNUM_HAL_INTERRUPT_5
#endif

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug 1001300] problème de commutation des taches
  2011-08-01  2:54 [Bug 1001300] New: " bugzilla-daemon
@ 2011-08-02 13:38 ` bugzilla-daemon
  2011-08-03  0:51 ` bugzilla-daemon
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 15+ messages in thread
From: bugzilla-daemon @ 2011-08-02 13:38 UTC (permalink / raw)
  To: ecos-bugs

Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001300

--- Comment #2 from atef <benhajatef@yahoo.fr> 2011-08-02 14:37:56 BST ---
(In reply to comment #1)
> Can you tell if the application crashes? Is the simulator correctly handling
> the interrupt that is used for the kernel RTC? if not, the threads will never
> go behind the cyg_thread_delay() call.
> 
> Christophe

how we can test the simulator correctly handling the interrupt ??

-- 
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2011-08-14  1:47 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-1001300-777@http.bugs.ecos.sourceware.org/>
2011-08-01 10:07 ` [Bug 1001300] problème de commutation des taches bugzilla-daemon
2011-08-02 13:38 ` bugzilla-daemon
2011-08-03  0:51 ` bugzilla-daemon
2011-08-07  3:40 ` bugzilla-daemon
2011-08-07  4:16 ` bugzilla-daemon
2011-08-08  2:38 ` bugzilla-daemon
2011-08-14  1:47 ` bugzilla-daemon
2011-08-01  2:54 [Bug 1001300] New: " bugzilla-daemon
2011-08-02 13:38 ` [Bug 1001300] " bugzilla-daemon
2011-08-03  0:51 ` bugzilla-daemon
2011-08-04  4:16 ` bugzilla-daemon
2011-08-06 17:22 ` bugzilla-daemon
2011-08-07  3:40 ` bugzilla-daemon
2011-08-07  4:16 ` bugzilla-daemon
2011-08-08  2:38 ` bugzilla-daemon
2011-08-14  1:47 ` bugzilla-daemon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).