public inbox for ecos-bugs@sourceware.org
help / color / mirror / Atom feed
From: bugzilla-daemon@bugs.ecos.sourceware.org
To: unassigned@bugs.ecos.sourceware.org
Subject: [Bug 1001300] problème de commutation des taches
Date: Mon, 08 Aug 2011 02:38:00 -0000	[thread overview]
Message-ID: <20110808023822.976322F78001@mail.ecoscentric.com> (raw)
In-Reply-To: <bug-1001300-777@http.bugs.ecos.sourceware.org/>

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.


  parent reply	other threads:[~2011-08-08  2:38 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <bug-1001300-777@http.bugs.ecos.sourceware.org/>
2011-08-01 10:07 ` 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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110808023822.976322F78001@mail.ecoscentric.com \
    --to=bugzilla-daemon@bugs.ecos.sourceware.org \
    --cc=unassigned@bugs.ecos.sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).